基于 mautrix-slack。支持现代 Slack 工作区(免费和付费套餐均可)。频道映射为 Matrix 房间,整个工作区变成一个 Matrix 空间,DM / 线程 / 表情回应全部双向同步。
@slackbot:<你的名称>.meldry.com。有两种登录方式,二选一。
使用你个人的 Slack 用户 token——Slack 桌面/网页端用的就是同一个凭据。
https://app.slack.com。localConfig_v2 这一项。在里面找到你工作区对应的 token 字段——以 xoxc-... 开头。https://app.slack.com 里找到 d cookie——以 xoxd-... 开头。@slackbot:<你的名称>.meldry.com 发:
login-token xoxc-... xoxd-...
Successfully logged in as @yourname on My Workspace。可为其他工作区重复此步骤——每次 login-token 添加一个工作区。
https://<你的名称>.meldry.com/slack/install 安装 Meldry Slack 应用。login——会被重定向到 Slack 的 OAuth 授权页。Logged in via OAuth。OAuth 的逐用户授权更干净,也能在 Slack 密码变更后继续有效;token 方式在 Slack 会话过期时会断开。
@user 映射到 Slack 的 <@UXXX>,反之亦然。默认登录后,你加入的 所有 频道都会被桥接。如果你想只桥接一两个——在 login 命令中加 --no-auto-join,然后运行:
join !matrix-room-id #slack-channel-name
| 命令 | 作用 |
|---|---|
login | OAuth 登录流程 |
login-token xoxc-... xoxd-... | 个人 token 登录 |
logout | 解绑当前工作区 |
workspaces | 列出已关联的工作区 |
join <matrix-room> <slack-channel> | 手动桥接某个频道 |
sync | 强制全量同步 |
help | 完整命令列表 |
"Invalid tokens"——xoxc 或 xoxd 凭据过期了。重新登录 Slack 并复制新的值。
登录后频道缺失——Slack 的 token 认证只能看到你明确加入的频道。先在 Slack 里加入该频道,然后运行 sync。
Emoji 不翻译——工作区自定义 emoji 需要单独上传到 Matrix。桥接只自动处理标准 emoji。
回填慢——有几千个频道的工作区需要几分钟。sync 命令是分批的,进度会在桥接 DM 里显示。
"Workspace is paywalled"——Slack 免费套餐限制 90 天的消息历史。桥接只能回填 Slack API 返回的部分。
删除单个工作区:在桥接 DM 里发 logout,机器人会问你要解绑哪个工作区。要完全卸载桥接并释放配额,在 仪表板 → 服务器 → 桥接 里禁用它。