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的,可以进群去问了。

前置条件

必备组件

  1. 使用 pip 安装 lzbot 库(⚠️ 因为各大国内库具有延迟性,所以目前只能通过官方org安装这个库)
    pip install lzbot -i https://pypi.org/simple
    
    如果使用国内镜像安装会 error:没有找到此库
  2. lzbot 库依赖指定三方框架运行,如果需要启动三方QQbot功能的,请进 QQ官方机器人交流群csdn 咨询,放心,免费无广
  3. 上面⬆️第二条内容很重要,没有它,你安装了 lzbot 库 依旧是无法启动三方机器人监听的。

必备参数

  1. 获取AI模型的API(如果你不需要接入三方AI和使用三方bot,跳过此步骤
    我本来想要进行一个详细介绍,但是那样这篇博客可能会显得很混乱,所以这里我引用网络上我认为不错的教学博客,给大家参考:讯飞星火大模型个人API账号免费使用申请教程
    ➡️目前不支持websocket协议的AI接入,仅支持http协议的AI接入,具体请详见讯飞AI的控制台。(本文暂未涉及AI,请移步下篇文章或进群询问)

  1. 前往QQ机器人官方平台获取QQ机器人鉴权所需要的 APPIDSERCET

    • 接入流程
      首先前往 QQ开放平台 注册账号

      进入注册界面后我们选择个人账号注册

      填写邮箱注册账号

      温馨提示
      之前已经注册过的邮箱不需再注册,直接去登陆界面登陆即可。

      最后激活邮箱就可以成功注册了。

      完成注册后绑定管理员


    [END] 完成上述步骤就可以成功注册QQ开放平台的账号和绑定管理员了,之后就可以创建机器人,再填写机器人相关资料,配置沙箱频道的内容了。


  1. 获取本地公网ip

    公网IP很重要,如果你是本地测试,那么你就需要获取你的本地公网IP填写至IP白名单中。如何获取本地公网IP?1. 你可以使用 curl ifconfig.io 2. 直接再网站上搜索。

    然后你需要去qq官方机器人开放平台填写IP白名单,在这个界面你还需要获取 APPIDAPP 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托管] 待更新…

本文标签: 腾讯机器人官方更新中qq