通过 API 自动将消息发布到 Telegram 频道

Posted

技术标签:

【中文标题】通过 API 自动将消息发布到 Telegram 频道【英文标题】:Automate posting messages to a Telegram channel via API 【发布时间】:2016-06-03 12:49:53 【问题描述】:

我是 Telegram API 的新手。 我想自动将消息发布到我的公共电报频道。 我阅读了一些使用机器人可以实现此目的的帖子,但我不确定这是否是最好的方法以及 API 是否可以选择直接发布到频道。

我想获得一些关于如何实现这一目标的起点? 我应该使用哪个 API? 我是否需要开发帐户或机器人等?

【问题讨论】:

【参考方案1】:

您可以使用机器人向频道发送消息。但是有一些限制,比如文件的大小。

    通过向@botfather 发送消息来创建您的机器人 将机器人添加到您的频道。 *** 编写代码以向您的频道发送消息。 bot api

【讨论】:

【参考方案2】:

在使用电报 API 一年后,我想更新此答案以获得与电报 API 交互的最佳方式。

对于发布到频道,电报 API 和电报机器人 API 都可以发布到频道。

我直接使用这两个 API,但我发现以下用于电报 API 和机器人 API 的客户端可以更快、更轻松地与电报交互。

Telegram API 客户端:

https://github.com/LonamiWebs/Telethon

电报机器人 API:

https://github.com/python-telegram-bot/python-telegram-bot

【讨论】:

应该如何使用这些?你能补充一些解释吗? @trix 转到上面列出的 github 页面,这两个项目的首页都有很好的说明如何立即设置它们。当然,你需要一些 Python 的基本知识,但除此之外,第一页上的自述文件非常不言自明。【参考方案3】:

使用 Telegram Bot API 无法从 Telegram 频道读取消息。

为了能够从您不拥有的 Telegram 频道中抓取消息,您需要开发自己的 Telegram 客户端,该客户端能够:

    通过链接加入您想要的频道 转发消息,到达您的客户订阅的频道,到达您自己的 Telegram 频道

为了开发您自己的 Telegram 客户端,您需要使用 MTProto 的一些实现。

您可以使用mtproto 关键字在https://github.com 上找到很多MTProto 的实现。

几个有据可查的实现示例:

php 中:https://github.com/danog/MadelineProto 在 Python 中:http://github.com/LonamiWebs/Telethon

但是,如果您唯一想要的是将现有 Telegram 频道的多个重定向到您自己的频道,那么开发您自己的解决方案来解决这个问题可能会有点矫枉过正。

有提供此类服务的应用程序。

例如,有来自telespace.me团队的MultiFeed Bot

https://telespace.me/apps/multifeed_bot

它允许您在 Telegram 中设置消息转发以及重定向到外部服务。

【讨论】:

【参考方案4】:

如果需要,您可以在没有 API 的情况下执行此操作,例如使用 @Manybot。https://manybot.io/ 实际上,您可以使用这个机器人作为基础做很多小事情,而无需任何编程。

【讨论】:

@KhalidAlmallahi,抱歉,您是如何测试它的,您能否逐步描述操作,究竟是什么不起作用?我有 2 个机器人在使用它并且都工作正常,只需阅读教程,那里没什么特别的。我的工作机器人示例,使用 Manybots 作为“后端”:t.me/thevergenews,您可以看到并检查它是否正常工作。

以上是关于通过 API 自动将消息发布到 Telegram 频道的主要内容,如果未能解决你的问题,请参考以下文章

Telegram 通过 bot api 将成员添加到频道

使用 Telegram - API 或 CLI 发送消息?

找出我自己的用户 ID 以使用 Telegram API 发送消息

Telegram Bot API:缺少语音消息音频频谱图。一个错误?

如何在 C# 中使用 Telegram API 发送消息

使用 Java 桌面应用程序的 Telegram API?