简介
使用官方 API 搭建了一个 QQ 群聊机器人的 Demo,具备获取天气、简单编辑待办、从本地发送图片等功能。
资源
机器人源码
GitHub 仓库:SanYeCao-bot
官方 SDK
GitHub 仓库:botpy
教程
前置需求
本项目使用 Conda 环境和 Git 操作。如果未安装这两个工具请首先自行查阅相关安装文档。
一、配置 QQ 开放平台
网址:QQ 开放平台
1. 机器人设置
完成注册之后,登录,进入主页,点击创建机器人。

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

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

注意,你必须是该群的群主或者管理员。
在你选择的群聊中,打开群聊设置 > 群机器人,选择其它,可以看到你创建的机器人。将它邀请进群。
下一步,在导航栏中找到'发布设置'。

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

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

查看你的机器人的 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_Bot_Id 和 Enter_Your_Secret_Here 的位置。
2. 配置图床 API
首先打开图床:SM.MS - Simple Free Image Hosting。
注册/登陆之后,在右上角找到 User。

单击,点击 Dashboard。

在左侧导航栏中找到 API Token,如果是第一次使用需要点击 Generate Secret Token 生成令牌。

复制你的令牌,进入项目。
在 ./botpy/examples/plugins/img_upload.py 中,找到以下代码:
headers = {'Authorization': 'Your_Token'} # 此处填写你的 API Token
将上述代码中的 Your_Token 改为你刚刚复制的令牌。

这样我们就完成了机器人 API 的配置。
3. 配置 Conda 环境(推荐)
接下来,我们回到项目根目录,打开终端,输入以下命令创建一个名为 chatbot 的环境:
conda create -n chatbot
如果你想起别的名字就请把 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
启动机器人。
现在你就可以在群聊中 at 它啦。


