繁体   English   中英

如何使用 Telegram API 从 Telegram 频道获取消息

[英]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
    }
}

到目前为止,唯一的方法如下:

  1. 您的机器人将由其管理员添加到频道中。
  2. 您将机器人的privacy设置为disabled

第 1 步帮助您的机器人加入频道,以便它看到消息。

第 2 步让您的机器人收听频道的所有消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM