Skip to content

ChengCY-2254/CCBot

Repository files navigation

CCBot

这是一个由Rust编写而成的Discord机器人,使用了serenity 以及它的姊妹库songbirdpoise

旨在使用最爆炸的语言,最混乱的库,最💩的代码,编写最简单的Discord机器人。

使用

语音服务

  • /music join <channel>:加入语音频道
  • /music leave <channel>:离开语音频道
  • /music play <url>:使用yt-dlp作为支持。[关键词|AV|BV]定位B站资源|直接链接]
  • /music stop: 停止播放

通用命令

  • ping: 查看用户创建时间
  • status:设置机器人状态
  • clear <amount>:清除聊天记录
  • switch_prompt <file_name>:设置ai的系统提示词,提示词存放路径在config/下,扩展名为.md
  • send_message <channel> <message>: 发送消息到指定频道

管理命令

  • /withdraw add <channel>:将一个频道添加到撤回列表
  • /withdraw remove <channel>:将一个频道从撤回列表移除
  • /withdraw list :查看当前禁言列表

对于/music play命令,支持Youtube和Bilibili的音频播放,理论上支持youtube,但由于yt-dlp的限制,可能会出现一些问题。

对于ai对话,需要@机器人,机器人会向上回溯50条消息,并过滤出你与机器人的消息进行对话。

安装&运行

该程序依赖于yt-dlp ,如何安装请参考install

rust编译问题请参考rust给出的报错,安装对应的依赖包即可。

action中下载,并将其放到你的部署路径。 第一次可直接运行./cc-bot,会自动创建配置文件夹config,并在配置文件夹中创建data.json.env文件。 需要修改其中的.env文件,填入你的Discord Bot Token和ai-config.json中的配置信息。 运行./cc-bot即可。

功能列表

  • 为机器人添加消息请求时的等待状态显示
  • 为机器人添加私聊功能
  • 添加消息清除功能,例如/clear 100为清理历史100条消息。
  • 编写readme和部署指南
  • 编写频道撤回功能。
  • 添加版本号,使用build.rs来记录git的id并从env中获取版本号。
  • 精简配置文件
  • 给受到聊天管控的区域添加管控公告。
  • 原神,启动!2025/05/24
  • 未添加到语音频道的时候使用播放音乐给出正确的错误提示。
  • 如果是dm频道,那么就只需要删除自己的消息即可。
  • 为/switch_prompt 添加仅管理员可用,而不是只能在频道中使用。,
  • /music play_for_bilibili [keyword]参数支持AV&BV号,这个需要在注释中给出。,
  • 私聊不用@,
  • 合并两个音乐播放命令,如果是HTTP开头,就使用new,如果是文本,那就默认去哔哩哔哩搜索。
  • 记录当前加入的语音频道在机器人重启后自动加入。

About

Discord bot 练手项目

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published