admin管理员组文章数量:1559388
QQ 腾讯官方机器人搭建
看的人感觉不是很多,加上我自己的时间也有限,所以更新时间会比较慢,麻烦谅解。
这个项目目前我已经做了免费公益体验群,感兴趣的进来玩呀大家,这个是qq群号:201487478 |
---|
QQ官方机器人交流群csdn |
由于官方机器人给到开发者的权限太小,但是官方的生态系统还是比较全的,但是如何让QQ官方bot拥有更多的功能呢?在这里,你可以找到答案。
文章目录
- QQ 腾讯官方机器人搭建
- 前言
- 项目介绍
- 前置条件
- 必备组件
- 必备参数
- 配置 config.yaml 文件
- 使用官方QQbot监听群消息
- 使用三方QQbot监听群消息
- 使用官方和三方QQbot一起监听群消息
- 致谢和更新
前言
QQ机器人通过开放的平台承载机器人的定制化功能,让开发者获得更畅快的开发体验。来看这篇文章的大佬们肯定都是想要搭建一个属于自己的QQ群,把机器人放在里面服务大家,但是市面上全是接入chatgpt的,大家都是守法好公民,翻墙这种事自然是不会干的,那就只能使用国内的大模型咯,那么这个时候我闲的没事,写这篇文章帮助有需要的朋友们😁
[2024.9.25] 新增功能,接入三方QQ框架,实现QQ官方bot和三方bot携手管理QQ群,共享数据库,不再担心官方bot的限制,让QQ官方bot不能做的事情交给三方bot。
项目介绍
[2024.9.25] 当前 github平台项目 属于停滞更新状态,后期更新会有提醒,本次更新主要是基于QQ官方的pythonSDK和三方框架编写了库,方便大家直接调用,如果不知道什么是pip和python的,可以进群去问了。
前置条件
必备组件
- 使用
pip
安装lzbot
库(⚠️ 因为各大国内库具有延迟性,所以目前只能通过官方org安装这个库)
如果使用国内镜像安装会pip install lzbot -i https://pypi.org/simple
error:没有找到此库
。 lzbot
库依赖指定三方框架运行,如果需要启动三方QQbot功能的,请进 QQ官方机器人交流群csdn 咨询,放心,免费无广。- 上面⬆️第二条内容很重要,没有它,你安装了
lzbot
库 依旧是无法启动三方机器人监听的。
必备参数
- 获取AI模型的API(如果你不需要接入三方AI和使用三方bot,跳过此步骤)
我本来想要进行一个详细介绍,但是那样这篇博客可能会显得很混乱,所以这里我引用网络上我认为不错的教学博客,给大家参考:讯飞星火大模型个人API账号免费使用申请教程
➡️目前不支持websocket协议的AI接入,仅支持http协议的AI接入,具体请详见讯飞AI的控制台。(本文暂未涉及AI,请移步下篇文章或进群询问)
-
前往QQ机器人官方平台获取QQ机器人鉴权所需要的
APPID
和SERCET
-
接入流程
首先前往 QQ开放平台 注册账号
进入注册界面后我们选择个人账号注册填写邮箱注册账号
温馨提示
之前已经注册过的邮箱不需再注册,直接去登陆界面登陆即可。最后激活邮箱就可以成功注册了。
完成注册后绑定管理员
[END] 完成上述步骤就可以成功注册QQ开放平台的账号和绑定管理员了,之后就可以创建机器人,再填写机器人相关资料,配置沙箱频道的内容了。 -
-
获取本地公网ip
公网IP很重要,如果你是本地测试,那么你就需要获取你的本地公网IP填写至IP白名单中。如何获取本地公网IP?1. 你可以使用
curl ifconfig.io
2. 直接再网站上搜索。然后你需要去qq官方机器人开放平台填写IP白名单,在这个界面你还需要获取
APPID
和APP SERCET
这两个值。
配置 config.yaml 文件
在你的项目目录下添加 config.yaml 文件,填入对应参数。
appid: "你在前面步骤获取的APPID"
secret: "你在前面步骤获取的APPSERCET"
使用官方QQbot监听群消息
import os
import lzbot
import time
from lzbot.json_read import *
from lzbot import logging
from lzbot.ext.cog_yaml import read
from lzbot.message import GroupMessage
from lzbot.bot import Bot
# 读取配置文件
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
_log = logging.get_logger()
# 定义客户端
class MyClient(lzbot.Client):
async def on_group_at_message_create(self, message: GroupMessage):
_log.info(f"收到群消息:{message.content}")
await message.reply(content = "我是官方机器人")
intents = lzbot.Intents(public_messages=True)
MyClient(intents=intents).run(appid=test_config["appid"], secret=test_config["secret"])
运行如下:
使用三方QQbot监听群消息
⚠️ 必须配置了三方框架后才可用,没配置的先进 QQ官方机器人交流群csdn 获取指定框架。在配置好后,就可以继续进行操作了。
from lzbot.json_read import *
from lzbot import logging
from lzbot.bot import Bot
_log = logging.get_logger()
class MyBot(Bot):
async def on_group_message(self, message):
_log.info(f"收到群消息:{message}")
user_id = message["sender"]["user_id"]
group_id = message["group_id"]
if "你是谁" in message["raw_message"]:
self.send_text(group_id,user_id, "我是三方机器人")
bot = MyBot("ws://localhost:3001").run_websocket()
运行结果如下:
使用官方和三方QQbot一起监听群消息
import os
import lzbot
from lzbot.json_read import *
from lzbot import logging
from lzbot.ext.cog_yaml import read
from lzbot.message import GroupMessage
from lzbot.bot import Bot
# 读取配置文件
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
_log = logging.get_logger()
# 定义客户端
class MyClient(lzbot.Client):
async def on_group_at_message_create(self, message: GroupMessage):
_log.info(f"收到群消息:{message.content}")
await message.reply(content = f"收到你的消息:{message.content}")
class MyBot(Bot):
async def on_group_message(self, message):
_log.info(f"收到群消息:{message}")
user_id = message["sender"]["user_id"]
group_id = message["group_id"]
data = message["message"]
data = data[1]['data']['text']
self.send_text(group_id,user_id, f"收到你的消息:{data}")
bot = MyBot("三方端口").run_websocket()
intents = lzbot.Intents(public_messages=True)
MyClient(intents=intents).run(appid=test_config["appid"], secret=test_config["secret"])
运行结果如下:
致谢和更新
本项目采用的都是开源技术
致谢:QQ官方开发者 | 不方便透露姓名的三方
不可转载!!!但可以转发给你的好朋友,嘿嘿~
上次更新时间: 9/25/2024, PM
如果你想要进行自己自主开发QQ机器人并且不借助QQ机器人的PythonSDK进行开发,请转至下一篇文章阅读学习:
➡️QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第一期]
如果你想继续进行基于 lzbot
库的机器人开发学习,请转至下一篇文章阅读:
➡️[发送图片和AI托管] 待更新…
版权声明:本文标题:[于 2024925 第2次更新] QQ 腾讯官方机器人搭建(更新中) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727421493a1113632.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论