(保姆级教程)通过官方API搭建一个自己的QQ群聊机器人

该文章已生成可运行项目,

简介

用官方api做了一个qq群聊机器人的demo,有获取天气、简单编辑待办、从本地发送图片等功能。

建了个群,欢迎来交流(

QQ群号:710101225

重新写了个基于nonebot框架的教程,个人认为比官方sdk更容易开发:https://blog.csdn.net/Clovertaa/article/details/145452834

获取

机器人demo

GitHub仓库:GitHub - ClovertaTheTrilobita/SanYeCao-bot: 一个基于官方API的QQ群聊机器人

官方SDK

GitHub仓库:GitHub - tencent-connect/botpy: QQ频道机器人PythonSDK

教程

前置需求

本项目使用conda环境和git操作。如果未安装这两个工具请首先移步

史上最全最详细的Anaconda安装教程-CSDN博客

Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客

(这俩教程我粗略看了下感觉挺好的,如果不适合你那烦请自行百度了qwq)

一、配置QQ开放平台

网址:QQ 开放平台

1.机器人设置

完成注册之后,登陆,进入主页,点击创建机器人

简单填写好资料之后,进入机器人控制面板,找到“沙箱配置”。

点击进入,选择你想在哪个群里测试你的qq机器人。

注意,你必须是该群的群主或者管理员。

在你选择的群聊中,打开群聊设置>群机器人,选择其它,可以看到你创建的机器人。将它邀请进群。

下一步,在导航栏中找到“发布设置”。

点击功能配置。

之后点击右上角的重新配置,设置机器人被at后输入栏上方会弹出的指令。需要根据代码来配置。

以下是我配置的。

最后,在导航栏中找到“开发设置”。

查看你的机器人的AppleID和AppleSecret。由于AppleSecret不会明文保存在网页上,刚创建的机器人需要点击“生成”,并将生成的密钥记录下来,我们在之后的步骤中要用。

注意:生成密钥后退出页面将无法再次查看密钥,所以请妥善记录并保管好。

二、拉取项目

进入GitHub,点击绿色的<>code

之后复制项目仓库链接

之后在自己的文件夹空白处右键,选择open git bash  here

输入

git clone https://github.com/ClovertaTheTrilobita/SanYeCao-bot.git

将项目拉取至本地。

三、启动机器人

很好!现在我们拿到了机器人的源代码,只需要启动它就行了。

请详细阅读项目的README.md根据指引配置API和其它一些东西。

1.配置机器人账号密码

找到./botpy/examples/config.yaml

appid: "Your_Bot_Id"
secret: "Enter_Your_Secret_Here"

还记得第一步中我们保存的机器人ID和密钥么?

将你在QQ开放平台上的AppleID和AppleSecret分别填入Your_Id和Enter_Your_Secret_Here的位置。

2.配置图床API

首先打开图床:Image Upload - SM.MS - Simple Free Image Hosting

注册/登陆之后,在右上角找到User单击,点击DashBoard

在左侧导航栏中找到API Token,如果是第一次使用需要点击Gennerate Secret Token生成令牌。复制你的令牌,进入项目。

在./botpy/examples/plugins/img_upload.py中,找到

headers = {'Authorization': 'Your_Token'}  # 此处填写你的API Token

将上述代码中的Your_Token改为你刚刚复制的令牌。这样我们就完成了机器人API的配置。

3.配置conda环境(推荐)

接下来,我们回到项目根目录,打开终端,输入

conda create -n chatbot

创建一个名为chatbot的环境,如果你想起别的名字就请把chatbot换为你喜欢的名字。

之后在终端输入

conda activate chatbot

 启动我们刚刚创建的环境。

刚刚创建的conda环境貌似是没有pip安装器的,所以我们要

conda install pip

安装pip

最后一步,在项目根目录输入

pip install -r requirements.txt

安装所需要的软件包。

requirements.txt内的包可能看起来很多,实际上大部分都是conda环境自带的,我直接把所有的贴上去了,因为懒()

4.启动机器人

非常棒!现在我们已经完成了所有所需要的配置!

我们只需要进入./botpy/examples目录,找到client.py。在终端中输入

python client.py

启动机器人。

现在你就可以在群聊中at它啦。

 

 

本文章已经生成可运行项目
### 企业微信外部群聊机器人功能缺失或限制条件分析 企业微信的外部群聊机器人功能在实际使用中可能存在某些限制条件,这些限制可能源于产品设计、安全性考量以及技术实现等方面。以下是关于为何企业微信中可能没有外部群聊机器人选项或功能的具体分析: #### 1. 安全性与合规性限制 企业微信作为一款企业通讯工具,对外部群聊机器人的支持需要考虑安全性与合规性问题。由于外部群涉及企业与外部客户之间的沟通,任何自动化消息发送都可能引发敏感信息泄露的风险。因此,企业微信可能对这一功能进行了严格的限制或未开放相关选项[^1]。 #### 2. 功能定位差异 企业微信的外部群聊主要面向企业与客户的互动场景,其核心功能在于促进业务沟通与协作,而非提供高度自动化的机器人服务。相比之下,内部群聊机器人更符合企业的日常管理需求,因此优先支持内部群聊机器人的开发与集成[^2]。 #### 3. 技术实现复杂度 外部群聊机器人需要处理跨组织的身份验证、权限管理以及消息同步等问题,这增加了技术实现的复杂度。此外,外部群聊中的成员可能来自不同的企业或组织,确保消息传递的准确性和一致性也是一项挑战[^3]。 #### 4. 用户需求与反馈 根据市场调研和用户反馈,企业微信可能发现外部群聊机器人并非大多数企业的核心需求。相较于其他功能(如客户联系、日程安排等),外部群聊机器人的使用频率较低,因此未将其作为重点开发方向[^4]。 #### 5. 替代方案的存在 尽管企业微信未直接提供外部群聊机器人功能,但开发者可以通过API接口实现类似的功能。例如,通过调用企业微信的消息推送接口,结合自定义开发的聊天机器人,间接实现外部群聊的消息自动化处理[^5]。 ```python import requests def send_message(webhook_url, message): payload = { "msgtype": "text", "text": { "content": message } } headers = {'Content-Type': 'application/json'} response = requests.post(webhook_url, json=payload, headers=headers) return response.json() webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY" message = "这是一条测试消息" send_message(webhook_url, message) ``` #### 6. 多智能体协作的局限性 如果尝试将外部群聊机器人设计为多智能体架构,可能会面临无效对话过多的问题。例如,多个机器人在同一群聊中交互时,可能导致信息冗余或混乱。企业微信可能为了避免此类问题,选择限制外部群聊机器人的功能范围[^3]。 ---
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值