把 Moltbot 接到 Discord 上
Discord 在游戏社区和开发者群体中使用广泛。如果团队使用 Discord 协作,将 Moltbot 接入可以提升不少效率。
配置难度介于 Telegram 和 WhatsApp 之间。步骤比 Telegram 多,主要是 Discord 的权限体系较为细致。
创建 Discord Application
前往 Discord Developer Portal,使用你的 Discord 账号登录。
点击右上角的 New Application。
填写名称,例如「Moltbot Assistant」。这是应用名,不是 Bot 的显示名称。
创建后进入应用设置页面。
创建 Bot 用户
在左侧菜单中选择 Bot。
点击 Add Bot 并确认。
此时可以看到 Bot Token。点击 Reset Token 生成一个新的 Token。
将 Token 复制保存。与 Telegram 一样,Token 等同于凭证,不要泄露。
以下开关需要注意:
- PUBLIC BOT — 如果不希望他人将你的 Bot 添加到其他服务器,关闭此选项
- MESSAGE CONTENT INTENT — 必须启用。未启用时 Bot 只能收到消息通知,无法获取消息内容
MESSAGE CONTENT INTENT 是一个容易遗漏的配置项。如果 Bot 上线后不回复消息,首先检查这个开关。
配置权限和邀请链接
进入左侧菜单的 OAuth2,选择 URL Generator。
在 SCOPES 中勾选 bot。
在 BOT PERMISSIONS 中勾选以下权限:
- Send Messages
- Read Message History
- Use Slash Commands
- Embed Links(用于发送格式化消息)
- Attach Files(用于发送文件)
勾选完成后,页面底部会生成邀请链接。复制该链接并在浏览器中打开,选择目标服务器并确认。
只有服务器管理员才能添加 Bot。如果你不是管理员,将链接发给管理员操作。
配置 Moltbot Token
moltbot configure --section discord或使用环境变量:
export DISCORD_BOT_TOKEN=MTIzNDU2Nzg5.xxxxxx.xxxxxxxxxxxxxxxx配置文件方式:
# ~/.moltbot/config.yaml
channels:
discord:
botToken: "MTIzNDU2Nzg5.xxxxxx.xxxxxxxxxxxxxxxx"启动和配对
moltbot start在 Discord 中给 Bot 发送一条私信,或在服务器频道中 @ 它。
终端显示配对码后执行:
moltbot pairing approve discord YOUR_CODE配对完成。
在服务器频道中使用
与 Telegram 群组类似,Bot 在 Discord 频道中默认只响应 @ 提及的消息:
@Moltbot Assistant 帮我写个 Python 脚本也可以配置自定义触发词:
channels:
discord:
mentionPatterns:
- "@Moltbot Assistant"
- "!bot"
- "小助手"添加 !bot 后,在频道中输入 !bot 你好 即可触发回复。
频道权限
Discord 的权限系统比 Telegram 更细粒度。你可以精确控制 Bot 在哪些频道有读取和发送消息的权限。
在 Discord 服务器设置 -> 频道 -> 对应频道的权限设置中,可以单独为 Bot 配置权限。
例如,可以限制 Bot 只在 #ai-assistant 频道中工作,其他频道完全不可见。
Slash Commands
Discord 支持斜杠命令,即在聊天框中输入 / 弹出命令列表的功能。
Moltbot 对 Slash Commands 的支持目前仍在完善中。日常文字对话使用 @ 提及即可。
与 Telegram 的对比
几个值得关注的差异:
消息长度。 Discord 单条消息限制 2000 字符。Moltbot 的长回复会被自动拆分为多条发送。Telegram 限制为 4096 字符,更为宽裕。
代码块。 两个平台都支持 Markdown 代码块,体验接近。
文件发送。 Discord 的文件大小限制取决于服务器 Boost 等级,免费服务器为 25MB。
响应速度。 两者都比较快,体感差异不大。
常见问题
Bot 在线但不回消息?
大概率是 MESSAGE CONTENT INTENT 未启用。前往 Developer Portal -> Bot 页面,开启该选项。
邀请链接无效?
重新在 OAuth2 -> URL Generator 中生成。确保 SCOPES 中勾选了 bot。
Bot 在某些频道不回复?
检查频道权限。Bot 需要同时具有 Read Messages 和 Send Messages 权限。
收到 rate limit 警告?
Discord API 有速率限制。正常对话不会触发,但短时间内发送大量消息可能被限流。稍等片刻即可恢复。