在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 級別不夠,當時也不知道,這一個小問題就搞了一天.整體順序都是亂的
/遇到問題主要是上網查和問別人
.如下:
/說實話也沒想到能整多高級
/小白做到這里感覺很開心惹!