Como resolver distúrbios no meu bot em c #?

Eu fiz um telegrama Bot. Na verdade, o bot é um jogo, jogue adivinhar certas palavras. Mas o problema é quando adiciono robôs a dois grupos diferentes (como administrador) ou Dois telegramas de usuário, separadamente ، uso do bot e inicio o bot, Coloca o impacto do que eles jogaram juntos. O jogo em uma pessoa causa um distúrbio no jogo na próxima pessoa. por exemplo: se john iniciar meu bot no Mobile e a palavra_ desejada for john for Newyork e length = 7, quando sara iniciar meu bot no Mobile. Len_desiredwords para john, por exemplo, tornar-se 5.

library = NetTelegramBotApi 4.0.0 vs = 2013 v4;

Não sei o que fazer.

código:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NetTelegramBotApi;
using NetTelegramBotApi.Requests;
using NetTelegramBotApi.Types;
using System.Net.Http;
using System.Runtime.Remoting.Channels;
using System.Data;
using System.Data.SqlClient;
using System;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;

namespace WordsBot
{


 class Program
  {
   private static string Token =".........";
   private static ReplyKeyboardMarkup Menu1;

     static void Main(string[] args)
        {

           Task.Run(() => RunBot());
            Console.ReadLine();
        }

    public static async Task RunBot()
        {

            var bot = new TelegramBot(Token);
           // var updates = await bot.MakeRequestAsync(new GetUpdates() { Offset = offset });



            var me = await bot.MakeRequestAsync(new GetMe());
            Console.WriteLine("User Name is {0}", me.Username);
            long offset = 0;
            int whilecount = 0;
            while (true)
            {

                Console.WriteLine("while is {0}", whilecount);
                whilecount += 1;

                var  updates = await bot.MakeRequestAsync(new GetUpdates() { Offset = offset });

                Console.WriteLine("Update Count is {0} ", updates.Count());
                Console.WriteLine("-------------------------------------");
                try
                {



     string desired_word = "";
     int Len_desiredwords = 0 ;
     char [] blank1='';
     string b1="";
     string [] blank2="";
     foreach (var update in updates)
       {
        var text = update.Message.Text;
        offset = update.Id + 1;
         if (Text == "/start")
         {
            ds_GetDersiredWords = DAL.Get_DersiredWords();
             dt_GetDersiredWords = ds_GetDersiredWords.Tables[0];
             desired_word=dt_GetDersiredWords.Rows[0][1].tostring();// get word random of db 
             Len_desiredwords = desired_word.Length; // count charachter of word
             blank1 = desired_word.tochararray();// string to chararray

             for (int ii=0;ii<Len_desiredwords;ii+)// insert charachter '_' in blank1
             {
                  blank1 [ii] = '_';
             }
             for (int jj=0;jj<Len_desiredwords;jj++ )
             {
                  blank2 = blank2 + blank1 [jj];
             }

             var q = new SendMessage(update.Message.Chat.Id, "please Enter one charachter\n desired_word ="+blank2 ); // send to user id in telegram message.
             await bot.MakeRequestAsync(q);
                         continue;
          }
          else if (Text.length==1) // if Text = one Character
          {
             for (int xx=0;xx<Len_desiredwords;xx++)
             {
                  if (blank1 [xx] =system.convert.char(text))// check if charachter entered is in blank1 chararray? or no?
                  {
                      correct= true;
                      index1 = xx;
                      blank1[index1] = System.Convert.ToChar(text);
                      for(int yy= 0 ;yy<Len_desiredwords;yy++)
                      {

                      blank2 = blank2 + blank1 [yy];
                      }

                  }
                  else
                   {
                      continue;
                   }

              }

              if (correct==true)
                {
                        var q = new SendMessage(u.Message.Chat.Id,(update.Message.Chat.Id, "correct\n please Enter Next charachter\n desired_word ="+blank2 ");
                        await bot.MakeRequestAsync(q);
                        continue;
                 }

              else if(correct!=true)  
                {


                  var q = new SendMessage(u.Message.Chat.Id,(update.Message.Chat.Id, "incorrect\n please Enter Next charachter\n desired_word ="+blank2 ");
                  await bot.MakeRequestAsync(q);
                  continue;
                }         

           }
          else
           {
             continue;
            }
        }
   catch (Exception ex)
   {
       continue;
   }
}




}

exemplo:

john corra e inicie meu bot, meu bot manda john em telegrama:

- Welcome to Guess the word Game. 
- please Enter one charachter 
- desired_word  :  _ _ _ _ _ 
- You have 10 chances.

João envia por telegrama um personagem A

text = A, se A estiver correto, então envie bot para john

- Good , Correct Charachter John. 
- please Enter Next charachter 
- desired_word  :  _ _ A _ _ 
- You have 9 chances.

OK ?

Agora é a hora, sara execute meu bot e comece. meu bot manda sara em telegrama:

- Welcome to Guess the word Game. 
- please Enter one charachter 
- desired_word  :  _ _ _ _ _ _ _ _ _ 
- You have 18 chances.

Agora, john envia para bot, próximo personagem Z, meu bot envia para john em telegrama:

- Bad , False Charachter John. 
- please Enter Next charachter 
- desired_word  :  _ _ _ _ _ _ _ _ _
- You have 17 chances.

!!!!

O telegrama dos grupos é feito em grupos, bem como individualmente. talvez em grupo ou talvez individualmente.

questionAnswers(1)

yourAnswerToTheQuestion