nonebot2聊天机器人插件10:迁移至nonebot2.0.0b5
nonebot2聊天机器人插件10:迁移至nonebot2.0.0b5
- 1. 版本升级
- 2. go-cqhttp后端调整
- 3. nonebot2前端改动
- 3.1 导入库方式改变
- 3.2 命令信息的改变
该插件涉及知识点:将旧插件迁移至高版本
插件合集:nonebot2聊天机器人插件
该系列为用于QQ群聊天机器人的nonebot2相关插件,不保证完全符合标准规范写法,如有差错和改进余地,欢迎大佬指点修正。
前端:nonebot2
后端:go-cqhttp
插件所用语言:python3
在被版本差异折磨了几个月后,终于在这个国庆假期决定抽出时间,将nonebot2==2.0.0a15
迁移到新版本的nonebot2==2.0.0b5
,以避免与新版本代码的各种不兼容问题。
1. 版本升级
更新的方式其实很简单,只需要安装nb-cli:
pip install nb-cli
然后运行nb
创建一个项目,依次选择:
在确认创建后,nb-cli会自动从pip下载新版本的库。
2. go-cqhttp后端调整
打开后端的go-cqhttp文件夹,找到config.yml
文件,找到反向WS服务的部分,将原本的
universal: ws://127.0.0.1:36604/cqhttp/ws
修改为
universal: ws://127.0.0.1:36604/onebot/v11/ws
3. nonebot2前端改动
3.1 导入库方式改变
全部写下来是不可能的,因此只是记录最常用的改动,更多请自己查文档。
# 原本的写法
from nonebot.adapters.cqhttp import MessageSegment
# 修改的写法
from nonebot.adapters.onebot.v11 import MessageSegment
3.2 命令信息的改变
举个例子,如果原本让机器人计算1+1的命令是/计算1+1
其中,/
是命令字符, 计算
是命令内容, 1+1
才是输入字符串。
那么原本的写法:
from nonebot.adapters import Bot, Eventcalculator = on_command("计算", priority=Config.priority)
@calculator.handle()
async def handle_first_receive(event: Event):msg = str(event.get_message())
此时获得的msg是1+1
但是,在升级后的nonebot2.0.0b5
版本,获得的是msg将会是/计算1+1
,即完整的原始信息内容。
如果仍然需要和之前一样只获得1+1
的msg,则需要换成新的写法:
from nonebot.adapters.onebot.v11 import Message, MessageSegment
from nonebot.params import CommandArgcalculator = on_command("计算", priority=Config.priority)
@calculator.handle()
async def handle_first_receive(msg: Message = CommandArg()):msg = str(msg)
对于on_message
类型的非命令字符串响应,仍然可以兼容之前的写法,小心别顺手把它们也一起改掉,导致了出现新的bug。别问我怎么知道的,也别问我发生了什么
此外,新版本还有很多新特性,具体的请查看相关文档:https://v2.nonebot.dev/
同样感谢交流群内的好心大佬们给予了很多关键的指点。
nonebot2聊天机器人插件10:迁移至nonebot2.0.0b5相关推荐
- nonebot2聊天机器人插件5:加群退群通报与退群次数记录join_and_leave
nonebot2聊天机器人插件5:加群退群通报与退群次数记录join_and_leave 1. 插件用途 2. 目录结构 3. 实现难点与解决方案 3.1 读取加群退群信息 3.2 数据库操作 4. ...
- nonebot2聊天机器人插件9:定时提醒器timing
nonebot2聊天机器人插件9:定时提醒器timing 1. 插件用途 2. 目录结构 3. 实现难点与解决方案 3.1 定时器 3.2 调用bot的api发送消息 4. 代码实现 5. 插件配图 ...
- nonebot2聊天机器人插件4:群聊与戳一戳响应chat
nonebot2聊天机器人插件4:群聊与戳一戳响应chat 1. 插件用途 2. 目录结构 3. 实现难点与解决方案 3.1 随机触发 3.2 返回随机信息 3.3 禁言用户 3.4 json转换 3 ...
- nonebot2聊天机器人插件3:计算器calculator
nonebot2聊天机器人插件3:计算器calculator 1. 插件用途 2. 目录结构 3. 实现难点与解决方案 3.1 将字符串作为代码执行 3.2 正则过滤 4. 代码实现 5. 插件配图 ...
- nonebot2聊天机器人插件1:基础应答print
nonebot2聊天机器人插件1:基础应答print 1. 插件用途 2. 目录结构 3. 实现难点与解决方案 4. 代码实现 5. 插件配图 6. 实际效果 7. 下一个插件 该插件涉及知识点:无 ...
- nonebot2聊天机器人插件7:随机角色卡mist_star
nonebot2聊天机器人插件7:随机角色卡mist_star 1. 插件用途 2. 目录结构 3. 实现难点与解决方案 3.1 遍历目录下所有文件 3.2 自定义属性文本格式 3.3 自定义异常报错 ...
- 【聊天机器人插件】Tidio与SaleSmartly:谁更适合你的网站?
随着跨境电商行业的迅速发展,相应为网站配套的各类插件也不断被推出,比如可提供24小时自动回复的智能聊天机器人. 最近,一个外国团队就聊天机器人插件,对消费者开展调查问卷,得出了以下结论: l 可有效解 ...
- 体验VMware Converter Client 6.2与Veeam BR 10迁移ESXi 6.0 vm到vCenter 6.7 u3
体验VMware Converter Client 6.2与Veeam BR 10迁移ESXi 6.0 vm到vCenter 6.7 u3 https://www.charflower.com/?p= ...
- 【独立站运营】5款绝佳WooCommerce聊天机器人插件
使用WooCommerce经营商店时,你最喜欢的是什么?免费插件?漂亮的商店主题?还是配置使用的方便? 以上所有都是为了完成同一个目标--以最小的努力创建一家专业商店. 现在,你可以添加一个WooCo ...
最新文章
- jca分析java dump日志
- Exchange server 2010脱机工作簿故障问题
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- 27/100. Intersection of Two Linked Lists
- 操作系统文件系统实验_现代电脑操作系统原理课程,案例:Apple 操作系统技术演进...
- 【Flink】改进的BLOB存储架构
- python3的encode()和decode()
- 最最简单的一个爬虫代码
- 经济管理学中常用的模型分析法
- 代码时间换空间以及空间换时间
- 计算机密码怎么重置,电脑忘记密码了怎么重置密码
- git 代码行数统计
- ERROR: Check hive‘s usability failed, please check the status of your cluster问题解决
- 这些MOS管的特点和分类,你未必全都知道
- Lottie 免费动画、在线预览
- 自定义NDK交叉编译链(toolchain)
- 腾讯游戏人生 android,腾讯游戏
- 假期福利! 经典O'Reilly图书免费送, 搞懂DApp生态就靠它了!
- tiktok广告推广怎么能精准展现?什么行业适合在tiktok投放广告?
- ubuntu 外接VGA显示 不能调整为正确的分辨率