每日热点:NoneBot2开源通信框架安装配置指南 - Go-cqhttp
一、前言
NoneBot2为跨平台Python异步聊天机器人框架,本文将阐述在Linux系统搭建一套QQ机器人,如何在日常使用中带来更多便利,为我们服务。
二、安装及配置必要运行环境
本文以Gentoo Linux
作为演示,其他发行版操作上没有本质区别。
1、安装pip
可以从软件源里安装,也可以通过get-pip
脚本安装:
(资料图片仅供参考)
wget https://bootstrap.pypa.io/get-pip.pypython get-pip.py
注意Python必须是3.x版本。
当然也可以编译安装,选择其中一种方式安装即可。作为演示,这里直接从软件源进行安装:
安装成功后检查下版本:
pip --version
2、安装nb-cli并配置PATH
nb-cli
为NoneBot2
的脚手架,后续都将使用脚手架管理运行项目,使用pip安装即可:
pip install nb-cli
二进制文件路径默认在当前目录的.local/bin
下面,因此需要加入到PATH
环境变量中去:
echo "export PATH=$PATH:/root/.local/bin" >> /etc/profilesource /etc/profile
路径要根据实际路径做更改,或者将二进制目录mv到已有的PATH路径中。
这里使用zsh作为shell解释器,因此写入的是zsh配置文件,或者写入到/etc/zsh/zprofile
:
echo "export PATH=$PATH:/root/.local/bin" >> .zshrcexec zshecho $PATH
查看版本号:
nb --version
这里的版本为nb cli版本,并非NoneBot版本,因此不要被误导,以为自己装的是nonebot1。
三、NoneBot2配置及参数选择
1、创建NoneBot项目
直接执行nb命令:
cd /optnb
会交互式询问,这里选择第一项回车。
2、选择bootstrap框架
接着选择bootstrap
回车:
3、选择驱动器
输入项目名后,回车选择FastAPI
驱动器:
4、选择通信协议
使用空格选择通信协议,QQ平台这里选择OneBot V11
,之后回车:
V12刚出不久,相对V11不太稳定成熟,目前绝大部分插件也是基于V11兼容的。
5、安装依赖及创建虚拟环境变量
安装依赖、创建虚拟环境变量这里默认都选YES:
6、选择内建插件echo
内建插件,选择echo即可:
7、测试运行
安装完后会提示运行命令,cd到项目目录,测试运行情况:
cd test-bot nb run --reload
到此项目创建完成,CTRL+C
终止。
四、go-cqhttp配置与安装
1、安装go-cqhttp
go-cqhttp并不需要手动独立安装,NoneBot2
已经把它集成为插件并可以通过nb去管理插件,用户并不需要去关心go-cqhttp安装在哪,相对前一个版本简化了大量配置。
使用nb命令,依次选择Manage bot plugins
--> Install nonebot plugin to current project
并回车:
输入nonebot_plugin_gocqhttp
插件名回车:
到此go-cqhttp安装完成。其他所有插件也可以使用此类方式安装,当然也可以使用如下命令安装:
pip安装:pip install
nb安装:nb plugin install
2、配置.env.prod
每个项目目录下都会有一个.env.prod
配置文件,所有插件的变量名等都会在这个文件里定义,也包括NoneBot2自带的一些变量。
这里如下设置:
DRIVER=~fastapi #指定驱动器,默认已有HOST=0.0.0.0 # 监听IPPORT=36985 # 监听端口SUPERUSERS=["123456789"] # 超级管理员QQ,即机器人主人QQ,改成自己的COMMAND_START=["/", ""] # 配置命令起始字符COMMAND_SEP=["."] # 配置命令分割字符
3、配置go-cqhttp
使用nb run
运行后,可以看到go-cqhttp监听了我们在.env.prod
设置的端口:
使用浏览器访问URL:http://IP:36985/go-cqhttp/#/
:
可以看到进程日志都会在这里展示,并且自带一些简要的系统资源监控情况。
点击左上角的添加账号
,输入要运行机器人的QQ账号,并选择设备类型:
可以仅输入账号,然后在控制台进程日志扫码登录,也可以账号密码一并输入,出于安全考虑更建议前者。
设备类型选择,只要不涉及多端登录导致冲突即可,这里选择Android Watch
:
之后点击启动:
进程日志会输出二维码,使用刚刚提交的QQ账号扫描登录即可。
到此则说明没有任何问题,此时可以关闭浏览器端,浏览器这步主要用于配置QQ账号、查看系统负载等。
4、测试验证
我们前面已经安装echo
内建插件,用于打印输出。私聊机器人或者群里艾特机器人,测试生效情况:
五、写SystemD服务
可选项,为了方便管理NoneBot2
服务,如果你觉得太麻烦也可以考虑使用screen
或nohup &
。
root@Gentoo# vim /etc/systemd/system/nonebot.service[Unit]Description=Nonebot Daemon ServiceAfter=network.target[Service]User=rootWorkingDirectory=/opt/test-botExecStart=/root/.local/bin/nb runExecStop=/usr/bin/pkill -9 nb[Install]WantedBy=multi-user.target
写完服务后,重载systemd并启用开机自启动:
systemctl daemon-reloadsystemctl enable --now nonebot.servicesystemctl status nonebot.service
附带PDF版本:
六、附录
1.NoneBot2官方文档
2.NoneBot2项目主页
3.Go-cqhttp
4.NoneBot2插件页面
为您推荐
广告
- 每日热点:NoneBot2开源通信框架安装配置指南 - Go-cqhttp
- 阳了应该怎么办-阳性感染者如何用药 02月11日22时吉林白城疫情数据 焦点日报
- 江铃全顺6座新车价格_江铃全顺6座二手车 天天时讯
- 每日热门:破釜沉舟文言文翻译及注释_破釜沉舟文言文
- 环球新资讯:学生党离不开的变美好物,平价到囤一车都不嫌多!
- 鹿晗承认关晓彤怀孕了_关晓彤爸爸
- 新鲜的薄荷怎么泡水_新鲜的薄荷怎么吃
- 关于冬季消防安全的内容_企业冬季消防安全知识
- 云集开店靠谱吗?有哪些经营模式?-全球通讯
- 广西持续强化清廉金融文化建设
- 世界播报:中国网怎么发稿?多少钱?
- 世界消息!当初蹭热度号称小张柏芝,现在竟变成这样?被女神直接秒成渣!
- 剑与远征兑换码2023_剑与远征死魂之引
- 今天最新消息 广州越秀优化发展环境 前5月新增近千名港澳人员就业-当前快讯
- 德企集体用行动向“对华脱钩”说不
- 155是移动号码吗_155是移动的吗
- 头条:网店刮起“纯‘预’风” 消费风险不容忽视
- 挂挂赚是什么-动态焦点
- b站未成年送礼物会封号吗|当前滚动
- 世界聚焦:上海山姆会员真如店专场招聘会及岗位介绍
广告
- 年少万兜鍪,坐断东南战未休赏析_年少万兜鍪-快资讯
- 大一军训心得体会优秀范文20篇 环球聚焦
- 天天快看:詹姆斯-布里:我是因为琼斯来的南安普顿,相信他能逆转乾坤
- 外套+短靴=才是2023开春最IN打开方式,得体又时髦!
- 英语三级考试历年真题
- DreamweaverCS6网页设计案例教程 第2版 全球微资讯
- 世界热讯:2月8日美克家居现4471万元大宗交易
- 高智商推理题及答案解析超级烧脑|世界时讯
- 今日播报!ti amo是什么语言_ti amo是什么意思中文
- 大牌中卫即将登陆津门足坛!曾在葡萄牙留洋带队夺冠,值得期待|环球热资讯
- 船厂实习总结
- 传奇网页被劫持_浏览器被传奇网站劫持
- HYCQ5M-100
- 劳动创造美好生活作文 世界滚动
- 柏楚电子:2月7日获融资买入447.76万元,占当日流入资金比例7.65%
- 王宝强结婚了吗现任妻子是不是冯清?资产有多少亿 环球视点
- 【环球热闻】航天板块2月7日跌0.03%,ST新研领跌,主力资金净流出1.77亿元
- 焦点滚动:2月7日基金净值:嘉实价值臻选混合最新净值0.8805,涨0.32%
- alas是什么意思_alas的用法 热头条
- 环球观天下!机构专家:今年美国经济衰退风险很高