最新基于nonebot的qq机器人搭建
导读
核心资源 ( 参考各项目到各自release下载
NoneBot
简介 | go-cqhttp 帮助中心
qq登录需要包签名,要自己部署 https://github.com/fuqiuluo/unidbg-fetch-qsign
环境
ubuntu: win10商店直接下个ubuntu做wsl,
python: wsl里面安装conda, conda创建虚拟环境使用python最新3.11
java
语雀指路 (好久没鸟博客园了,都是语雀更新勤快多了
准备
目录树
.
├── awesome
│ ├── bot.py
│ ├── .env
├── gocqhttp
├── LICENSE
├── README.md
├── config.yml
├── data
├── device.json
├── go-cqhttp
├── password.encrypt
└── session.token
nonebot (2.0.0)
.env
HOST=127.0.0.1 # 配置 NoneBot 监听的 IP / 主机名
PORT=8765 # 配置 NoneBot 监听的端口
COMMAND_START=["/"] # 配置命令起始字符
COMMAND_SEP=["."] # 配置命令分割字符
SUPERUSERS=["114514"] # 跟发送者有关,此例没用上
LOG_LEVEL=DEBUG
bot.py
import nonebot
import os
from nonebot.adapters.onebot.v11 import Adapter
right_path = __file__.rstrip(os.path.basename(__file__)) # 获取当前文件的所在路径
os.chdir(right_path)
nonebot.init()
driver = nonebot.get_driver()
driver.register_adapter(Adapter)
nonebot.load_builtin_plugin("echo") # 用内置插件测试
if __name__ == '__main__':
nonebot.run()
gocqhttp (1.1.0)
cd gocqhttp && ./go-cqhttp 初始运行,会生成大部分配置文件
config.yml更改
# 下面只列需要更换的字段
account: # 账号相关
uin: 0721114514 # QQ账号
password: '072107210721' # 配合下面的 encrypt, 需要重新运行前删此行
encrypt: true # 是否开启密码加密
sign-server: 'http://127.0.0.1:8080' # 本地签名服务器,见下面qsign
servers:
- ws-reverse:
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
- 先到cqhttp目录下
- ②号窗口,运行
./go-cqhttp,成功如下
[2023-07-26 11:18:34] [INFO]: 当前版本:v1.1.0
[2023-07-26 11:18:34] [INFO]: 将使用 device.json 内的设备信息运行Bot.
[2023-07-26 11:18:34] [INFO]: 使用服务器 http://127.0.0.1:8080 进行数据包签名
[2023-07-26 11:18:34] [INFO]: 密码加密已启用, 请输入Key对密码进行解密以继续: (Enter 提交)
[2023-07-26 11:18:37] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消.
[2023-07-26 11:18:42] [INFO]: 开始尝试登录并同步消息...
[2023-07-26 11:18:42] [INFO]: 使用协议: Android Pad 8.9.63.11390
[2023-07-26 11:18:42] [INFO]: Protocol -> connect to server: 1.2.3.4:8080
[2023-07-26 11:18:43] [WARNING]: Protocol -> device lock is disable. http api may fail.
[2023-07-26 11:18:45] [INFO]: 正在检查协议更新...
[2023-07-26 11:18:46] [INFO]: 收到服务器地址更新通知, 将在下一次重连时应用.
[2023-07-26 11:18:46] [INFO]: 登录成功 欢迎使用: 野兽前辈
[2023-07-26 11:18:46] [INFO]: 开始加载好友列表...
[2023-07-26 11:18:46] [INFO]: 共加载 0721 个好友.
[2023-07-26 11:18:46] [INFO]: 开始加载群列表...
- ①号窗口:
cd awesome && python bot.py,成功如下
07-26 13:51:52 [SUCCESS] nonebot | NoneBot is initializing...
07-26 13:51:52 [INFO] nonebot | Current Env: prod
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)}
07-26 13:51:52 [DEBUG] nonebot | Succeeded to load adapter "OneBot V11"
07-26 13:51:52 [SUCCESS] nonebot | Succeeded to load plugin "echo" from "nonebot.plugins.echo"
07-26 13:51:52 [SUCCESS] nonebot | Running NoneBot...
07-26 13:51:52 [DEBUG] nonebot | Loaded adapters: OneBot V11
07-26 13:51:52 [INFO] logging | Started server process [919]
07-26 13:51:52 [INFO] logging | Waiting for application startup.
07-26 13:51:52 [INFO] logging | Application startup complete.
07-26 13:51:52 [INFO] logging | Uvicorn running on http://127.0.0.1:8765 (Press CTRL+C to quit)
07-26 13:51:55 [INFO] logging | ('127.0.0.1', 61922) - "WebSocket /onebot/v11/ws/" [accepted]
07-26 13:51:55 [INFO] nonebot | OneBot V11 | Bot 114514 connected
- 随便找个号对114514这个号发
/echo 0721
最新基于nonebot的qq机器人搭建的更多相关文章
- 基于go-cqhttp实现QQ机器人
本篇文章记录一下自己在编写QQ机器人的时候所遇到的一些问题和核心功能的实现. QQ机器人RabbitBot采用python编写,由于是个人学习使用,故目前不会开源完整代码,只会放出核心代码供学习参考. ...
- NoneBot+酷Q,打造QQ机器人
NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功 ...
- 基于WebQQ3.0协议写一个QQ机器人
最近公司需要做个qq机器人获取qq好友列表,并且能够自动向选定的qq好友定时发送消息.没有头绪,硬着头皮上 甘甜的心情瞬间变得苦涩了 哇 多捞吆 1.WEBQQ3.0登陆协议 进入WEBQQ, htt ...
- 使用C# 开始第一个QQ机器人
本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...
- python实现qq机器人qqbot
title: python实现qq机器人qqbot tags: python date: 2018-6-1 10:19:00 --- 以下内容为转载 一.介绍 qqbot 是一个用 python 实现 ...
- 最新基于adt-bundle-windows-x86的android开发环境筹建
最新基于adt-bundle-windows-x86的android开发环境搭建 某系统要配套做一个android客户端,来一次android开发环境快速搭建,系统Win7,具体步骤如下: 1.下载j ...
- 体验 QQ机器人C# SDK 1.X 特性总结
主要特性 依赖注入 框架本身采用 Autofac 作为依赖注入框架.进行插件开发时,必然会使用到该框架.建议开发者阅读官方文档熟悉其用法.https://autofac.readthedocs.io/ ...
- 基于Python的Appium环境搭建合集
自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...
- Mirai框架qq机器人教程 新版
Mirai框架qq机器人教程 新版 前言 资料列表 1.准备 i. 配置java环境 ii. 配置IDE iii. 下载mirai-console-loader(mcl)作为启动器 2.创建mirai ...
- Mirai框架qq机器人教程
Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...
随机推荐
- API网关:开源Apinto网关-上游服务篇(二)
功能介绍 服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题.通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数 ...
- Claude:除ChatGPT外的另一种选择
前言 Claude 是 Anthropic 开发的人工智能产品.Anthropic 是由 11 名前 OpenAI 员工于 2022 年创立的人工智能公司,旨在构建安全.可解释和有益于人类的人工智能系 ...
- C++ Primer 5th 阅读笔记:变量和基本类型
一些语言的公共特性 内建类型,如整型,字符型等: 变量,为值绑定的一个名字: 表达式和语句,操作值. 分支和循环,允许我们条件执行和重复执行: 函数,定义抽象计算单元. 扩展语言的方式 自定义类型: ...
- 2022-12-12:有n个城市,城市从0到n-1进行编号。小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该任务 第i天的任务需要在ci号城市完成,
2022-12-12:有n个城市,城市从0到n-1进行编号.小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该任务 第i天的任务需要在ci号城市完成, ...
- Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp; nested exception is java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
好久没记录了,最近一直在忙着工作以及码前后端 记录下这种大多数人都会碰到但是又不一定找得到问题的错误 1 Value '0000-00-00 00:00:00' can not be represen ...
- phpstudy-sqlilabs-less-11
题目:POST - Error Based - Single quotes- String 基于错误的单引号post型字符变形的注入 看到有个账密输入口第一反应尝试post注入 打开post data ...
- drf——反序列化校验源码(了解)、断言、drf之请求和响应、视图之两个视图基类
1.模块与包 # 模块与包 模块:一个py文件 被别的py文件导入使用,这个py文件称之为模块,运行的这个py文件称之为脚本文件 包:一个文件夹下有__init__.py # 模块与包的导入问题 '' ...
- vue平铺日历组件之按住ctrl、shift键实现跨月、跨年多选日期的功能
已经好久没有更新过博客了,大概有两三年了吧,因为换了工作,工作也比较忙,所以也就没有时间来写技术博客,期间也一直想写,但自己又比较懒,就给耽误了.今天这篇先续上,下一篇什么时候写,我也不知道,随心所欲 ...
- 代码随想录算法训练营Day30 回溯算法| 332.重新安排行程 51. N皇后 37. 解数独 总结
代码随想录算法训练营 332.重新安排行程 题目链接:332.重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划 ...
- GPT-4多态大模型研究
1.概述 GPT-4是OpenAI最新的系统,能够产生更安全和更有用的回应.它是一个大型的多模态模型(接受图像和文本输入,输出文本),在各种专业和学术的基准测试中展现了人类水平的表现.例如,它在模拟的 ...