如何使用Telegram API从Telegram频道获取消息
本文关键字:Telegram 获取 消息 频道 API 何使用 | 更新日期: 2023-09-27 18:28:32
如何使用注册为频道管理员的机器人访问Telegram频道消息?
我正在尝试从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步让你的机器人监听频道的所有消息。