gpt4 book ai didi

c# - 在另一个管理员向 channel 发送帖子后, channel 管理员 Telegram 机器人停止获取更新

转载 作者:太空宇宙 更新时间:2023-11-03 23:03:21 29 4
gpt4 key购买 nike

我的 Telegram Bot 使用 NetTelegramBotApi 库在 C# 中编程,是我 channel 的三个管理员之一,当我运行该机器人时,它运行良好,直到另一个管理员(人类管理员而不是机器人管理员)发送帖子到 channel 。

The bot stops getting the updates and answering them after human-admin posts to the channel.

这是将帖子发送到我的 channel 的一段代码:

if(update.Message.Chat.Username == "xxxx" || update.Message.Chat.Username == "yyyy")
{
var req = new SendMessage(ChID, text) { ParseMode = SendMessage.ParseModeEnum.HTML, DisableWebPagePreview = true };
await bot.MakeRequestAsync(req);
var req2 = new SendMessage(update.Message.Chat.Id, "✅Your post was sent successfully.✅");
await bot.MakeRequestAsync(req2);
continue;
}

有关详细信息,ChID 是我的机器人和 channel 的聊天 ID,我的机器人会检查机器人用户是否是人类管理员之一。如果用户是 channel 管理员,则机器人会将帖子发送到 channel 。

请帮我解决这个问题。

最佳答案

问题恰恰在您获取更新代码中。

首先如您所知,机器人无法接收来自其他机器人的消息,所以这就是机器人管理员的帖子做得很好的原因。 其次您应该明确地确保所有类型的更新在获取时都得到处理。出现此类问题的常见情况是不正确地检查更新类型。

在你的情况下应该检查任何 update对于 channel_postedited_channel_post 类型,因为现在它在您的代码中跳过并且机器人在使用这些类型的更新对象进行更新时抛出异常。

另请注意,如果您希望您的机器人不被丢弃,则需要在所有情况下捕获异常。

关于c# - 在另一个管理员向 channel 发送帖子后, channel 管理员 Telegram 机器人停止获取更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42249219/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com