NoneBot2插件——今日人品
參考:https://v2.nonebot.dev/api/plugin.html
on_command(cmd, rule=None, aliases=None, **kwargs)函數
- 說明
注冊一個消息事件響應器,并且當消息以指定命令開頭時響應。
命令匹配規則參考: 命令形式匹配
-
參數
-
cmd: Union[str, Tuple[str, …]]: 指定命令內容
-
rule: Optional[Union[Rule, T_RuleChecker]]: 事件響應規則
-
aliases: Optional[Set[Union[str, Tuple[str, …]]]]: 命令別名
-
permission: Optional[Permission]: 事件響應權限
-
handlers: Optional[List[Union[T_Handler, Handler]]]: 事件處理函數列表
-
temp: bool: 是否為臨時事件響應器(僅執行一次)
-
priority: int: 事件響應器優先級
-
block: bool: 是否阻止事件向更低優先級傳遞
-
state: Optional[T_State]: 默認 state
-
state_factory: Optional[T_StateFactory]: 默認 state 的工廠函數
-
-
返回
-Type[Matcher]
__init__.py 文件
import random from datetime import date from nonebot.plugin import on_command, export from nonebot.adapters.cqhttp import Bot, Event from nonebot.adapters.cqhttp.message import Messageexport = export() export.name = '今日人品' export.usage = '''/jrrp'''def luck_simple(num):if num < 18:return '大吉'elif num < 53:return '吉'elif num < 58:return '半吉'elif num < 62:return '小吉'elif num < 65:return '末小吉'elif num < 71:return '末吉'else:return '兇'"""ON_COMMAND ON_COMMAND是MFC提供的宏,實現命令消息(如菜單、工具欄的選項消息)的消息響應函數的注冊。 使用方法為ON_COMMAND(消息ID, 響應函數名) 注冊了響應函數之后,一旦主窗口接收到該命令消息,程序就會調用我們提供的消息響應函數進行處理""" jrrp = on_command('jrrp', priority=50) # 接收關鍵字 """ 在上方代碼中,我們注冊了一個事件響應器 Matcher,它由幾個部分組成: on_command 注冊一個消息類型的命令處理器 "天氣" 指定 jrrp 參數 - 命令名 rule 補充事件響應器的匹配規則 priority 事件響應器優先級 block 是否阻止事件傳遞 """"""handle() 簡單的為事件響應器添加一個事件處理函數,這個函數將會在上一個處理函數正常返回執行完畢后立即執行。 """ @jrrp.handle() # 監聽 jrrp async def jrrp_handle(bot: Bot, event: Event):rnd = random.Random()rnd.seed((int(date.today().strftime("%y%m%d")) * 45) * (int(event.get_user_id()) * 55))lucknum = rnd.randint(1, 100) # 1 到 100的數# 返回QQ號, 發送消息await jrrp.finish(message=Message(f'[CQ:at,qq={event.get_user_id()}]您今日的幸運指數是{lucknum}/100(越低越好),為"{luck_simple(lucknum)}"'))文件編寫完成后,存放在 plugins 目錄下。
調用結果:
總結
以上是生活随笔為你收集整理的NoneBot2插件——今日人品的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NoneBot2插件——打印系统状态
- 下一篇: NoneBot2插件——进群欢迎