title: How to receive a response from multiple instances of the same telegram bot
body: <p>I have 2 instances of the same software that are using the same bot token ( therefore are the same Telegram bot ), so <strong>1 bot but more instances that runs it</strong>.</p>
  <p>I do so because i want to monitor various windows services on multiple machines, and i do not want to create a bot for each one so i've installed the same bot on each machine.</p>
  <p><strong>The problem is that i do not have the certainty that i will receive the response from each instance every time i make a request, sometime i receive both responses, sometime i receive only one</strong>;</p>
  <p>To me seems like my request (my message in the chat [bot commands] ) arrives first to an instance than the other (of course), and somehow my request is removed from the chat and not seen from every instance.</p>
  <p>As you can see from the code below i am using various async methods for handling chat events</p>
  <pre><code>        Bot = new TelegramBotClient(token);
          Bot.OnMessage += BotOnMessageReceived;
          Bot.OnMessageEdited += BotOnMessageReceived;
          Bot.OnCallbackQuery += BotOnCallbackQueryReceived;
          Bot.StartReceiving();
  </code></pre>
  <p>this is where the user requests arrive</p>
  <pre><code>async void BotOnMessageReceived(object sender, MessageEventArgs messageEvent)
      {
          if (messageEvent.Message.Text != null &amp;&amp; 
              chatIDs.Contains(messageEvent.Message.Chat.Id))
          {
              Console.WriteLine($&quot;Received a text message in chat 
              {messageEvent.Message.Chat.Id}.&quot;);
  
              int delay = new Random().Next(3, 4) * 1000;
  
              Thread.Sleep(delay);
  
              if (messageEvent.Message.Text.Equals(GetStatusMessage))
              {
                  await getSevicesStatus(messageEvent.Message.Chat.Id);
              }
              else if (messageEvent.Message.Text.Equals(SetStatusMessage))
              {
                  await setSevicesStatus(messageEvent.Message.Chat.Id);
              }
          }
      }
  </code></pre>
  <p>as you can see from the code i tried forcing a random delay and found out that it alters the bot behavior, making both instances write their corresponding responses (sometimes)</p>
  <p>So my question is :
  <strong>Which is the correct way to handle multiple instances of the same bot like in this situation, so that every instance can post their response to my requests ?</strong></p>
  <pre><code>Assembly Telegram.Bot, Version=15.7.1.0
  </code></pre>