BadCats
@BadCats

Telegram bot OnMessage — не запоминает ввод?

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;
        }

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

Войдите, чтобы написать ответ

Похожие вопросы