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)
- остается старое значение.