Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

YiriMiraiProject/Trigger

Repository files navigation

Trigger

此项目隶属于 YiriMirai 的拓展模块。

事件触发器:提供更多处理事件的方式。

目前已经实现的有两种:中断控制器和事件接收控制器。

安装

pip install yiri-mirai-trigger
# 或者使用 poetry
poetry add yiri-mirai-trigger

使用

中断控制器

from mirai_extensions.trigger import Trigger, InterruptControl
inc = InterruptControl(bot)
@bot.on(FriendMessage)
async def on_friend_message(event: FriendMessage):
 if str(event.message_chain).strip() == '你是谁':
 await bot.send(event, '我是 Yiri。你呢?')
 @Trigger(FriendMessage)
 async def trigger(event_new: FriendMessage):
 if event.sender.id == event_new.sender.id:
 msg = str(event.message_chain)
 if msg.startswith('我是'):
 return msg[2:]
 name = await inc.wait(trigger, timeout=60.)
 if name:
 await bot.send(event, f'你好,{name}。')

事件接收控制器

hdc = HandlerControl(bot)
@Trigger(FriendMessage)
async def trigger(event: FriendMessage):
 msg = str(event.message_chain)
 if msg.startswith('我是'):
 return msg[2:]
@hdc.on(trigger)
async def handler(event: FriendMessage, payload: str):
 ...

更多信息,请参考文档API 文档

开源协议

本项目采用 AGPL-3.0 协议。

请注意,AGPL-3.0 是传染性协议。如果你的项目引用了本项目,请在发布时公开源代码,并同样采用 AGPL-3.0 协议。

About

事件触发器:提供更多处理事件的方式。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /