通过官方API搭建QQ群聊机器人:从入门到实战
通过官方API搭建QQ群聊机器人:从入门到实战
简介
本文将详细介绍如何使用官方API搭建一个功能丰富的QQ群聊机器人。该机器人具备获取天气、简单编辑待办事项、从本地发送图片等功能。通过本文的教程,读者可以掌握QQ群聊机器人的开发流程和关键技术点。
获取
机器人demo
GitHub仓库:GitHub - ClovertaTheTrilobita/SanYeCao-bot: 一个基于官方API的QQ群聊机器人
官方SDK
GitHub仓库:GitHub - tencent-connect/botpy: QQ频道机器人PythonSDK
教程
前置需求
本项目使用conda环境和git操作。如果未安装这两个工具,请先参考以下教程进行安装:
(以上教程经过验证,内容详尽且易于理解。如果这些教程不适合你,建议自行搜索其他资源。)
一、配置QQ开放平台
网址:QQ 开放平台
1.机器人设置
完成注册后,登录并进入主页,点击创建机器人。简单填写资料后,进入机器人控制面板,找到“沙箱配置”。
点击进入,选择你想在哪个群里测试你的QQ机器人。注意,你必须是该群的群主或者管理员。
在你选择的群聊中,打开群聊设置>群机器人,选择其它,可以看到你创建的机器人。将它邀请进群。
下一步,在导航栏中找到“发布设置”。点击功能配置。之后点击右上角的重新配置,设置机器人被@后输入栏上方会弹出的指令。需要根据代码来配置。
以下是一个配置示例:
最后,在导航栏中找到“开发设置”。查看你的机器人的AppID和AppSecret。由于AppSecret不会明文保存在网页上,刚创建的机器人需要点击“生成”,并将生成的密钥记录下来,我们在之后的步骤中要用。
注意:生成密钥后退出页面将无法再次查看密钥,所以请妥善记录并保管好。
二、拉取项目
进入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开放平台上的AppID和AppSecret分别填入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环境(推荐)
接下来,我们回到项目根目录,打开终端,输入以下命令创建一个名为chatbot的环境:
conda create -n chatbot
之后在终端输入以下命令启动我们刚刚创建的环境:
conda activate chatbot
刚刚创建的conda环境貌似是没有pip安装器的,所以我们要安装pip:
conda install pip
最后一步,在项目根目录输入以下命令安装所需要的软件包:
pip install -r requirements.txt
requirements.txt内的包可能看起来很多,实际上大部分都是conda环境自带的,这里直接把所有的包都列出来了。
4.启动机器人
非常棒!现在我们已经完成了所有所需要的配置!我们只需要进入./botpy/examples目录,找到client.py。在终端中输入以下命令启动机器人:
python client.py
现在你就可以在群聊中@它啦。