Spacebot多平台接入实战:一条配置同时连接Discord、Slack、Telegram与邮件的完整指南
Spacebot多平台接入实战一条配置同时连接Discord、Slack、Telegram与邮件的完整指南【免费下载链接】spacebotAn AI agent for teams, communities, and multi-user environments.项目地址: https://gitcode.com/gh_mirrors/spac/spacebotSpacebot是一款面向团队与多用户环境的开源 AI Agent智能体框架。本文手把手带你完成Spacebot 多平台接入用一条 TOML 配置同时连接Discord、Slack、Telegram 和邮件Email让同一个 Agent 在用户所在的任何平台上对话、记忆并执行任务。 为什么 Spacebot 适合多平台场景大多数聊天机器人框架只能绑定单一平台而 Spacebot 把每个平台抽象成可热插拔的消息适配器Adapter所有平台的入站消息汇入同一条消息流每个会话频道、线程、私聊、邮件线程拥有彼此隔离的历史与记忆。 一次配置、多平台在线Discord 与 Slack 上的同一个机器人只是指向同一 Agent 的两条路由 每个 Agent 独立记忆、独立人格互不串扰⚡ 配置热重载绑定与权限变更几秒内生效无需重启 邮件作为收件流处理默认不自动回复可跨平台主动发送多平台适配器的扇入fan-in与运行时管理逻辑可在源码 src/messaging/manager.rs 中查看各平台适配器实现位于 src/messaging/ 目录。 接入前的 3 个核心概念概念作用通俗理解Adapter适配器连接具体平台的凭据钥匙token / IMAP 凭据Binding绑定把平台消息路由给某个 Agent门牌谁的消息交给谁处理Agent智能体独立人格、记忆与会话历史员工可以养多个完整概念说明见官方文档 docs/content/docs/(messaging)/messaging.mdx/messaging.mdx)。 第一步5 分钟连接 Discord在 Discord 开发者后台创建应用 →Bot页点击Add Bot复制Bot Token⚠️ 务必开启Message Content Intent特权网关意图否则报Disallowed intent(s)通过OAuth2 → URL Generator生成邀请链接授予发送消息、读历史、添加表情等权限打开 Spacebot 面板 →Settings → Messaging Platforms → Discord粘贴 Token 并保存配置方式也可写成 TOML详见 docs/content/docs/(messaging)/discord-setup.mdx/discord-setup.mdx)[messaging.discord] enabled true token env:DISCORD_BOT_TOKEN [[bindings]] agent_id main channel discord guild_id 123456789 第二步连接 SlackSocket ModeSlack 需要两个 token这是新手最常踩坑的地方在 Slack 应用后台创建 App开启Socket Mode并生成App Token必须xapp-开头app-开头是错的在OAuth Permissions中添加chat:write、channels:history、reactions:write等 Bot 权限安装应用到工作区复制Bot Tokenxoxb-开头在频道中/invite YourBot邀请机器人面板Settings → Messaging Platforms → Slack中同时填入两个 Token[messaging.slack] enabled true bot_token env:SLACK_BOT_TOKEN app_token env:SLACK_APP_TOKEN逐步细节见 docs/content/docs/(messaging)/slack-setup.mdx/slack-setup.mdx)。✈️ 第三步2 分钟连接 Telegram在 Telegram 中找到BotFather发送/newbot按提示命名用户名须以bot结尾复制 BotFather 返回的 token形如123456789:ABCdef...若希望机器人在群里看到所有消息先发/setprivacy→Disable需在入群前设置[messaging.telegram] enabled true token env:TELEGRAM_BOT_TOKEN注意 Telegram 与另外两家的默认策略相反默认接受所有私聊可用dm_allowed_users白名单收紧。详见 docs/content/docs/(messaging)/telegram-setup.mdx/telegram-setup.mdx)。 第四步连接邮件IMAP SMTPSpacebot 通过IMAP 轮询收件、SMTP 发送支持任何标准邮箱[messaging.email] enabled true imap_host imap.example.com imap_port 993 imap_username inboxexample.com imap_password env:EMAIL_IMAP_PASSWORD smtp_host smtp.example.com smtp_port 587 smtp_username inboxexample.com smtp_password env:EMAIL_SMTP_PASSWORD from_address botexample.com poll_interval_secs 30 allowed_senders [example.com, vipcustomer.com] 邮件通道的行为设计很克制intake 优先来信先分诊自动回复默认关闭避免邮件轰炸循环每个邮件线程映射为独立会话依据References/In-Reply-To头需要主动发邮件时可在 Discord/Telegram 中用跨平台消息指定目标如email:aliceexample.com开启 MFA 的邮箱请生成应用专用密码完整参数与排查表见 docs/content/docs/(messaging)/email-setup.mdx/email-setup.mdx)。 一条配置连接全部四个平台把上面四段拼进同一份配置文件再加上路由绑定就是一条配置连接四个平台的完整形态示例取自 docs/content/docs/(configuration)/config.mdx/config.mdx)# --- 四个平台适配器 --- [messaging.discord] enabled true token env:DISCORD_BOT_TOKEN [messaging.slack] enabled true bot_token env:SLACK_BOT_TOKEN app_token env:SLACK_APP_TOKEN [messaging.telegram] enabled true token env:TELEGRAM_BOT_TOKEN [messaging.email] enabled true imap_host imap.example.com smtp_host smtp.example.com from_address botexample.com poll_interval_secs 30 # --- 路由绑定消息交给哪个 Agent --- [[bindings]] agent_id main channel discord guild_id 123456789 [[bindings]] agent_id main channel slack [[bindings]] agent_id support-bot channel telegram [[bindings]] agent_id main channel email 使用env:变量名引用环境变量token 不落盘到配置文件里。路由规则很简单不写过滤条件 该平台所有消息都交给这个 Agent不匹配任何绑定的消息自动落到默认 Agent。想精细化就在绑定里加guild_idDiscord 服务器、workspace_idSlack、chat_idTelegram、channel_ids限频道等字段。 进阶多 Agent 分工同一个 Spacebot 实例可运行多个 Agent例如主 Agent 管 Discord Slack客服 Agent 管 Telegram[[agents]] id main default true [[agents]] id support-bot每个 Agent 拥有独立记忆、身份与权限互不干扰。频道粒度的响应模式Active / Observe / Mention Only、模型覆盖等高级设置见 docs/content/docs/(getting-started)/configuring-channels.mdx/configuring-channels.mdx)。️ 排错速查表平台症状解决DiscordDisallowed intent(s)Bot 页开启 Message Content Intent 并保存Slackinvalid_auth/ 连上即断App Token 须为xapp-开头确认 Socket Mode 已开启Telegram群里不响应/setprivacy→ Disable 后重新拉机器人入群Email收不到 / 发不出核对 IMAP 993 / SMTP 587MFA 邮箱改用应用专用密码绑定与 DM 白名单变更热重载生效token 变更需要重启或重新连接适配器。✅ 总结Spacebot 的多平台接入遵循统一范式适配器提供凭据 → 绑定负责路由 → Agent 独立对话记忆。四段 TOML、四个 token 组就能让同一个 AI Agent 同时在线于 Discord、Slack、Telegram 和你的邮箱。官方完整文档入口docs/content/docs/(messaging)/messaging.mdx/messaging.mdx)。【免费下载链接】spacebotAn AI agent for teams, communities, and multi-user environments.项目地址: https://gitcode.com/gh_mirrors/spac/spacebot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考