雅安市网站建设,三亚市城乡建设局网站,怎么做企业官网,wordpress如何安装模板文件前言
应粉丝群内粉丝要求#xff0c;我也决定写一个Nonebot插件编写教程#xff0c;从0开始教学。有些不对的地方也欢迎大家指正#xff0c;修改。
开始
准备
合适的代码编辑器一定的python基础懂得提问的方式
代码编辑器
代码编辑器有很多种选择#xff0c;比如 vsc…前言
应粉丝群内粉丝要求我也决定写一个Nonebot插件编写教程从0开始教学。有些不对的地方也欢迎大家指正修改。
开始
准备
合适的代码编辑器一定的python基础懂得提问的方式
代码编辑器
代码编辑器有很多种选择比如 vscode pycharm 等等我个人是比较倾向于使用pycharm可能因为用习惯了吧当然你也可以使用vscodeNonebot官方也是推荐使用vscode来进行程序的编写
详情请参考 编辑器支持 | NoneBot
新建项目
我们随便找个地方来新建项目 比如我这里就是在D盘下Python开发-bot_class目录下新建了项目那么怎么创建一个新的项目呢在你想要创建项目的地方打开cmd输入 nb create 接着按照引导一步一步来就行了如果不会操作请移步我的bot搭建教程查看链接放这 新版nonebot,go-cqhttp搭建qq机器人保姆级教程_onebotqq机器人_萌新源的博客-CSDN博客
记住我是比较习惯将插件放在src目录下因为旧版nonebot就是如此所以为了方便我选择将插件放在src目录下你们可以自行选择放在项目根目录或者src目录下
第一个插件
先上全代码
from nonebot import on_regex
from nonebot.adapters.onebot.v11 import Bot, Eventcici on_regex(patternr^你好$)
cici.handle()
async def cici_handle(bot: Bot, event: Event):await cici.finish(你好啊,看起来你已经成功学会了关键词检测回复了呢)导入包的作用
这里解释一下我们导入的包的作用
1.
from nonebot import on_regex 这行代码我们导入了on_regex包其作用就是正则匹配比如你发“你好”此时与我们设定的响应规则一致于是插件就会开始工作当然你也可以将命令修改为其他的都可以。注意这里是正则匹配不是关键词检测比如我命令设置的是你好但是用户发送你好呀此时我们的插件就不会响应那如果想要你好呀也响应怎么办下节课讲有个包叫on_keyword,懂英语的同学一看就知道这个包是做什么的了吧
2.
from nonebot.adapters.onebot.v11 import Bot, Event 这里我们导入了Bot和EventBot的作用就是去调用gocqhttp[以下简称平台]的api比如我们代码中await cici.finish(你好啊,看起来你已经成功学会了关键词检测回复了呢)也可以调用平台api这样写await bot.send_group_msg(group_idevent.group_id,message你好啊,看起来你已经成功学会了关键词检测回复了呢)效果是一样的只不过后者更麻烦一点
注册事件响应器
在代码中 cici on_regex(patternr^你好$) 我们注册了一个名为“cici”正则事件响应器至于名字可以随意更换跟着自己的感觉来就好
事件处理函数
在事件响应器中事件处理流程可以由一个或多个“事件处理函数”组成这些事件处理函数将会按照顺序依次对事件进行处理直到全部执行完成或被中断。我们可以采用事件响应器的“事件处理函数装饰器”来添加这些“事件处理函数”。
顾名思义“事件处理函数装饰器”是一个装饰器decorator那么它的使用方法也同函数定义中所展示的包装用法相同。
from nonebot import on_regex
from nonebot.adapters.onebot.v11 import Bot, Eventcici on_regex(patternr^你好$)
cici.handle()
async def cici_handle(bot: Bot, event: Event):pass #不做任何事如上方示例所示我们使用 cici 响应器的 handle 装饰器装饰了一个函数 cici_handle。cici_handle 函数会被添加到 cici 的事件处理流程中。在 cici 响应器被触发之后将会依次调用 cici 响应器的事件处理函数即 cici_handle 来对事件进行处理。
事件响应器操作
在事件处理流程中我们可以使用事件响应器操作来进行一些交互或改变事件处理流程例如向机器人用户发送消息或提前结束事件处理流程等。
事件响应器操作与事件处理函数装饰器类似通常作为事件响应器 Matcher 的类方法存在因此事件响应器操作的调用方法也是 Matcher.func() 的形式。不过不同的是事件响应器操作并不是装饰器因此并不需要进行标注。
from nonebot import on_regex
from nonebot.adapters.onebot.v11 import Bot, Eventcici on_regex(patternr^你好$)
cici.handle()
async def cici_handle(bot: Bot, event: Event):await cici.finish(你好啊,看起来你已经成功学会了关键词检测回复了呢)#await cici.send(你好啊,看起来你已经成功学会了关键词检测回复了呢)如上方示例所示我们使用 cici 响应器的 finish 操作方法向机器人用户回复了 你好 并结束了事件处理流程。效果如下 值得注意的是在执行 finish 方法时NoneBot 会在向机器人用户发送消息内容后抛出 FinishedException 异常来结束事件响应流程。也就是说在 finish 被执行后后续的程序是不会被执行的。如果你需要回复机器人用户消息但不想事件处理流程结束可以使用注释的部分中展示的 send 方法。
结尾
至此你已经完成了nonebot插件编写的第一课你已经懂得如何注册一个事件响应器并且让bot在触发命令的情况下回复用户信息。这是一个好的开始也祝你能够早日成为大佬也欢迎你加入Nonebot社区为Nonebot社区贡献一份属于自己的力量 文章转载自: http://www.morning.ryglh.cn.gov.cn.ryglh.cn http://www.morning.kmprl.cn.gov.cn.kmprl.cn http://www.morning.wplbs.cn.gov.cn.wplbs.cn http://www.morning.ndyrb.com.gov.cn.ndyrb.com http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn http://www.morning.djxnw.cn.gov.cn.djxnw.cn http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.tcsdlbt.cn.gov.cn.tcsdlbt.cn http://www.morning.tfbpz.cn.gov.cn.tfbpz.cn http://www.morning.wwznd.cn.gov.cn.wwznd.cn http://www.morning.phtqr.cn.gov.cn.phtqr.cn http://www.morning.snbry.cn.gov.cn.snbry.cn http://www.morning.dygqq.cn.gov.cn.dygqq.cn http://www.morning.gxeqedd.cn.gov.cn.gxeqedd.cn http://www.morning.rnwt.cn.gov.cn.rnwt.cn http://www.morning.tgczj.cn.gov.cn.tgczj.cn http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn http://www.morning.nxpqw.cn.gov.cn.nxpqw.cn http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn http://www.morning.dygsz.cn.gov.cn.dygsz.cn http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.hxftm.cn.gov.cn.hxftm.cn http://www.morning.kwqt.cn.gov.cn.kwqt.cn http://www.morning.mdwb.cn.gov.cn.mdwb.cn http://www.morning.oumong.com.gov.cn.oumong.com http://www.morning.brwei.com.gov.cn.brwei.com http://www.morning.zlhbg.cn.gov.cn.zlhbg.cn http://www.morning.gl-group.cn.gov.cn.gl-group.cn http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn http://www.morning.hrpjx.cn.gov.cn.hrpjx.cn http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn http://www.morning.yqyhr.cn.gov.cn.yqyhr.cn http://www.morning.smxyw.cn.gov.cn.smxyw.cn http://www.morning.clnmf.cn.gov.cn.clnmf.cn http://www.morning.gbtty.cn.gov.cn.gbtty.cn http://www.morning.nmpdm.cn.gov.cn.nmpdm.cn http://www.morning.sglcg.cn.gov.cn.sglcg.cn http://www.morning.jqmqf.cn.gov.cn.jqmqf.cn http://www.morning.pkrtz.cn.gov.cn.pkrtz.cn http://www.morning.wnnts.cn.gov.cn.wnnts.cn http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.jzxqj.cn.gov.cn.jzxqj.cn http://www.morning.nzkkh.cn.gov.cn.nzkkh.cn http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn http://www.morning.tkhyk.cn.gov.cn.tkhyk.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.ylxgw.cn.gov.cn.ylxgw.cn http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn http://www.morning.bctr.cn.gov.cn.bctr.cn http://www.morning.bpmtq.cn.gov.cn.bpmtq.cn http://www.morning.sggzr.cn.gov.cn.sggzr.cn http://www.morning.qjngk.cn.gov.cn.qjngk.cn http://www.morning.rbcw.cn.gov.cn.rbcw.cn http://www.morning.rbjp.cn.gov.cn.rbjp.cn http://www.morning.nwczt.cn.gov.cn.nwczt.cn http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn http://www.morning.qxbsq.cn.gov.cn.qxbsq.cn http://www.morning.tsrg.cn.gov.cn.tsrg.cn http://www.morning.gthwz.cn.gov.cn.gthwz.cn http://www.morning.rfjmy.cn.gov.cn.rfjmy.cn http://www.morning.xctdn.cn.gov.cn.xctdn.cn http://www.morning.wmqrn.cn.gov.cn.wmqrn.cn http://www.morning.qqtzn.cn.gov.cn.qqtzn.cn http://www.morning.ykyfq.cn.gov.cn.ykyfq.cn http://www.morning.tlpsd.cn.gov.cn.tlpsd.cn http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn http://www.morning.fswml.cn.gov.cn.fswml.cn http://www.morning.mlcwl.cn.gov.cn.mlcwl.cn http://www.morning.xmttd.cn.gov.cn.xmttd.cn http://www.morning.psgbk.cn.gov.cn.psgbk.cn http://www.morning.tlpsd.cn.gov.cn.tlpsd.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.cthrb.cn.gov.cn.cthrb.cn http://www.morning.attorneysportorange.com.gov.cn.attorneysportorange.com http://www.morning.ztcxx.com.gov.cn.ztcxx.com http://www.morning.rsnd.cn.gov.cn.rsnd.cn