这是一个基于 Discord
和 Qianfan
的多功能聊天机器人项目,集成了多种能力,包括自然语言对话、评论审核以及自定义命令响应等功能。通过与 AppBuilder SDK
结合,你可以使用此机器人对用户输入进行实时处理,并与其他服务进行交互。
-
与 Discord 集成:机器人使用
discord.py
库来实现与 Discord 的集成,可以监听消息、响应命令,甚至处理错误并自动重连。 -
与 Qianfan 的对话能力:机器人能够通过
qianfan
的 API 与用户进行自然语言对话,提供类似于 AI 助手的功能,并可根据特定用户自定义回复内容。 -
基于 AppBuilder 的应用集成:使用
AppBuilder
SDK,支持与自定义应用集成,例如评论审核功能,通过应用 ID 来动态调用 AppBuilder 客户端完成对话或审核任务。 -
多样的用户指令与响应:机器人支持用户通过特定关键词执行操作,例如查询频道 ID、查看 IP 地址、累积输入并发起审核请求等。
-
日志与错误处理:项目提供了详细的日志记录与错误处理机制,确保即使在异常情况下,机器人也可以尝试自动重连,维持稳定性。
-
安装依赖
首先安装必要的依赖包:
#!pip install --upgrade appbuilder-sdk qianfan nest_asyncio discord.py redis pyarrow
-
环境变量配置
配置以下环境变量:
QIANFAN_ACCESS_KEY
和QIANFAN_SECRET_KEY
:Qianfan API 的认证密钥。APPBUILDER_TOKEN
:用于 Discord 机器人的认证令牌。Review_app_id
和Chat_app_id
:用于 AppBuilder 的应用 ID。
-
运行项目
直接运行 Python 脚本即可启动机器人。
python your_script.py
- 在 Discord 中,通过发送消息控制机器人行为,例如获取频道 ID (
"频道id"
)、处理评论内容 ("论坛内容"
)、或者累积评论并批量发送 ("!wait!"
和"!end!"
)。 - 机器人具备一些 "关闭" 指令,例如用户发送 "再见!" 或 "关闭!" 时,机器人会自动停止响应。
- 自定义权限:机器人有一些特殊的自定义权限。例如,只有指定的用户才可以重启机器人或获取 IP 地址。
- 线程锁处理:为了避免并发问题,机器人对每个用户请求都使用了锁机制,确保消息按顺序处理,避免冲突。
如果你希望贡献代码,请 Fork 本仓库并提交 Pull Request,欢迎大家一起完善这个项目!
本项目采用 MIT 许可证,你可以自由地使用和修改代码。