summaryrefslogtreecommitdiff
path: root/ATRI/plugins/rich/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/rich/__init__.py')
-rw-r--r--ATRI/plugins/rich/__init__.py93
1 files changed, 45 insertions, 48 deletions
diff --git a/ATRI/plugins/rich/__init__.py b/ATRI/plugins/rich/__init__.py
index 9d5d6a9..cd4c5bd 100644
--- a/ATRI/plugins/rich/__init__.py
+++ b/ATRI/plugins/rich/__init__.py
@@ -1,7 +1,10 @@
import re
import json
+from random import choice
from aiohttp.client import ClientSession
+
from nonebot.adapters.cqhttp import Bot, MessageEvent
+from nonebot.adapters.cqhttp.message import MessageSegment
from ATRI.service import Service as sv
from ATRI.utils.request import get_bytes
@@ -11,6 +14,10 @@ from .data_source import dec
temp_list = []
+img_url = [
+ "https://cdn.jsdelivr.net/gh/Kyomotoi/CDN@master/project/ATRI/fkrich.png",
+ "https://cdn.jsdelivr.net/gh/Kyomotoi/CDN@master/project/ATRI/xixi.jpg"
+]
bilibili_rich = sv.on_message()
@@ -18,59 +25,49 @@ bilibili_rich = sv.on_message()
@bilibili_rich.handle()
async def _bilibili_rich(bot: Bot, event: MessageEvent) -> None:
global temp_list
- msg = str(event.raw_message).replace("\\", "")
- bv = False
-
- if "qqdocurl" not in msg:
- if "av" in msg:
- try:
+ try:
+ msg = str(event.raw_message).replace("\\", "")
+ bv = False
+
+ if "qqdocurl" not in msg:
+ if "av" in msg:
av = re.findall(r"(av\d+)", msg)[0].replace('av', '')
- except:
- return
- else:
- try:
+ else:
bv = re.findall(r"(BV\w+)", msg)
av = str(dec(bv[0]))
- except:
- return
- else:
- patt = r"(?:(?:https?|ftp):\/\/)?[\w/\-?=%.]+\.[\w/\-&?=%.]+"
- bv_url = re.findall(patt, msg)
- bv_url = bv_url[3]
- async with ClientSession() as session:
- async with session.get(
- url=bv_url) as r:
- bv = re.findall(r"(BV\w+)", str(r.url))
- av = dec(bv[0])
-
- if not bv:
- if "av" in msg:
- try:
+ else:
+ patt = r"(?:(?:https?|ftp):\/\/)?[\w/\-?=%.]+\.[\w/\-&?=%.]+"
+ bv_url = re.findall(patt, msg)
+ bv_url = bv_url[3]
+ async with ClientSession() as session:
+ async with session.get(url=bv_url) as r:
+ bv = re.findall(r"(BV\w+)", str(r.url))
+ av = dec(bv[0])
+
+ if not bv:
+ if "av" in msg:
av = re.findall(r"(av\d+)", msg)[0].replace('av', '')
- except:
+ else:
return
- else:
+
+ if count_list(temp_list, av) == 4:
+ await bot.send(event, "你是怕别人看不到么发这么多次?")
+ temp_list = del_list_aim(temp_list, av)
return
-
- if count_list(temp_list, av) == 4:
- await bot.send(event, "你是怕别人看不到么发这么多次?")
- temp_list = del_list_aim(temp_list, av)
- return
-
- temp_list.append(av)
-
- try:
+
+ temp_list.append(av)
+
URL = f"https://api.kyomotoi.moe/api/bilibili/v2/?aid={av}"
- except:
+ data = json.loads(await get_bytes(URL))['data']
+ repo = (
+ f"{data['bvid']} INFO:\n"
+ f"Title: {data['title']}\n"
+ f"Link: {data['short_link']}\n"
+ "にまねげぴのTencent rich!"
+ )
+ await bot.send(
+ event,
+ MessageSegment.image(file=choice(img_url)))
+ await bilibili_rich.finish(repo)
+ except BaseException:
return
- data = json.loads(await get_bytes(URL))['data']
- repo = (
- f"{av} INFO:\n"
- f"Title: {data['title']}\n"
- f"Bid: {data['bvid']}\n"
- f"View: {data['stat']['view']} Like: {data['stat']['like']}\n"
- f"Coin: {data['stat']['coin']} Share: {data['stat']['share']}\n"
- f"Link: {data['short_link']}\n"
- "にまねげぴのTencent rich!"
- )
- await bilibili_rich.finish(repo)