一个面向大型 Discord 社区的社区治理与管理机器人, 集成了提案、投票、辩诉法庭等治理工具,以及身份组管理、跨服同步、内容审核、赛事管理等一整套社区运营功能。
| 模块 | 说明 | 主要命令 |
|---|---|---|
提案系统 (proposal) |
用户提交提案,经审核后发布到论坛并进行社区支持投票 | /提案-设置表单入口、/审核议案、/提案-撤回提案 |
辩诉法庭 (court) |
成员可申请"上庭",通过支持票达标后进入公开投票裁决流程 | /上庭-申请上庭、/上庭-setallowcourtrole |
投票系统 (voting) |
自定义投票,支持匿名/实名、实时/结束显示、定时自动结束 | /投票-开启投票 |
| 模块 | 说明 | 主要命令 |
|---|---|---|
自助身份组申请 (selfRole) |
用户自助申请身份组,支持前置身份组、频道活跃度、社区投票等复杂条件 | /自助身份组申请-创建管理面板、/自助身份组申请-创建自助身份组面板、/自助身份组申请-配置向导 |
身份组同步 (roleSync) |
在主服务器与多个分服务器间镜像同步身份组,含队列调度、审计与回滚 | /身份组同步(多子命令) |
受控邀请 / 防炸群 (controlledInvite) |
分服仅允许持有效邀请记录者加入,对非法加入自动踢出/封禁 | /分服受控邀请、/受控邀请开关、/查看我的分服受控邀请状态 |
| 模块 | 说明 | 主要命令 |
|---|---|---|
处罚 (punishment) |
一体化处罚命令(警告/禁言),支持跨服务器同步与公告 | /处罚、/风纪、/风纪配置 |
自助管理 (selfModeration) |
成员对违规消息以反应达阈值后触发投票,自动删除/禁言 | /删除搬屎消息、/禁言搬屎用户、/搬石公投配置 |
自动清理 (autoCleanup) |
按违禁关键词/正则实时扫描并删除消息,支持全服/选定频道历史清理 | /频道冲水-添加违禁关键字、/频道冲水-设置清理频道、/频道冲水-切换自动清理 |
帖子反应审核 (creatorReview) |
限定来源论坛/服务器的投稿帖子审核流程 | /创作者审核(多子命令) |
| 模块 | 说明 | 主要命令 |
|---|---|---|
赛事管理 (contest) |
赛事申请、审核、频道创建、作品投稿与稿件管理,支持许可论坛与外部服务器投稿 | /赛事-设置赛事申请入口、/赛事-设置赛事审核员身份组、/赛事-初始化赛事标签 |
频道 AI 总结 (channelSummary) |
读取指定时段消息,调用 AI 生成讨论摘要,支持预设 | /总结频道内容、/总结预设 |
| 模块 | 说明 | 主要命令 |
|---|---|---|
自助文件上传 (selfFileUpload) |
用户自助上传文件/备份,支持匿名与退出追踪 | /自助补档 |
机器人消息管理 (botMessage) |
管理组共同维护机器人发出的常驻消息(规则/公告),含编辑、发送、论坛发帖、整体替换、撤销与改动留痕 | /机器人消息、右键菜单 编辑机器人消息 |
本 Bot 需要在 Discord 开发者后台开启以下两个特权 Intent:
- Server Members Intent — 用于跨服身份组同步、受控邀请防炸群、自助身份组统计、风纪处罚。
- Message Content Intent — 用于违禁词自动清理、频道内容总结、内容归档。
- 运行环境: Node.js
- 核心库: discord.js v14
- 数据存储: better-sqlite3(SQLite)+ JSON 文件(本地)
- AI 总结: openai / @google/genai(兼容 OpenAI 接口)
- 仪表盘: express(roleSync 身份组数据库页面)
-
克隆仓库并安装依赖:
npm install
-
复制环境变量模板并填写:
cp .env.sample .env
-
必填环境变量:
DISCORD_TOKEN=<Bot 栏获得的 Token> CLIENT_ID=<General Information 栏的 Application ID> GUILD_IDS=<命令注册目标服务器ID,逗号分隔,如 123...,456...>当前采用严格模式:必须配置
GUILD_IDS,否则启动失败。 其余可选配置(AI 总结、身份组同步、成员缓存策略等)详见.env.sample内注释。 -
启动:
npm start # 默认(--max-old-space-size=1024) npm run start-big # 大型服务器建议(4096MB 堆内存)
src/
├── core/ # 核心:入口 index.js、事件分发、数据库与权限工具
├── modules/ # 各功能模块(见上方功能表)
└── shared/ # 共享命令与组件
data/ # 本地数据库(SQLite)与配置(JSON)
本 Bot 仅为实现功能而收集必要数据(Discord ID、身份组、配置、活跃度统计等),存储于运行 主机的本地数据库,不出售或分享给第三方(AI 总结功能会将消息发送至所配置的 AI 接口除外)。 完整说明见 隐私政策 / Privacy Policy。