首页 > 其他分享 >最新基于nonebot的qq机器人搭建

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

时间:2023-07-26 14:56:02浏览次数:53  
标签:qq INFO 26 07 18 nonebot 11 搭建

导读

核心资源 ( 参考各项目到各自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文件夹

运行

  1. 开三个窗口
  2. ③号窗口 qsign:
    1. 先到cqhttp目录下device.json取值android_id
    2. 预先开cqhttp: 先开一下看版本是不是 8.9.63 (对应library )
    3. 运行bin/unidbg-fetch-qsign --port=8080 --count=1 --library=txlib/8.9.63 --host=127.0.0.1 --android_id=xxxx
  3. ②号窗口,运行./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]: 开始加载群列表...
  1. ①号窗口: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
  1. 随便找个号对114514这个号发/echo 0721

标签:qq,INFO,26,07,18,nonebot,11,搭建
From: https://www.cnblogs.com/jsoneri/p/17582447.html

相关文章

  • Node.js低代码管理系统:只需点击鼠标,搭建属于你的企业应用
    低代码管理系统是一种通过可视化界面和简化的开发工具,使非专业开发人员能够快速构建和管理应用程序的系统。它提供了一套预先定义的组件和模块,使用户可以通过拖放操作来设计应用程序的界面和逻辑。低代码管理系统还提供了自动化的工作流程、数据管理和集成功能,使用户能够快速创建和......
  • 流媒体协议之WebRTC简易服务器搭建20230726
    流媒体协议之WebRTC简易服务器搭建1.简介        由于官网的peerconnection_server和apprtc对SDP以及登录流程有特定要求,不便于调试自己实现的WebRTC,所以计划自己搭建服务器,网上开源的服务器有很多:licode/janus/kurento/mediasoup/jitsi等等,但是这些服务器的搭建又比较......
  • Docker部署之使用docker-compose部署(全新的干净的服务器,从0开始搭建)
    部署环境准备安装yum#安装yum工具yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2--skip-broken安装dcoker#设置docker镜像源yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed-i's/download.d......
  • 目前为止整理最全的前端监控体系搭建篇(长文预警)
    参考:https://cloud.tencent.com/developer/article/1983779https://github.com/miracle90/monitorhttps://wpk.ucweb.com/index 概览为什么要做前端监控前端监控目标前端监控流程编写采集脚本日志系统监控错误监控接口异常白屏监控加载时间性能指标卡顿pv......
  • 详解!视频直播源码平台搭建开发:录制功能
     在互联网快速发展的现代社会,直播成为了新型的社交媒体形式与营销形式,普通用户会在视频直播源码平台中发布短视频、图文或是开直播等进行社交;商户则会发布视频广告或直播带货等进行营销。而在这些社交与营销的新形式下,大多数人还会发布直播的某些有趣或意义的片段到短视频上,进行......
  • nginx实现服务器端集群搭建(五)
    nginx与tomcat部署环境准备(tomcat)1.准备Tomcat环境,并在Tomcat上部署一个web项目2.准备Nginx环境,使用Nginx接收请求,并把请求分发到Tomat上3、浏览器访问:http://192.168.200.146:8080/demo/index.html获取动态资源的连接地址http://192.168.200.146:8080/demo/getAddress......
  • Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo
    前言  麒麟系统上做全球北斗定位终端开发,调试工具要做一个windows版本方便校对,北斗GPS发过来的是大地坐标,应用需要的是经纬度坐标,所以需要转换,可以使用公式转换,但是之前涉及到了另一个shang市公司项目使用WG,最终选择了GDAL库进行转换。注意  如果读者不强制要求ming......
  • k8s上搭建elasticsearch单节点集群(固定存储)
    因为Elasticsearch需要保持数据在固定的磁盘上,属于有状态的应用服务,因此采用k8s的StatefulSet模式部署。创建PersistentVolumes和Claim#es-persistent-volume.yamlapiVersion:v1kind:PersistentVolumemetadata:name:es-nfs-pvlabels:pv:es-nfs-pvspec:......
  • javaweb项目搭建及Servlet用法
    一.Javaweb1.常见软件系统体系结构1.C/S架构C/S结构即客户端/服务器(Client/Server),例如QQ;需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序;缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦;优点:安全性比较好。2.B/S架构B/S结构即浏览器/服......
  • python自动登录qq客户端
    Python自动登录QQ客户端在现代社交网络中,QQ作为中国最大的即时通讯软件之一,拥有大量的用户群体。对于一些开发者和数据分析师来说,自动登录QQ客户端并获取用户信息是一项重要的任务。本文将介绍如何使用Python编写自动登录QQ客户端的代码,并提供示例代码。为什么使用Python自动登录......