通过 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 频道的主要内容,如果未能解决你的问题,请参考以下文章
找出我自己的用户 ID 以使用 Telegram API 发送消息