NoneBot2为跨平台Python异步聊天机器人框架,本文将阐述在Linux系统搭建一套QQ机器人,如何在日常使用中带来更多便利,为我们服务。
(相关资料图)
本文以Gentoo Linux
作为演示,其他发行版操作上没有本质区别。
可以从软件源里安装,也可以通过get-pip
脚本安装:
wget https://bootstrap.pypa.io/get-pip.pypython get-pip.py
注意Python必须是3.x版本。
当然也可以编译安装,选择其中一种方式安装即可。作为演示,这里直接从软件源进行安装:
安装成功后检查下版本:
pip --version
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。
直接执行nb命令:
cd /optnb
会交互式询问,这里选择第一项回车。
接着选择bootstrap
回车:
输入项目名后,回车选择FastAPI
驱动器:
使用空格选择通信协议,QQ平台这里选择OneBot V11
,之后回车:
V12刚出不久,相对V11不太稳定成熟,目前绝大部分插件也是基于V11兼容的。
安装依赖、创建虚拟环境变量这里默认都选YES:
内建插件,选择echo即可:
安装完后会提示运行命令,cd到项目目录,测试运行情况:
cd test-bot nb run --reload
到此项目创建完成,CTRL+C
终止。
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
每个项目目录下都会有一个.env.prod
配置文件,所有插件的变量名等都会在这个文件里定义,也包括NoneBot2自带的一些变量。
这里如下设置:
DRIVER=~fastapi #指定驱动器,默认已有HOST=0.0.0.0 # 监听IPPORT=36985 # 监听端口SUPERUSERS=["123456789"] # 超级管理员QQ,即机器人主人QQ,改成自己的COMMAND_START=["/", ""] # 配置命令起始字符COMMAND_SEP=["."] # 配置命令分割字符
使用nb run
运行后,可以看到go-cqhttp监听了我们在.env.prod
设置的端口:
使用浏览器访问URL:http://IP:36985/go-cqhttp/#/
:
可以看到进程日志都会在这里展示,并且自带一些简要的系统资源监控情况。
点击左上角的添加账号
,输入要运行机器人的QQ账号,并选择设备类型:
可以仅输入账号,然后在控制台进程日志扫码登录,也可以账号密码一并输入,出于安全考虑更建议前者。
设备类型选择,只要不涉及多端登录导致冲突即可,这里选择Android Watch
:
之后点击启动:
进程日志会输出二维码,使用刚刚提交的QQ账号扫描登录即可。
到此则说明没有任何问题,此时可以关闭浏览器端,浏览器这步主要用于配置QQ账号、查看系统负载等。
我们前面已经安装echo
内建插件,用于打印输出。私聊机器人或者群里艾特机器人,测试生效情况:
可选项,为了方便管理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为跨平台Python异步聊天机器人框架,本文将阐述在Linux系统...
原标题:土叙地震直击|中国救援队在土耳其持续开展救援行动目前,...
【2023年2月10日,北京】从自然中探寻身心修复之道,李宁集团旗下独...
从土耳其最先送到叙利亚这个震区的,为何是遇难者遗体而非物资?,卜...
2023年WTT安曼常规赛女单1 8决赛,19岁国乒小将韩菲儿1-3不敌奥地...
绑架原县委书记的在逃嫌犯曾被列为“老赖”:可执行金额仅2300多元
据新华社北京2月10日电近日,国家体育总局、中央机构编制委员会办公...
章鱼小丸子是源于日本的一道料理,由于其酥脆的口感受到人们的喜爱...
2月10日,交银均衡成长一年混合A最新单位净值为1 0639元,累计净值...
现在,除了电脑是我们传递信息的渠道之外,手机也是我们最直接的方...
幼儿园放假发这些礼品好,幼儿园的老师,是孩子最伟大的园丁,是家...
每个人都知道大学是接受教育的最佳方式之一,尤其是关于爱情的教育...
1:软文背景软文标题写作技巧软文写作是一门艺术,它需要技巧和经验...
哈尔滨冰雪大世界梦想大舞台:梦想大舞台的整体设计采用中式元素,...
2月8日,康华生物(证券代码:300841 SZ)“康聚越新华展宏兔”202...
小编为您整理了拉萨好吃的藏餐馆,它们是拉木民间藏餐屋、娜玛瑟德...
国联水产12月22日在互动平台表示,公司在B C端分别推出各式新品,...
中新网宜宾2月9日电题:乌蒙大山深处的“守桥人”作者胡志强“大家...
广东省住房和城乡建设厅近期发布《广东省住房和城乡建设厅关于2022...
ps动作怎么使用详细教程,软件的动作功能对于初学者来说肯定是很难的...
新年初始,受高频经济数据修复、政策支持力度加大、中外增长预期差...
数字资产管理、图片管理编辑工具软件ACDSee在国内也不乏粉丝,但想...
1、法制锤子简笔画用素描画去画。2、锤子的线条更逼真。3、显示出出...
1,陆风x8手动四驱低配多少钱卖:你好,陆风x8汽油版四驱大概每公里...
1、结肠炎是指各种原因引起的结肠炎症性病变。2、多由细菌、真菌、...
1、>>峡谷女神的细节考验答案一览
解答:1、打开手机点击百度网盘。2、点击右下角的我的图标。3、点击...
鸿博股份2月9日回复关注函,截至目前,英博数科尚处于初创时期,相...
目录:1、精选语笑嫣然的女孩名字2、语笑嫣然的女孩名字及寓意3、语...