Compare commits
4 Commits
chengyufix
...
v0.6.4
| Author | SHA1 | Date | |
|---|---|---|---|
| 7ebcb8add4 | |||
| e18cc82792 | |||
| eb28cd0a0c | |||
| 2d688a6ed6 |
@ -45,7 +45,7 @@
|
|||||||
- 帧数必须为正整数(> 0)。
|
- 帧数必须为正整数(> 0)。
|
||||||
- 若原始帧数 ≤ 指定帧数,则保留全部帧。
|
- 若原始帧数 ≤ 指定帧数,则保留全部帧。
|
||||||
|
|
||||||
--s <速度>(可选)
|
--speed <速度>(可选)
|
||||||
- 调整 gif 图的速度。若为负数,则代表倒放
|
- 调整 gif 图的速度。若为负数,则代表倒放
|
||||||
|
|
||||||
使用方式
|
使用方式
|
||||||
|
|||||||
39
konabot/plugins/bilibili_fetch/__init__.py
Normal file
39
konabot/plugins/bilibili_fetch/__init__.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import re
|
||||||
|
|
||||||
|
from nonebot import on_message
|
||||||
|
from nonebot_plugin_alconna import Reference, Reply, UniMsg
|
||||||
|
|
||||||
|
from nonebot.adapters import Event
|
||||||
|
|
||||||
|
|
||||||
|
matcher_fix = on_message()
|
||||||
|
|
||||||
|
pattern = (
|
||||||
|
r"^(?:(?:av|cv)\d+|BV[a-zA-Z0-9]{10})|"
|
||||||
|
r"(?:b23\.tv|bili(?:22|23|33|2233)\.cn|\.bilibili\.com|QQ小程序(?:&#93;|]|\])哔哩哔哩).{0,500}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@matcher_fix.handle()
|
||||||
|
async def _(msg: UniMsg, event: Event):
|
||||||
|
to_search = msg.exclude(Reply, Reference).dump(json=True)
|
||||||
|
to_search2 = msg.exclude(Reply, Reference).extract_plain_text()
|
||||||
|
if not re.search(pattern, to_search) and not re.search(pattern, to_search2):
|
||||||
|
return
|
||||||
|
|
||||||
|
from nonebot_plugin_analysis_bilibili import handle_analysis
|
||||||
|
|
||||||
|
await handle_analysis(event)
|
||||||
|
|
||||||
|
# b_url: str
|
||||||
|
# b_page: str | None
|
||||||
|
# b_time: str | None
|
||||||
|
#
|
||||||
|
# from nonebot_plugin_analysis_bilibili.analysis_bilibili import extract as bilibili_extract
|
||||||
|
#
|
||||||
|
# b_url, b_page, b_time = bilibili_extract(to_search)
|
||||||
|
# if b_url is None:
|
||||||
|
# return
|
||||||
|
#
|
||||||
|
# await matcher_fix.send(await UniMessage().text(b_url).export())
|
||||||
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
import re
|
|
||||||
from loguru import logger
|
|
||||||
from nonebot import on_message
|
|
||||||
from nonebot_plugin_alconna import Reference, Reply, UniMsg
|
|
||||||
|
|
||||||
from nonebot.adapters import Event
|
|
||||||
|
|
||||||
|
|
||||||
matcher_fix = on_message()
|
|
||||||
|
|
||||||
pattern = (
|
|
||||||
r"^(?:(?:av|cv)\d+|BV[a-zA-Z0-9]{10})|"
|
|
||||||
r"(?:b23\.tv|bili(?:22|23|33|2233)\.cn|\.bilibili\.com|QQ小程序(?:&#93;|]|\])哔哩哔哩).{0,500}"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@matcher_fix.handle()
|
|
||||||
async def _(msg: UniMsg, event: Event):
|
|
||||||
to_search = msg.exclude(Reply, Reference).dump(json=True)
|
|
||||||
if not re.search(pattern, to_search):
|
|
||||||
return
|
|
||||||
logger.info("检测到有 Bilibili 相关的消息,直接进行一个调用")
|
|
||||||
_module = __import__("nonebot_plugin_analysis_bilibili")
|
|
||||||
await _module.handle_analysis(event)
|
|
||||||
|
|
||||||
@ -99,17 +99,17 @@ evt = on_alconna(Alconna(
|
|||||||
), use_cmd_start=True, use_cmd_sep=False, skip_for_unmatch=True)
|
), use_cmd_start=True, use_cmd_sep=False, skip_for_unmatch=True)
|
||||||
|
|
||||||
@evt.handle()
|
@evt.handle()
|
||||||
async def _(event: BaseEvent):
|
async def play_game(event: BaseEvent, force = False):
|
||||||
global NOW_PLAYING, LAST_CHAR, INITED
|
global NOW_PLAYING, LAST_CHAR, INITED
|
||||||
if not be_able_to_play():
|
if NOW_PLAYING:
|
||||||
|
await evt.send(await UniMessage().text("当前已有成语接龙游戏在进行中,请稍后再试!").export())
|
||||||
|
return
|
||||||
|
if not be_able_to_play() and not force:
|
||||||
await evt.send(await UniMessage().text("玩玩玩,就知道玩,快去睡觉!").export())
|
await evt.send(await UniMessage().text("玩玩玩,就知道玩,快去睡觉!").export())
|
||||||
return
|
return
|
||||||
if not INITED:
|
if not INITED:
|
||||||
init_lexicon()
|
init_lexicon()
|
||||||
INITED = True
|
INITED = True
|
||||||
if NOW_PLAYING:
|
|
||||||
await evt.send(await UniMessage().text("当前已有成语接龙游戏在进行中,请稍后再试!").export())
|
|
||||||
return
|
|
||||||
NOW_PLAYING = True
|
NOW_PLAYING = True
|
||||||
await evt.send(await UniMessage().text("你小子,还真有意思!\n好,成语接龙游戏开始!我说一个成语,请大家接下去!").export())
|
await evt.send(await UniMessage().text("你小子,还真有意思!\n好,成语接龙游戏开始!我说一个成语,请大家接下去!").export())
|
||||||
# 选择一个随机成语
|
# 选择一个随机成语
|
||||||
@ -118,6 +118,15 @@ async def _(event: BaseEvent):
|
|||||||
# 发布成语
|
# 发布成语
|
||||||
await evt.send(await UniMessage().text(f"第一个成语:「{idiom}」,请接!").export())
|
await evt.send(await UniMessage().text(f"第一个成语:「{idiom}」,请接!").export())
|
||||||
|
|
||||||
|
evt = on_alconna(Alconna(
|
||||||
|
"老子就是要玩成语接龙!!!"
|
||||||
|
), use_cmd_start=True, use_cmd_sep=False, skip_for_unmatch=True)
|
||||||
|
|
||||||
|
@evt.handle()
|
||||||
|
async def force_play_game(event: BaseEvent):
|
||||||
|
await play_game(event, force=True)
|
||||||
|
|
||||||
|
|
||||||
evt = on_alconna(Alconna(
|
evt = on_alconna(Alconna(
|
||||||
"不玩了"
|
"不玩了"
|
||||||
), use_cmd_start=True, use_cmd_sep=False, skip_for_unmatch=True)
|
), use_cmd_start=True, use_cmd_sep=False, skip_for_unmatch=True)
|
||||||
@ -183,13 +192,22 @@ async def _(event: BaseEvent, msg: UniMsg):
|
|||||||
|
|
||||||
async def handle_send_info(event: BaseEvent, msg: UniMsg):
|
async def handle_send_info(event: BaseEvent, msg: UniMsg):
|
||||||
global NOW_PLAYING, LAST_CHAR, SCORE_BOARD, ALL_BUFF_SCORE
|
global NOW_PLAYING, LAST_CHAR, SCORE_BOARD, ALL_BUFF_SCORE
|
||||||
if not NOW_PLAYING:
|
|
||||||
return
|
|
||||||
if LOCK:
|
|
||||||
return
|
|
||||||
user_idiom = msg.extract_plain_text().strip()
|
user_idiom = msg.extract_plain_text().strip()
|
||||||
if(user_idiom not in ALL_IDIOMS and user_idiom not in ALL_WORDS):
|
if(user_idiom not in ALL_IDIOMS and user_idiom not in ALL_WORDS):
|
||||||
await evt.send(await UniMessage().text("接不上!这个不一样!").export())
|
# 扣0.1分
|
||||||
|
if isinstance(event, DiscordMessageEvent):
|
||||||
|
user_id = str(event.author.id)
|
||||||
|
user_name = str(event.author.name)
|
||||||
|
else:
|
||||||
|
user_id = str(event.get_user_id())
|
||||||
|
user_name = str(event.get_user_id())
|
||||||
|
if user_id not in SCORE_BOARD:
|
||||||
|
SCORE_BOARD[user_id] = {
|
||||||
|
"name": user_name,
|
||||||
|
"score": 0
|
||||||
|
}
|
||||||
|
SCORE_BOARD[user_id]["score"] -= 0.1
|
||||||
|
await evt.send(await UniMessage().at(user_id).text("接不上!这个不一样!你被扣了 0.1 分!").export())
|
||||||
return
|
return
|
||||||
# 成功接上
|
# 成功接上
|
||||||
if isinstance(event, DiscordMessageEvent):
|
if isinstance(event, DiscordMessageEvent):
|
||||||
|
|||||||
Reference in New Issue
Block a user