如何使用注册为渠道管理员的机器人访问电报频道消息?
我正在尝试从Telegram频道获取所有消息并将其显示在ASP.NET网页中(c#)
当新消息直接发送到机器人时,我能够获得更新:
var json = wc.DownloadString(" https://api.telegram.org/bot<token>/getUpdates");
但它不适用于频道。
答案 0 :(得分:2)
不幸的是,它还不可能。(他们可能会在将来提出一些建议)作为管理员,你可以发送消息到频道。
答案 1 :(得分:0)
到目前为止唯一的方法如下:
privacy
设置为disabled
。步骤1可帮助您的机器人加入频道,以便查看消息。
第2步让您的机器人收听频道的所有消息。
答案 2 :(得分:0)
您可以接收频道信息和频道信息编辑。
但是您不会在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
}
}