【问题标题】:How can I get messages from a Telegram channel with the Telegram API如何使用 Telegram API 从 Telegram 频道获取消息
【发布时间】:2016-04-04 05:19:16
【问题描述】:

如何使用注册为频道管理员的机器人访问 Telegram 频道消息?

我正在尝试从 Telegram 频道获取所有消息并将它们显示在 ASP.NET 网页 (c#) 中

当新消息直接发送到机器人时,我能够获得更新:

var json = wc.DownloadString(" https://api.telegram.org/bot<token>/getUpdates");

但它不适用于频道。

【问题讨论】:

  • 你知道如何获取其他人使用/start 命令发送的电报机器人的消息吗?谢谢。
  • 新的@ifttt 电报机器人可以提供帮助。
  • 你所谓的Telegram API真的是Telegram Bot API

标签: c# asp.net telegram-bot


【解决方案1】:

不幸的是,这还不可能。(他们将来可能会想出一些东西)作为管理员,您可以将消息发送到频道。

【讨论】:

  • 对不起。还没有。
  • 不,您可以从频道中接收更新,请参阅this
【解决方案2】:

您可以接收频道帖子和频道帖子编辑。

但您不会在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
    }
}

【讨论】:

    【解决方案3】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-17
      • 2016-02-23
      • 2021-10-23
      • 2021-04-03
      • 1970-01-01
      • 2021-01-19
      • 2018-02-17
      • 2022-07-14
      相关资源
      最近更新 更多