I have created the test Telegram bot console app using sample from this link https://github.com/TelegramBots/Telegram.Bot.Examples
There is my main
public static async Task Main()
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Bot = new TelegramBotClient(Configuration.BotToken);
var me = await Bot.GetMeAsync();
Console.Title = me.Username;
var cts = new CancellationTokenSource();
// StartReceiving does not block the caller thread. Receiving is done on the ThreadPool.
Console.WriteLine($"Bot.Timeout= {Bot.Timeout}");
//Bot.Timeout = TimeSpan.FromMilliseconds(30000);
Bot.StartReceiving(
new DefaultUpdateHandler(HandleUpdateAsync, HandleErrorAsync),
cts.Token
);
Console.WriteLine($"Start listening for @{me.Username}");
Console.ReadLine();
// Send cancellation request to stop bot
cts.Cancel();
}
I run it on Windows 10 - it works fine. But when I run it on the Windows 7 machine I receive the exception:
Bot.Timeout= 00:01:40 Start listening for @my123_bot HandleErrorAsync Telegram.Bot.Exceptions.ApiRequestException: Conflict: terminat ed by other getUpdates request; make sure that only one bot instance is running at Telegram.Bot.TelegramBotClient.d__54
1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot ification(Task task) at Telegram.Bot.TelegramBotClientPollingExtensions.<ReceiveAsync>d__3.MoveNex t() HandleErrorAsync Telegram.Bot.Exceptions.ApiRequestException: Conflict: terminat ed by other getUpdates request; make sure that only one bot instance is running at Telegram.Bot.TelegramBotClient.<MakeRequestAsync>d__541.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot ification(Task task) at Telegram.Bot.TelegramBotClientPollingExtensions.d__3.MoveNex t()
What is the reason and how to fix it?
As described in the comments;
: terminat ed by other getUpdates request; make sure that only one bot instance is running
Indicates that getUpdates() is being called at the same time.
To prevent this, either stop the other bots, or create a bot that will receive a web-hook HTTP POST request on update.
You should ensure that each message is handled by the bot(s) before you tell Telegram the message has been seen by the getUpdate() offset param.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With