Skip to content

把 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 ​

bash
moltbot configure --section discord

或使用环境变量:

bash
export DISCORD_BOT_TOKEN=MTIzNDU2Nzg5.xxxxxx.xxxxxxxxxxxxxxxx

配置文件方式:

yaml
# ~/.moltbot/config.yaml
channels:
  discord:
    botToken: "MTIzNDU2Nzg5.xxxxxx.xxxxxxxxxxxxxxxx"

启动和配对 ​

bash
moltbot start

在 Discord 中给 Bot 发送一条私信,或在服务器频道中 @ 它。

终端显示配对码后执行:

bash
moltbot pairing approve discord YOUR_CODE

配对完成。

在服务器频道中使用 ​

与 Telegram 群组类似,Bot 在 Discord 频道中默认只响应 @ 提及的消息:

@Moltbot Assistant 帮我写个 Python 脚本

也可以配置自定义触发词:

yaml
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 有速率限制。正常对话不会触发,但短时间内发送大量消息可能被限流。稍等片刻即可恢复。

本站为第三方教程站,与 Moltbot 官方无关