skip to Main Content

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__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.<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__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.d__3.MoveNex
t()

What is the reason and how to fix it?

3

Answers


  1. 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.

    Login or Signup to reply.
  2. make sure that only one bot instance is running

    I was able to solve this problem by revoking and updating bot token. This worked because I think it stopped all the bot instances that were using the old token.

    Login or Signup to reply.
  3. I solved this problem with rebooting my PC. I guess problem appears because the processes we cant see and rebooting just stops them down

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search