使用 discourse-chat-integration 插件设置 Telegram 集成

你好!插件太棒了!

我已经成功将其添加到一个群组中,用于接收关于新主题创建和新回复的通知。

但我可以将同一个机器人添加到其他群组吗?…机器人是否会在两个群组中发布完全相同的信息,而不做任何其他更改?

我猜同一个机器人在每个群组中的 Chat ID 都会不同…但我需要向这里的专家确认!:smiling_face_with_sunglasses:

没错,这正是为了支持在多个群组中运行而设计的 :slight_smile:

所以,我把它们添加到其他群组(或多个群组)中,而不更改聊天 ID,无论什么情况都能正常工作吗?

你应该为每个群组在 Discourse 上创建一个新的“频道”

然后你可以为每个频道输入不同的聊天 ID。

2 个赞

太感谢了!我马上测试!!这里的支援太棒了!!:flexed_biceps:

1 个赞

有人吗?我完全没头绪 :<

我也遇到了这个问题。机器人没有响应,完全无法获取聊天 ID :frowning:


@kuba-orlik 终于成功了!

在浏览器中输入以下命令:

https://api.telegram.org/bot<token>/getUpdates

应该会返回如下 JSON 响应:

{"ok":true,"result":{"id":**xxxxxxxxxx**,"is_bot":true,"first_name":"forumbot","username":"mappy_forum_bot","can_join_groups":true,"can_read_all_group_messages":false,"supports_inline_queries":false}}

聊天 ID 就是 id 键中的值。祝你好运!

3 个赞

谢谢!

不久前,我在聊天中单独输入了 /rant,机器人也回复了 ID :man_shrugging:

2 个赞

我卡在这里了。已安装插件并添加了令牌,但找不到“添加频道”按钮。

请确保您已逐步完成 主插件说明。您是否已启用该插件以及 Telegram 提供商?之后,您应能看到如下界面:

我已启用了插件和 Telegram 提供商,但没有看到任何选项卡:

(截图是葡萄牙语的,但界面是一样的)

我运行的是 2.5.0.beta7,部署在 Digital Ocean / Ubuntu 上。

是的,我就是从那里来的。

如果我点击 discourse-chat-integration 右侧的“设置”,就会进入这里:

抱歉,此处的界面不够理想。您需要在第一张截图的左侧点击“聊天集成”。请勿点击“设置”按钮。

1 个赞

啊,太好了!这有点奇怪,但终于找到了。谢谢你的帮助。

1 个赞

我无法从我的 Telegram 频道列表和 Telegram 群组中获取聊天 ID。

我创建了一个机器人,并使用“聊天集成”插件将其令牌填入 Discourse 设置中。随后,我将该机器人添加到了 Telegram 频道列表以及一个 Telegram 群组(作为管理员)中。

现在我需要获取频道 ID,以便在 https://bathindahelper.com/admin/plugins/chat/telegram 上创建频道。[/getchatid 命令在任何情况下都不起作用]

恳请指导,为什么我无法从 Telegram 机器人/频道/群组中获取任何聊天 ID?我仅能通过机器人,使用以下浏览器命令获取一个聊天 ID:
https://api.telegram.org/bot1379583420:ASOMELETTERSVQHVc/getupdates

此外,我感到困惑:我是否应该从 Telegram 获取两个不同的“聊天 ID”?还是应该获取三个,分别对应机器人、频道和群组?

如果发错地方了,抱歉。不过目前看来这里确实出了问题。安装集成和设置机器人本身没问题,但通知始终无法发出,聊天命令也从未收到回复。

查询 Telegram API 获取当前为机器人设置的 webhook 时,返回了一个 webhook,但没有 URL,所以可能是该任务失败了?

以下是 Telegram getWebhookInfo 端点的响应:

{
  "ok": true,
  "result": {
    "url": "",
    "has_custom_certificate": false,
    "pending_update_count": 17
  }
}

编辑: 我在 Rails 控制台中手动运行了 DiscourseChat::Provider::TelegramProvider.setup_webhook() 来设置 webhook,它稍微有点用,但来自 Telegram 的钩子在访问 Discourse 时返回 404:

POST /chat-integration/telegram/command/<redacted> HTTP/1.1" "-" "telegram_command/command" 404 3329 "-" 0.020 0.019 "-"

我已检查,令牌中被隐藏的部分与数据库中的 chat_integration_telegram_secret 设置一致。

无法找到任何消息来向 Telegram 机器人发送测试消息。这似乎是在最近一次更新后发生的。

即使这些帖子存在于我的网站中

非常抱歉让您久等了!我刚刚推送了一个修复程序,应该能解决这些问题:

https://github.com/discourse/discourse-chat-integration/commit/1dc753771b427ba6ac07e62dd77797edee8c3aac

如果您已经设置了该插件,则需要禁用并重新启用 chat_integration_telegram_enabled 设置,以便正确重新配置。

3 个赞

谢谢。我已禁用该设置,然后重新启用。希望这就足够了。