最新基于nonebot的qq机器人搭建

反转基因福娃  金牌会员 | 2023-7-27 00:27:52 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 560|帖子 560|积分 1680

导读

核心资源 ( 参考各项目到各自release下载

NoneBot
简介 | go-cqhttp 帮助中心
qq登录需要包签名,要自己部署 https://github.com/fuqiuluo/unidbg-fetch-qsign
环境

ubuntu: win10商店直接下个ubuntu做wsl,
python: wsl里面安装conda, conda创建虚拟环境使用python最新3.11
java
语雀指路 (好久没鸟博客园了,都是语雀更新勤快多了
准备

目录树
  1. .
  2. ├── awesome
  3. │   ├── bot.py
  4. │   ├── .env
  5. ├── gocqhttp
  6.    ├── LICENSE
  7.    ├── README.md
  8.    ├── config.yml
  9.    ├── data
  10.    ├── device.json
  11.    ├── go-cqhttp
  12.    ├── password.encrypt
  13.    └── session.token
复制代码
nonebot (2.0.0)

.env
  1. HOST=127.0.0.1  # 配置 NoneBot 监听的 IP / 主机名
  2. PORT=8765  # 配置 NoneBot 监听的端口
  3. COMMAND_START=["/"]  # 配置命令起始字符
  4. COMMAND_SEP=["."]  # 配置命令分割字符
  5. SUPERUSERS=["114514"]  # 跟发送者有关,此例没用上
  6. LOG_LEVEL=DEBUG
复制代码
bot.py
  1. import nonebot
  2. import os
  3. from nonebot.adapters.onebot.v11 import Adapter
  4. right_path = __file__.rstrip(os.path.basename(__file__))    # 获取当前文件的所在路径
  5. os.chdir(right_path)
  6. nonebot.init()
  7. driver = nonebot.get_driver()
  8. driver.register_adapter(Adapter)
  9. nonebot.load_builtin_plugin("echo")         # 用内置插件测试
  10. if __name__ == '__main__':
  11.     nonebot.run()
复制代码
gocqhttp (1.1.0)

cd gocqhttp && ./go-cqhttp 初始运行,会生成大部分配置文件
config.yml更改
  1. # 下面只列需要更换的字段
  2. account: # 账号相关
  3.   uin: 0721114514 # QQ账号
  4.   password: '072107210721' # 配合下面的 encrypt, 需要重新运行前删此行
  5.   encrypt: true  # 是否开启密码加密
  6.   sign-server: 'http://127.0.0.1:8080' # 本地签名服务器,见下面qsign
  7. servers:
  8.   - ws-reverse:
  9.       universal: ws://127.0.0.1:8765/onebot/v11/ws/         # 8765与n onebot的.env设定端口保持一致
复制代码
qsign

到release下载1.1.0版本和1.1.6版本的zip,后续运行的是1.1.0版本,但是需要1.1.6的txlib文件夹
运行


  • 开三个窗口
  • ③号窗口 qsign:

    • 先到cqhttp目录下device.json取值android_id
    • 预先开cqhttp:  先开一下看版本是不是 8.9.63 (对应library )
    • 运行bin/unidbg-fetch-qsign --port=8080 --count=1 --library=txlib/8.9.63 --host=127.0.0.1 --android_id=xxxx

  • ②号窗口,运行./go-cqhttp,成功如下
  1. [2023-07-26 11:18:34] [INFO]: 当前版本:v1.1.0
  2. [2023-07-26 11:18:34] [INFO]: 将使用 device.json 内的设备信息运行Bot.
  3. [2023-07-26 11:18:34] [INFO]: 使用服务器 http://127.0.0.1:8080 进行数据包签名
  4. [2023-07-26 11:18:34] [INFO]: 密码加密已启用, 请输入Key对密码进行解密以继续: (Enter 提交)
  5. [2023-07-26 11:18:37] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消.
  6. [2023-07-26 11:18:42] [INFO]: 开始尝试登录并同步消息...
  7. [2023-07-26 11:18:42] [INFO]: 使用协议: Android Pad 8.9.63.11390
  8. [2023-07-26 11:18:42] [INFO]: Protocol -> connect to server: 1.2.3.4:8080
  9. [2023-07-26 11:18:43] [WARNING]: Protocol -> device lock is disable. http api may fail.
  10. [2023-07-26 11:18:45] [INFO]: 正在检查协议更新...
  11. [2023-07-26 11:18:46] [INFO]: 收到服务器地址更新通知, 将在下一次重连时应用.
  12. [2023-07-26 11:18:46] [INFO]: 登录成功 欢迎使用: 野兽前辈
  13. [2023-07-26 11:18:46] [INFO]: 开始加载好友列表...
  14. [2023-07-26 11:18:46] [INFO]: 共加载 0721 个好友.
  15. [2023-07-26 11:18:46] [INFO]: 开始加载群列表...
复制代码

  • ①号窗口:cd awesome && python bot.py,成功如下
  1. 07-26 13:51:52 [SUCCESS] nonebot | NoneBot is initializing...
  2. 07-26 13:51:52 [INFO] nonebot | Current Env: prod
  3. 07-26 13:51:52 [DEBUG] nonebot | Loaded Config: {'driver': '~fastapi', 'host': IPv4Address('127.0.0.1'), 'port': 8765, 'log_level': 'DEBUG', 'api_timeout': 30.0, 'superusers': {'114514'}, 'nickname': set(), 'command_start': {'/'}, 'command_sep': {'.'}, 'session_expire_timeout': datetime.timedelta(seconds=120)}
  4. 07-26 13:51:52 [DEBUG] nonebot | Succeeded to load adapter "OneBot V11"
  5. 07-26 13:51:52 [SUCCESS] nonebot | Succeeded to load plugin "echo" from "nonebot.plugins.echo"
  6. 07-26 13:51:52 [SUCCESS] nonebot | Running NoneBot...
  7. 07-26 13:51:52 [DEBUG] nonebot | Loaded adapters: OneBot V11
  8. 07-26 13:51:52 [INFO] logging | Started server process [919]
  9. 07-26 13:51:52 [INFO] logging | Waiting for application startup.
  10. 07-26 13:51:52 [INFO] logging | Application startup complete.
  11. 07-26 13:51:52 [INFO] logging | Uvicorn running on http://127.0.0.1:8765 (Press CTRL+C to quit)
  12. 07-26 13:51:55 [INFO] logging | ('127.0.0.1', 61922) - "WebSocket /onebot/v11/ws/" [accepted]
  13. 07-26 13:51:55 [INFO] nonebot | OneBot V11 | Bot 114514 connected
复制代码

  • 随便找个号对114514这个号发/echo 0721

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表