![](/img/trans.png)
[英]Telegram API (NOT Telegram Bot API!) - how to get all messages in entire chat/channel?
[英]How can I get messages from a Telegram channel with the Telegram API
如何使用注册为频道管理员的机器人访问电报频道消息?
我正在尝试从 Telegram 频道获取所有消息并将它们显示在 ASP.NET 网页中 (c#)
当新消息直接发送到机器人时,我能够获得更新:
var json = wc.DownloadString(" https://api.telegram.org/bot<token>/getUpdates");
但它不适用于该频道。
不幸的是,这还不可能。(他们将来可能会想出一些办法)作为管理员,您可以将消息发送到频道。
您可以接收频道帖子和频道帖子编辑。
但是您不会在OnMessage
事件中收到它,您可以从OnUpdate
接收它作为Message
对象,如下代码所示:
注意:机器人必须是频道中的管理员。
private static readonly TelegramBotClient Bot = new TelegramBotClient("my-real-token");
public static void Main(string[] args)
{
Bot.StartReceive(UpdateType.ChannelPost, UpdateType.EditedChannelPost);
Bot.OnUpdate += Bot_OnUpdate;
}
public static void OnUpdate(UpdateEventArgs e)
{
if (e.Update.Type == UpdateType.ChannelPost)
{
Message post = e.Update.ChannelPost;
//TODO: Store channel post
}
else if (e.Update.Type == UpdateType.EditedChannelPost)
{
Message editedPost = e.Update.EditedChannelPost;
//TODO: Store edited channel post
}
}
到目前为止,唯一的方法如下:
privacy
设置为disabled
。第 1 步帮助您的机器人加入频道,以便它看到消息。
第 2 步让您的机器人收听频道的所有消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.