在Linux端用Nonebot2整一个QQ机器人
首先选择一个云服务器
我选择的是腾讯云服务器:
https://cloud.tencent.com/product/cvm
然后在服务器配置PYTHON
这里是我的最初的PYTHON 版本
可以看到我的PYTHON 版本不对,必须要3.7以上
所以需要重新安装PYTHON :
cd
ls
cd home/ubuntu
1. sudo mkdir /usr/local/python3
2. wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
3.tar -xzvf Python-3.9.6.tgz
4.cd Python-3.9.6
5.sudo ./configure --prefix=/usr/local/python3
6.sudo make&&make install
或者分开整也彳亍:
7.sudo make install
8.sudo apt install python3-pip
安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip3 install xxx
export PATH=/home/ubuntu/.local/bin
接着再配置机器人环境:
创建一个空文件夹,添加到项目中
pip install nb-cli
安装成功后,在终端键入
nb create
点击回车选择cqhttp。
安装一些需要的库
pip install nonebot2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install nonebot-plugin-apscheduler nonebot-adapter-cqhttp -i https://pypi.tuna. .tsinghua.edu.cn/simple/
删除两个文件,config.yml和go-cqhttp。
配置env文件和bot.py文件具体在官网可以看到
ENVIRONMENT=dev
CUSTOM_CONFIG=common config
配置端口号,这里端口号要一致,我的是这样婶儿的:
HOST=127.0.0.1
PORT=53245
SUPERUSERS=["2411849197"]
NICKNAME=["stupid","bot"]
COMMAND_START=["/"]
整完之后再整go-cqhttp
在github上下载Linux的
解压后进入文件夹,一直点开,最后一个文件里面是一个名为go-cqhttp的文件。把这个go-cqhttp文件上传和我们项目的文件夹放到一起。
配置运行go-cqhttp
一定要选择3反向websocket通信
修改一下config.yml
把universal后面的改成 ws://127.0.0.1:8890/cqhttp/ws,这里的8890改成自己的端口号就行了!
运行
./go-cqhttp
连上自己机器人的QQ号,启动不挂断启动,机器人成功可以跟他简单的指令
Success!:
接着可以编写插件
在原来的目录下创建新文件夹
(nonebot2有多种插件加载方式,官网上可以看到很多)
创建py文件
编辑想要的插件
from nonebot.adapters.cqhttp import Bot, Event
from nonebot.plugin import on_message
定义回复的内容,丰富一点比如
reply_dic = {
'您好': '好' ,
'晚安' : '做个好梦',
'哈哈' :'哈哈哈哈'
}
reply = on_message(priority=100)(设置一下优先级)
判断获取的QQ信息是否在上面定义的自动回复字典内,如果在则发送字典对应的内容。
发送函数: await reply.finish(reply_msg)这里的reply_msg是想发送的消息内容,reply是我们上面定义的事件名称,finish表示事件到这结束。
然后就可以跟机器人说指定的内容,他就可以回复惹.
Ps:
/步骤说的比较简略,目的是想整理整体思路
/制作中间也遇到了很多坎坷,根本没有很容易,比如我已经做到快结束时才发现PYTHON 级别不够,当时也不知道,这一个小问题就搞了一天.整体顺序都是乱的
/遇到问题主要是上网查和问别人
.如下:
/说实话也没想到能整多高级
/小白做到这里感觉很开心惹!