zhenxun_bot/plugins/alapi/cover.py

54 lines
1.5 KiB
Python
Raw Normal View History

2021-06-24 15:32:06 +08:00
from nonebot import on_command
2021-08-17 23:17:08 +08:00
from nonebot.adapters.cqhttp import Bot, MessageEvent, Message, GroupMessageEvent
2021-06-24 15:32:06 +08:00
from nonebot.typing import T_State
from configs.config import ALAPI_TOKEN
2021-07-30 21:21:51 +08:00
from utils.message_builder import image
2021-06-30 19:50:55 +08:00
from utils.utils import get_message_text
2021-08-17 23:17:08 +08:00
from .data_source import get_data
2021-06-24 15:32:06 +08:00
from services.log import logger
2021-10-03 14:24:07 +08:00
__zx_plugin_name__ = 'b封面'
__plugin_usage__ = """usage
b封面 [链接/av/bv/cv/直播id]
示例b封面 av86863038
"""
__plugin_des__ = '快捷的b站视频封面获取方式'
__plugin_cmd__ = ['b封面/B封面']
__plugin_type__ = ('一些工具',)
__plugin_version__ = 0.1
__plugin_author__ = 'HibiKier'
__plugin_settings__ = {
"level": 5,
"default_status": True,
"limit_superuser": False,
"cmd": ["b封面", 'B封面'],
}
2021-06-24 15:32:06 +08:00
2021-06-30 19:50:55 +08:00
cover = on_command('b封面', aliases={'B封面'}, priority=5, block=True)
2021-06-24 15:32:06 +08:00
cover_url = 'https://v2.alapi.cn/api/bilibili/cover'
@cover.handle()
async def _(bot: Bot, event: MessageEvent, state: T_State):
msg = get_message_text(event.json())
params = {
'token': ALAPI_TOKEN,
'c': msg
}
data, code = await get_data(cover_url, params)
if code != 200:
await cover.finish(data, at_sender=True)
data = data['data']
title = data['title']
img = data['cover']
await cover.send(Message(f'title{title}\n{image(img)}'))
logger.info(
2021-08-17 23:17:08 +08:00
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'})"
2021-06-24 15:32:06 +08:00
f" 获取b站封面: {title} url{img}")