前期准备

  1. 一台国内的服务器。如果你没有服务器,那么你需要其他的手段比如内网穿透,服务器可以考虑购买云服务器,比如腾讯云,阿里云,京东云,有条件的可以自己购买一台实体服务器。
  2. 一个域名。一般来说,你在哪里买的云服务器就在哪里买域名。
  3. 备案域名,并且备案后时间要超过24h。
  4. 申请并配置SSL证书,可以去腾讯云(或者其他的厂家)申请免费的SSL证书,但是最好不要使用自签名证书
  5. QQ 开放平台上注册账号并创建机器人。填写好相关设置。
  6. 在你的沙盒群中邀请你创建的机器人入群。
  7. 建议加入上面网站中的开发者频道,里面有很多热心大佬。
  8. 随便找一个群,往里面添加群机器人:QQ机器人开发平台小助手。可以向他问问题,如果机器人无法解决,可以通过它来提交工单。

在服务器上安装Python环境

要接入官方的python sdk,你需要3.8以上的python环境

在服务器上,cd到你要安装python的位置,然后

1
wget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz

解压:

1
tar -zxvf Python-3.8.10.tgz

准备编译环境:

1
2
sudo apt update
sudo apt install -y zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev gcc make libgdbm-dev libdb-dev libpcap-dev xz-utils libffi-dev

我的操作系统是Ubuntu,如果是CentOS,需要:

1
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

编译安装:

1
2
3
4
cd Python-3.8.10
./configure --prefix=/usr/local/python3
make
make install

创建软连接:

1
2
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

测试:

1
2
3
4
5
6
root@lavm-apal8xdaax:/# python3
Python 3.8.10 (default, Jan 27 2025, 16:24:01)
[GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

配置环境变量:

1
vi ~/.bash_profile

打开配置文件,然后添加

1
export PATH=$PATH:$HOME/bin:/usr/local/python3/bin

:wq退出后,执行source ~/.bash_profile

测试

1
root@lavm-apal8xdaax:/# echo $PYTHON_HOME

ok。

机器人服务端

刚开始是想用webhook方式来开发服务端,但是看了一下文档感觉很麻烦,用PythonSDK就方便很多,适合我这样的菜鸡和新手使用。

PythonSDK安装:

1
pip3 install qq-botpy

DeepSeek API Key

登录DeepSeek | 深度求索,创建api key并且保存好。




deepseek的api支持用openai的格式来调用

1
pip3 install openai

代码编写

官方提供的SDK,在https://github.com/tencent-connect/botpy上已经有足够详细的quick start,这里不再赘述。实在不行找deepseek问问。

运行服务端

在你写好了服务端的代码后,如果你的服务端运行在Linux系统上,可以用screen指令来运行服务端。

1
screen -S qqbot

创建一个名为qqbot的屏幕,Linux屏幕的概念类似于window的窗口ui,你可以打开一个窗口来玩原神,然后另外开一个窗口来听歌,二者互不干扰。

按下ctrl+A+D就可以退出screen。

想要返回之前的screen,可以

1
screen -r qqbot

在qqbot screen下,假设你的服务端代码文件名为qqbot.py

1
python3 qqbot.py

即可运行。

下载链接

qqbot.py

自己写了一个qq机器人,健壮性很差,自嗨玩玩罢了,距离上线还差的远。日后看情况更新吧。

目前实现的功能有:

  1. 对于不同的用户,分别建立独立的上下文。
  2. 指令-设定温度
  3. 指令-清除记忆