telegram bot OnMessage - не запоминает ввод

146
28 марта 2018, 02:13
static void Main(string[] args)
    {
        botClient = new TelegramBotClient("token");
        var BotInformation = botClient.GetMeAsync().Result;
        botClient.StartReceiving();
        botClient.OnMessage += BotClient_OnMessage;

        Console.ReadLine();
        //botClient.StopReceiving();
        CountKey = 0;
    }
private async static void BotClient_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
    {
        Program. args = e;
        switch (e.Message.Text)
        {
            case "/generate":
                My_messege = e.Message;
                Find_Path();
                break;
            case "/draw":
                My_messege = e.Message;
                StartGame();
                break;
            default:
                My_messege = e.Message;
                break;
        }

Выхываем Find_Path(); в Find_Path(); я проверяю что ввел пользователь

 if (wariant == "/left" && (LastID == 1 || LastID == 3 || LastID == 4))
        {
            s = "/left";
            s2 = "/right";
            await botClient.SendPhotoAsync(My_messege.Chat.Id, dd);// два пути  - лево - право
            goto check;
        }
        if (wariant == "/right" && LastID == 1 || LastID == 3 || LastID == 4)
        {
            s = "/right";
            s2 = "/left";
            await botClient.SendPhotoAsync(My_messege.Chat.Id, dd);// два пути  - лево - право
        }

- но прежде получаю значение wariant при первом вызове Find_Path

 if (C == 0)
        {
            await botClient.SendPhotoAsync(My_messege.Chat.Id, dd);
            await botClient.SendTextMessageAsync(My_messege.Chat.Id, s + " " + s2);
            wariant = args.Message.Text;
            C++;
            //вызвать BotClient_OnMessage
            Program.BotClient_OnMessage(botClient, args);
            return;
        } - данный блок выполнится только один раз благодаря C

в нем я должен переменной wariant присвоить то, что ввел пользователь - инициализируя ее. Но метод BotClient_OnMessage - не вызывается при вводе второй раз после запуска бота.Я подумал что это из- за того что сейчас я и так нахожусь в BotClient_OnMessage - в одном из case и решил попробовать вызывать его вручную, но это также не помогает - даже при ручном перевызова в блоке switch (e.Message.Text) - остается старое значение.

READ ALSO
Группировка по 2-ум полям в LINQ

Группировка по 2-ум полям в LINQ

Есть 2 набора данных - питомцы:

154
Иерархия консольного меню

Иерархия консольного меню

Может кто знает как правильно организовывать вызовы меню в логике консольного приложения? Допустим есть класс логикиИ много классов меню

174
C# WPF поставить иконку для окна

C# WPF поставить иконку для окна

Добавил в resources новую иконку, для окна в свойстве icon указал ееВ XAML добавило

158
Что значит int[] при создании метода [требует правки]

Что значит int[] при создании метода [требует правки]

На CodeWars тонны таких заданий с такой штукой и я не понимаю что оно делает По типу public void int

158