private static void BotOnCallbackQueryRecived(object sender, CallbackQueryEventArgs e) { //InfoMenu.CallbackQueryRecived(sender, e); if (NearBars.ContainsData(e.CallbackQuery)) { Console.WriteLine("ttt"); NearBars.CallBackQRecived(sender, e); } else if (NearBars.CallBackData.Contains(e.CallbackQuery.Data)) { NearBars.GetMenuItems(e.CallbackQuery.Data, e.CallbackQuery.Message.Chat.Id); } }
private static async void BotOnMessageRecived(object sender, Telegram.Bot.Args.MessageEventArgs e) { var message = e.Message; Console.WriteLine(message.Text); //if (message.Text.Equals("/start")) { } //if (message.Text.Equals("/help")) { } //if (message.Text.Equals("/Назад")) { } //NearBars.Execute(); //TopOfBars //InfoMenu.MessageRecived(sender,e); //SearchMenu.Execute(); //SearchByConditions //SittingsMenu.Execute(); if (InfoMenu.Contains(message)) { if (message.Text.Equals("\U00002049")) { await bot.SendTextMessageAsync(message.Chat.Id, InfoMenu.Info, replyMarkup : InfoMenu.ReplyKeyboard); InfoMenu.MessageRecived(sender, e); } else { InfoMenu.MessageRecived(sender, e); } } else if (NearBars.Contains(message)) { if (message.Type == Telegram.Bot.Types.Enums.MessageType.Location) { NearBars.MessageRecived(sender, e); } else if (message.Text.Equals("\U0001F43E")) { await bot.SendTextMessageAsync(message.Chat.Id, NearBars.AskLocation, replyMarkup : NearBars.ReplyKeyboardGeo); NearBars.MessageRecived(sender, e); } else { NearBars.MessageRecived(sender, e); } } else if (SearchMenu.Contains(message)) { if (message.Text.Equals("\U0001F50D")) { //await bot.SendTextMessageAsync(message.Chat.Id, SearchMenu.Menu, replyMarkup: SearchMenu.ReplyKeyboard); //SearchMenu.MessageRecived(sender, e); SearchMenu.FlagToWriteName = true; //SearchMenu.UserNameRecived(sender, e); await bot.SendTextMessageAsync(message.Chat.Id, "Введите название бара", replyMarkup : NearBars.ReplyKeyboarBack); } } else if (message.Text.Equals("/start")) { answ = await bot.SendTextMessageAsync(message.Chat.Id, StartMenu.Greeting, replyMarkup : StartMenu.ReplyKeyboard); } else if (message.Text.Equals("/help")) { answ = await bot.SendTextMessageAsync(message.Chat.Id, InfoMenu.Info); } else if (message.Text.Equals("Назад")) { await bot.SendTextMessageAsync(message.Chat.Id, StartMenu.menu, replyMarkup : StartMenu.ReplyKeyboard); NearBars.FlagToWriteRange = false; SearchMenu.FlagToWriteName = false; } else if (SittingsMenu.Contains(message)) { if (message.Text.Equals("\U00002699")) { await bot.SendTextMessageAsync(message.From.Id, SittingsMenu.Greeting, replyMarkup : SittingsMenu.ReplyKeyboard); SittingsMenu.MessageRecived(sender, e); } else { SittingsMenu.MessageRecived(sender, e); } } else if (TopOfBars.Contains(message)) { if (message.Text.Equals("\U0001F51D")) { await bot.SendTextMessageAsync(message.Chat.Id, "Тут будет топ баров"); } else { await bot.SendTextMessageAsync(message.Chat.Id, "Тут будет топ баров"); } } else if (AllBarsWithMenu.Contains(message)) { AllBarsWithMenu.MessageRecived(sender, e); } else if (NearBars.FlagToWriteRange == true) { double range; bool res = Double.TryParse(message.Text, out range); if (res == true) { NearBars.UsersRangeRecived(sender, e, range); } else { await bot.SendTextMessageAsync(message.Chat.Id, "вы ввели не кореектное число\nили вообще не число"); } } else if (SearchMenu.FlagToWriteName == true) { SearchMenu.UserNameRecived(sender, e); } else { //SearchMenu.MessageRecived(sender, e); } switch (message.Text) { /* * case "/start": * answ=await bot.SendTextMessageAsync(message.Chat.Id, StartMenu.Greeting, replyMarkup: StartMenu.ReplyKeyboard); * MessagesFromBot.Add(answ); * break; * case "/help": * answ=await bot.SendTextMessageAsync(message.Chat.Id, InfoMenu.Info); * MessagesFromBot.Add(answ); * break; * case "Назад": * //в главное меню * await bot.SendTextMessageAsync(message.Chat.Id, StartMenu.menu, replyMarkup: StartMenu.ReplyKeyboard); * break; */ /* * case "\U0001F43E": * //near bars * await bot.SendTextMessageAsync(message.Chat.Id, NearBars.AskLocation, replyMarkup: NearBars.ReplyKeyboardGeo); * NearBars.Execute(); * Console.WriteLine("рядом"); * break; */ /* * case "\U0001F51D": * //top of bars * Console.WriteLine("топ"); * break; */ /* * case "\U00002049": * //info about application and other secondary things * //inf= new InfoMenu(); * await bot.SendTextMessageAsync(message.Chat.Id, InfoMenu.Info, replyMarkup: InfoMenu.ReplyKeyboard); * InfoMenu.Execute(sender,e); * //Program.MessagesFromBot.Add(answ); * Console.WriteLine("инфо"); * break; */ /* * case "\U0001F50D": * //search * await bot.SendTextMessageAsync(message.Chat.Id, SearchMenu.Menu, replyMarkup: SearchMenu.ReplyKeyboard); * SearchMenu.Execute(); * Console.WriteLine("поиск"); * break; */ /* * case "\U0001F52E": * //search by conditions * Console.WriteLine("поиск по критериям"); * break; */ /* * case "\U00002699": * //sittings * await bot.SendTextMessageAsync(message.From.Id, SittingsMenu.Greeting, replyMarkup: SittingsMenu.ReplyKeyboard); * SittingsMenu.Execute(); * //MessagesFromBot.Add(answ); * Console.WriteLine("настройки"); * break; */ default: //StartMenu.Execute(); //await bot.SendTextMessageAsync(message.From.Id,"Это что то незнакомое..."); break; } }
public static async void UserNameRecived(object sender, MessageEventArgs e) { char[] text_message = e.Message.Text.ToLower().ToCharArray(); Console.WriteLine(text_message); List <ModelOfBar> Bars = new List <ModelOfBar>(); for (int i = 0; i < text_message.Length; i++) { if (text_message[i].Equals('ё')) { text_message[i] = 'е'; } } foreach (var item in Program.BarInfo) { if (item.BarName.ToLower().IndexOf(new string(text_message)) != -1) { //записываются бары которые подошли Bars.Add(item); } } if (Bars.Count == 0) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "не удалось найти ни одного бара с таким именем"); return; } NearBars.NearBarsList = Bars; if (!NearBars.counter.ContainsKey(e.Message.Chat.Id)) { NearBars.counter.Add(e.Message.Chat.Id, 0); } else { NearBars.counter[e.Message.Chat.Id] = 0; } if (NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].HasMenu == true) { if (NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks.Count > 0) { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendPhotoAsync(e.Message.Chat.Id, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks[0], NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(true, true, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } else { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendTextMessageAsync(e.Message.Chat.Id, NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(true, false, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } } else { if (NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks.Count > 0) { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendPhotoAsync(e.Message.Chat.Id, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks[0], NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(false, true, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } else { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendTextMessageAsync(e.Message.Chat.Id, NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(false, false, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } } }
public static async void MessageRecived(object sender, MessageEventArgs e) { List <ModelOfBar> bars = new List <ModelOfBar>(); foreach (var item in Program.BarInfo) { if (item.HasMenu == true) { bars.Add(item); } } NearBars.NearBarsList = bars; if (bars.Count == 0) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "не найдено ни одного бара", replyMarkup : NearBars.ReplyKeyboarBack); } else if (bars.Count % 10 == 1) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "найден " + bars.Count + " бар", replyMarkup : NearBars.ReplyKeyboarBack); } else if (bars.Count % 10 == 2 || bars.Count % 10 == 3 || bars.Count % 10 == 4) { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "найдено " + bars.Count + " бара", replyMarkup : NearBars.ReplyKeyboarBack); } else { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "найдено " + bars.Count + " баров", replyMarkup : NearBars.ReplyKeyboarBack); } if (!NearBars.counter.ContainsKey(e.Message.Chat.Id)) { NearBars.counter.Add(e.Message.Chat.Id, 0); } else { NearBars.counter[e.Message.Chat.Id] = 0; } if (NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].HasMenu == true) { if (NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks.Count > 0) { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendPhotoAsync(e.Message.Chat.Id, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks[0], NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(true, true, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } else { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendTextMessageAsync(e.Message.Chat.Id, NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(true, false, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } } else { if (NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks.Count > 0) { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendPhotoAsync(e.Message.Chat.Id, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].PictureLinks[0], NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(false, true, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } else { if (NearBars.answ != null) { await Bot.DeleteMessageAsync(NearBars.answ.Chat.Id, NearBars.answ.MessageId); } NearBars.answ = await Bot.SendTextMessageAsync(e.Message.Chat.Id, NearBars.SetCaption(e.Message.Chat.Id), replyMarkup : NearBars.SetKeyboard(false, false, true, NearBars.NearBarsList[NearBars.counter[e.Message.Chat.Id]].BarName)); } } }