用nonebot2构建自己的机器人框架
Posted yeah17981
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用nonebot2构建自己的机器人框架相关的知识,希望对你有一定的参考价值。
链接:NoneBot
首先抄一下nonebot的概念:跨平台 Python 异步 QQ 机器人框架
那么现在就开始吧
(后nonebot2简称nb2)
前情提要
本人小白
啥都不会的那种
本教程是面对比我还小白的人
咱们不用了解怎么运行的直接上号
准备开始
开始之前我们需要一个 版本 >= 3.7 的Python,一个win64的电脑(会linux的大佬还需要我教?),一个放机器人空文件夹(文件夹1),一双手
我们使用快捷键Win+X,点击“Windows PowerShell(管理员)”或“命令提示符(管理员)”,并输入python --version以检查是否安装成功。
成功回复:python 3.9.4(3.7以上)
注意
请在安装 NoneBot v2 之前卸载 NoneBot v1(在cmd或者PowerShel中输入)
pip uninstall nonebot
安装
安装脚手架和适配器
win+r 输入cmd,再输入以下代码
pip install nb-cli
pip install nonebot-adapter-cqhttp
这时候也可以安装插件
# 列出所有的插件
nb plugin list
# 搜索插件
nb plugin search xxx
# 安装插件
nb plugin install xxx
下载 go-cqhttp 对应平台的 release 文件:Releases · Mrs4s/go-cqhttp (github.com)
本人安装的是v0.9.40-fix5版
找到文件 go-cqhttp_windows_amd64.zip 然后下载
go-cqhttp配置
将文件解压在文件夹中的空白文件夹(文件夹1.1)中
新建一个记事本xxx.txt(爱取啥取啥)
内容:
start go-cqhttp.exe
改成xxx.dat
双击运行xxx.dat
这时候go-cqhttp.exe就被打开了
此时会出现
打开文件config.hjson
填入机器人的qq号(最好不要填密码可能会被风控)
将文本中的一些内容进行更改
ws_reverse_servers: [
// 可以添加多个反向WS推送
{
// 是否启用该推送
enabled: false
// 反向WS Universal 地址
// 注意 设置了此项地址后下面两项将会被忽略
// 留空请使用 ""
reverse_url: ws://you_websocket_universal.server
……
改为
ws_reverse_servers: [
// 可以添加多个反向WS推送
{
// 是否启用该推送
enabled: true
// 反向WS Universal 地址
// 注意 设置了此项地址后下面两项将会被忽略
// 留空请使用 ""
reverse_url: ws://127.0.0.1:xxxx/cqhttp/ws
……
xxxx为端口号,建议避免一些常用数字以防端口被占用。并且记住这个端口
http_config: {
// 是否启用正向HTTP服务器
enabled: true
……
改为
http_config: {
// 是否启用正向HTTP服务器
enabled: false
……
ws_config: {
// 是否启用正向WS服务器
enabled: true
……
改为
ws_config: {
// 是否启用正向WS服务器
enabled: false
……
再次运行xxx.dat
会出现下图
这代表配置成功!
可能有人会说:为什么我的程序一直跳出了其他的东西
那是因为我们的nb2还没有开
不着急我们先把程序关掉然后去配置我们的nb2
nb2的配置
打开放机器人的文件夹1
点击路径栏,输入cmd
在命令提示符中输入
nb create
会跳出一个新的页面
[?] Project Name:
输入机器人的名称(英文)
[?] Where to store the plugin? (Use arrow keys)
❯ 1) In a "111" folder
2) In a "src" folder
方向键(上下)选择文件夹名字,回车确定
[?] Load NoneBot Builtin Plugin? (y/N)
输入y
[?] Which adapter(s) would you like to use? (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
❯○ cqhttp
○ ding
○ mirai
○ gocq
按一下空格,使cqhttp前的空心小圈变实心,回车确认
结束
在文件夹1中会出现一个新的文件夹xxx(文件夹1.2)
点开文件夹1.2,在文件.env输入
# .env
ENVIRONMENT=dev
CUSTOM_CONFIG=common config # 这个配置项在任何环境中都会被加载
在文件.env.dev中输入
HOST=127.0.0.1 # 配置 NoneBot 监听的 IP/主机名
PORT=xxxx # 配置 NoneBot 监听的端口(前面填的端口号)
DEBUG=true # 开启 debug 模式 **请勿在生产环境开启**
SUPERUSERS=["123456789", "987654321"] # 配置 NoneBot 超级用户(qq号)
NICKNAME=["xxxxx", "bot"] # 配置机器人的昵称
COMMAND_START=["/", ""] # 配置命令起始字符
COMMAND_SEP=["."] # 配置命令分割字符
# Custom Configs
CUSTOM_CONFIG1="config in env file"
CUSTOM_CONFIG2= # 留空则从系统环境变量读取,如不存在则为空字符串
关闭
运行
双击运行xxx.dat 和bot.py
然后等待一会
在qq里对机器人发送/echo 111
机器人会回复111
这代表基本框架搭建完了
其他功能
需要插件但我还在学怎么写
如果我会了我就来造福大众!
溜了溜了
以上是关于用nonebot2构建自己的机器人框架的主要内容,如果未能解决你的问题,请参考以下文章