你好,有没有办法自动将 Discord 中的帖子同步到 Discourse?
嗨,Sam!欢迎来到我们的社区。请查看 Set up Discord notifications with the discourse-chat-integration plugin
今后,请尝试使用
搜索功能——许多问题在这里都已被讨论过,而且搜索功能非常擅长帮你找到相关内容。
谢谢,但我已经查看过了,这并非我所需。这是从 Discourse 到 Discord 的同步,而非从 Discord 到 Discourse。
示例场景:
Discord 中的频道收到一条消息,该消息随后被发送至 Discourse,并基于此信息创建一个新主题。
Slack 中的聊天集成可以实现这一功能;您希望在 Discord 中实施“发布对话记录”功能。
谢谢,看来没有自动化的方法可以实现这一点。
你可以用自定义的 Discord 机器人来实现这一点,该机器人复制消息内容并向你的论坛发送 POST 请求。
这需要额外的托管服务,除非你打算使用 discordrb 编写你的机器人,并在论坛上使用插件。
试试使用这个:
https://meta.discourse.org/t/how-to-connect-discourse-with-hundreds-of-apps-using-integromat/
谢谢,我试过了,但不知何故,无法让正确设置消息 ID 变量的部分正常工作。
他们的技术支持很可能能帮你解决这个问题。
这涉及到权限和调用机制,具体会如何运作呢?
你是希望复制所有消息,还是仅复制特定频道中的消息?这些消息是全部追加到同一个主题下,还是在什么情况下会创建新的主题?
所有 Discord 用户是否都有权限执行此操作?
最终数据会存储在哪里?是否会没有归类到任何类别中?
仅包含调用频道中的消息,理想情况下截止到指定的停止点。
一种更高级的实现方式是:
- 点击你想要发布的第一条消息的“回复”按钮
- 输入 @YourDiscourseIntegrationBotAccount,并在末尾可选地添加
transcript或其翻译 - 从该消息到当前时间的转录(最多约 50 条消息)将被发布到 Discourse,如果可能,将以执行操作的用户身份发布
如果你希望支持交互式输入,例如设置自定义停止点、排除某些消息或自定义目标分类,可以做得更高级。这是我能想到的最佳用户体验,且无需来回交互。
实际上,让这一过程变得交互起来相当容易:
const BASE_URL = "https://discourse.example.com";
// 前提条件:
// msg.type == REPLY (19)
// msg.mentions 或 msg.mention_roles 包含机器人
// 这里是 JavaScript,但实际需要在 Ruby 中实现
function onMentionWithReply(msg) {
discord.sendMessage({
content: "<" + BASE_URL +
"/chat-integration/discord/make-transcript/" +
msg.channel_id + "/" +
msg.message_reference.message_id + ".." + msg.id +
">";
type: REPLY,
message_reference: { message_id: msg.id },
});
}
其中 /chat-integration/discord/make-transcript/:channel_id/:id1..:id2 将在 Discourse 上渲染一个交互式页面,你可以在此预览消息并完成最终确认。
潜在问题:
- 需要对访问该页面的用户进行权限检查,以避免不当泄露转录内容。
目前,我有一条从 Slack 到 Trello、再从 Trello 到 Discord 的链接,所以我希望这些帖子能直接发布到 Discord,或者让 Trello 在特定主题下创建新帖子。
发布的地方太多,时间却不够用!![]()
谢谢,我会看看的。
哦!抱歉。我没意识到该集成不像 Slack 集成那样支持双向发布。
不过我通常会有个疑问……为什么要这么做呢?这会在 Discourse 的长期记忆中塞满闲聊内容。
没问题,我想发布到 Discourse 的频道帖子是关于游戏新更新的公告。在多个地方发布相同内容非常耗时,而且 Discourse 常常被遗忘。因此,我试图减轻工作负担,同时希望提高 Discourse 的活跃度。
好的,我找到了一个变通方案,虽然不太完美,但只能这样了。
我不得不使用 Zapier(缺点是免费计划不足以覆盖所有帖子)来连接 Trello 和 Discourse,以便回复我为此专门创建的线程。
现在的流程是:
数据库通过 API 将帖子发送到 Slack,Slack 创建 Trello 卡片,Trello 再将内容发布到 Discord 和 Discourse。![]()
不过现在出现了一个循环问题:Discourse 会再次将内容转发到 Discord,哈哈。有没有办法排除我自己的帖子,避免这种情况?
我已在以下链接添加了一个相关功能:Discord Bot Construction Kit 🤖 - #79 by merefield
如果您将某个频道指定为“公告频道”,那么在该频道中输入的任何消息都会被发布到您指定的 Discourse 主题中。
(该更新还会监控从 Discourse 复制到 Discord 同一频道中的公告消息。)
在我的实现中也会出现这种情况,但并非无限循环,它只是确认帖子已成功添加。您可以通过将 Discord 主题在 Discourse 中放置在不同的位置,并避开被监控的分类来避免这个问题。
哦,谢谢!这说不定能让我省去再装一个第三方应用的麻烦!我只得看看它如何处理图片链接了。
其实我不是很理解你的说明,我在 Discourse 的菜单里找不到插件选项,也不清楚该如何安装你的插件。
请将关于该插件的具体问题发布到插件主题帖中。
您目前描述的问题有些模糊,我难以提供帮助。请确保您已仔细阅读了主帖(OP),然后发布一个具体的问题,我很乐意为您提供帮助。