// Выключение таймера работнику public static InlineKeyboardMarkup OffTimerOfEmployee() => new InlineKeyboardMarkup( new[] { new [] { InlineKeyboardButton.WithCallbackData("Выключить таймер") }, new [] { InlineKeyboardButton.WithCallbackData("<< Выбор девушки") } });
// // ----------------------- Набор меню для Работника ----------------------- // // Главное меню рабочего public static InlineKeyboardMarkup MainMenuOfEmployee() => new InlineKeyboardMarkup( new[] { new [] { InlineKeyboardButton.WithCallbackData("Выбрать рабочий день") }, new [] { InlineKeyboardButton.WithCallbackData("Показать статистику") } });
public async Task SendVetoRequestAsync(Player player) { var replyKeyboardMarkup = new InlineKeyboardMarkup(new InlineKeyboardButton[] { InlineKeyboardButton.WithCallbackData("Ya", $"{ChatId}:SingleVote:Ya"), InlineKeyboardButton.WithCallbackData("Nein", $"{ChatId}:SingleVote:Nein") } ); await Bot.Instance.SendTextMessageAsync( chatId : player.User.Id, text : "Хотите воспользоваться правом вето?", replyMarkup : replyKeyboardMarkup); }
public async Task SendChoiceAsync(Player voting, List <Player> except = null, string txt = "Выберите") { var replyKeyboardMarkup = new InlineKeyboardMarkup( Players.Except(except ?? Enumerable.Empty <Player>()).Select(player => InlineKeyboardButton.WithCallbackData( string.Join(" ", player.User.FirstName, player.User.LastName), $"{ChatId}:Choice:{player.User.Id}")) ); var mes = await Bot.Instance.SendTextMessageAsync( chatId : voting.User.Id, text : txt, replyMarkup : replyKeyboardMarkup); }
/// <summary> /// Вызывает команду /// </summary> /// <param name="message">принимает сообщение</param> /// <param name="client">Ссылка на экземпляр бота</param> public async void Execute(Message message, TelegramBotClient client) { var chatId = message.Chat.Id; var messageId = message.MessageId; //var keyboard = new InlineKeyboardMarkup //( // new InlineKeyboardButton[][] // { // // First row // new InlineKeyboardButton[] // { // // First column // InlineKeyboardButton.WithCallbackData("one","callback1"), // // Second column // InlineKeyboardButton.WithCallbackData("two","callback2"), // }, // } //); var keyboard = new Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup(new[] { new [] // first row { InlineKeyboardButton.WithUrl("1.1", "www.pornhub.com"), InlineKeyboardButton.WithCallbackData("1.2", "callback1"), }, new [] // second row { InlineKeyboardButton.WithCallbackData("2.1", "callback2"), InlineKeyboardButton.WithCallbackData("2.2"), } }); await client.SendTextMessageAsync(chatId, "Жамкни!", replyMarkup : keyboard); client.OnCallbackQuery += async(object sender, Telegram.Bot.Args.CallbackQueryEventArgs ev) => { var CBQMessage = ev.CallbackQuery.Message; if (ev.CallbackQuery.Data == "callback1") { await client.AnswerCallbackQueryAsync(ev.CallbackQuery.Id, "Ты выбрал " + ev.CallbackQuery.Data, true); } else if (ev.CallbackQuery.Data == "callback2") { await client.SendTextMessageAsync(CBQMessage.Chat.Id, "тест", replyToMessageId : CBQMessage.MessageId); await client.AnswerCallbackQueryAsync(ev.CallbackQuery.Id); // отсылаем пустое, чтобы убрать "часики" на кнопке } }; }
private static async void TelegramBotClient_OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e) { var bot = (TelegramBotClient)sender; var message = e.CallbackQuery; Parse(); await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, downloads); var inlineKeyboard = new InlineKeyboardMarkup( InlineKeyboardButton.WithCallbackData("Да!") ); await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "Еще?", replyMarkup : inlineKeyboard); }
private static async Task ListarHotelesAsync(long chatId, string filtro, string valor) { List <Hotel> hoteles = GetHotelesFromAPI(); switch (filtro) { case "Clasificación": hoteles = hoteles.Where(hotel => hotel.Clasificacion == Int32.Parse(valor)).ToList <Hotel>(); break; case "Provincia": hoteles = hoteles.Where(hotel => hotel.vProvincia.Equals(valor)).ToList <Hotel>(); break; } if (hoteles.Count() == 0) { await Bot.SendTextMessageAsync( chatId : chatId, text : "No existen hoteles que cumplan con el filtro seleccionado" ); } foreach (Hotel h in hoteles) { var ubicacion = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData( text: "Ubicación", callbackData: h.CedulaJuridica), } }); await Bot.SendPhotoAsync( chatId : chatId, photo : h.FotoPerfil, caption : "<b>Nombre: </b>" + h.Nombre + "\n" + "<b>Puntuación: </b>" + PuntuacionAEstrellas(h.Clasificacion) + "\n" + "<b>Descripción: </b>" + h.Descripcion + "\n" + "<b>Ubicación: </b>" + h.vProvincia + ", " + h.vCanton + ", " + h.vDistrito + "\n" + "<b>Teléfono: </b>" + h.Telefonos + "\n", parseMode : ParseMode.Html, replyMarkup : ubicacion ); } }
private static async void OnInlineButtonHandlet(object sender, CallbackQueryEventArgs e) { var msg = e.CallbackQuery.Message; msg.ReplyMarkup = null; bool properly = e.CallbackQuery.Data.Contains("True"); string[] answersMsg = GetAnswersCorrectAndUncorrect(e.CallbackQuery.Data, properly); string correctAnswer = answersMsg[0]; string answer = properly ? answersMsg[0] : answersMsg[1]; string textMsg; if (properly) { textMsg = $@"✅ Правильно Ваш ответ: {correctAnswer}"; } else { textMsg = $@"❌ Неправильно Ваш ответ: {answer} Правильный ответ: {correctAnswer}"; } await client.EditMessageTextAsync(e.CallbackQuery.Message.Chat.Id, e.CallbackQuery.Message.MessageId, $@"{msg.Text} {textMsg}"); anEquationAndAnswers.FormAnEquationAndAnswers(); //Создаётся новое уравнение и ответы string[] answers = anEquationAndAnswers.GetAnswers(); int indexCorrectAnswer = anEquationAndAnswers.GetIndexCorrectAnswer(); InlineKeyboardButton[] ikb = new InlineKeyboardButton[3]; for (int i = 0; i < answers.Length; i++) { ikb[i] = InlineKeyboardButton.WithCallbackData(answers[i].ToString(), (i == indexCorrectAnswer) ? $"True|{answers[indexCorrectAnswer]}" : $"False|{answers[indexCorrectAnswer]}|{answers[i]}"); } InlineKeyboardMarkup ikm = new InlineKeyboardMarkup(ikb); await client.SendTextMessageAsync(msg.Chat.Id, anEquationAndAnswers.GetEquation(), replyMarkup : ikm); }
public async void Search() { var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithCallbackData("Боевик", "action"), InlineKeyboardButton.WithCallbackData("Комедия", "comedy") }, new[] { InlineKeyboardButton.WithCallbackData("Детектив", "detectiv"), InlineKeyboardButton.WithCallbackData("Фантастика", "fantastic") } }); await Bot.SendTextMessageAsync(e.CallbackQuery.From.Id, "Выбери жанр фильма", replyMarkup : inlineKeyboard); }
public async Task SendVoteAsync(string txt) { var replyKeyboardMarkup = new InlineKeyboardMarkup(new InlineKeyboardButton[] { InlineKeyboardButton.WithCallbackData("Ya", $"{ChatId}:Vote:Ya"), InlineKeyboardButton.WithCallbackData("Nein", $"{ChatId}:Vote:Nein") } ); foreach (var player in Players.Where(player => player.IsAlive)) { await Bot.Instance.SendTextMessageAsync( chatId : player.User.Id, text : txt, replyMarkup : replyKeyboardMarkup); } }
private static async void BotOnMessageReceived(object sender, MessageEventArgs e) { var message = e.Message; if (message == null || message.Type != MessageType.Text) { return; } string name = $"{message.From.FirstName} {message.From.LastName}"; Console.WriteLine($"{name} отправил сообщение: '{message.Text}'"); switch (message.Text) { case "/start": var keyborad = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData("Абитуриент", "Абитуриент"), InlineKeyboardButton.WithCallbackData("Бакалавриат", "Бакалавриат"), }, new [] { InlineKeyboardButton.WithCallbackData("Преподаватель", "Преподаватель"), InlineKeyboardButton.WithCallbackData("Местоположение корпусов SU", "МК") } }); await Bot.SendTextMessageAsync(message.Chat.Id, "Выберите раздел", replyMarkup : keyborad); break; default: var responce = apiAi.TextRequest(message.Text); string answer = responce.Result.Fulfillment.Speech; if (answer == "") { answer = "Прости, я тебя не понял"; } await Bot.SendTextMessageAsync(message.From.Id, answer); break; } }
public InlineKeyboardMarkup GetMarkup() { var rows = (int)Math.Ceiling((double)buttons.Count / BUTTONS_IN_ROW); var board = new List <InlineKeyboardButton> [rows]; var markup = new InlineKeyboardMarkup(board); for (int i = 0; i < rows; i++) { var button = new InlineKeyboardButton[BUTTONS_IN_ROW < buttons.Count ? BUTTONS_IN_ROW : buttons.Count]; for (int j = 0; j < button.Length; j++) { button[j] = InlineKeyboardButton.WithCallbackData(buttons.Dequeue()); } board[i] = button.ToList(); } return(markup); }
private static async void TelegramBotClient_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e) { var bot = (TelegramBotClient)sender; var message = e.Message; if (message.Text == "/start") { var inlineKeyboard = new InlineKeyboardMarkup( InlineKeyboardButton.WithCallbackData("Да!") ); await bot.SendTextMessageAsync(e.Message.Chat.Id, "Привет. Хочешь расскажу анекдот?", replyMarkup : inlineKeyboard); } else { return; } }
public void Send(User creator, string question, string[] answers) { Creator = creator; Question = question; int i = 0; var inlineKeyboard = new InlineKeyboardMarkup(answers.Select(a => InlineKeyboardButton.WithCallbackData(a.Trim())).Split(2)); Message msg = bot.SendTextMessageAsync( ChatId, Question, replyMarkup: inlineKeyboard).Result; // id сообщения с голосованием MessageId = msg.MessageId; results = answers.ToDictionary(a => a.Trim(), a => new List <string>()); voters = new List <string>(); }
// // // ----------------------- Набор меню для Администратора ----------------------- // // // // Меню для Администратора public static InlineKeyboardMarkup MainMenuForAdmin() => new InlineKeyboardMarkup( new[] { new [] { InlineKeyboardButton.WithCallbackData("Выбрать девушку"), }, new [] { InlineKeyboardButton.WithCallbackData("Добавить новую девушку"), }, new [] { InlineKeyboardButton.WithCallbackData("Удалить девушку из списка"), }, new [] { InlineKeyboardButton.WithCallbackData("Оповестить всех 'Я в сети'") } });
private static async void Hello(int messageId) { var inlineKeyboard = new InlineKeyboardMarkup( new[] { new[] { InlineKeyboardButton.WithUrl("Анкета на сайте", "https://docs.google.com/forms/d/e/1FAIpQLSfQxh28HQ600V2cVyh6GXDaQUzVQpnjkWQwEQkmQwkYfnyRpg/viewform"), InlineKeyboardButton.WithCallbackData("Заполнить у бота") }, new[] { InlineKeyboardButton.WithUrl("Положение о персональных данных", "https://www.auchan.ru/pokupki/personalnye-dannye.html?ndspecialkey=1") } }); await _botClient.SendTextMessageAsync(messageId, "Выберите пункт меню", replyMarkup : inlineKeyboard); }
private static async void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e) { var message = e.Message; if (message == null || message.Type != MessageType.Text) { return; } var name = message.From.FirstName; Console.WriteLine(message.Text + " от " + name); switch (message.Text) { case "/start": var text = "Команда для вызова меню - /menu"; await Bot.SendTextMessageAsync(e.Message.From.Id, text); break; case "/menu": var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithUrl("Кинопоиск", "https://www.kinopoisk.ru/"), InlineKeyboardButton.WithUrl("IMDb", "https://www.imdb.com/") }, new[] { InlineKeyboardButton.WithCallbackData("Поиск случайного фильма") } }); await Bot.SendTextMessageAsync(message.From.Id, "Выбери пункт меню", replyMarkup : inlineKeyboard); break; default: break; } }
public static IEnumerable <InlineKeyboardButton[]> GetInlineKeyboard(IReadOnlyList <string> stringArray) { var rows = stringArray.Count / 4; var haveMod = false; var columns = 4; var mod = stringArray.Count % 4; if (mod != 0) { rows++; haveMod = true; } var k = 0; var keyboardInline = new InlineKeyboardButton[rows][]; for (var i = 0; i < rows; i++) { InlineKeyboardButton[] keyboardButton; if (i == rows - 1 && haveMod) { keyboardButton = new InlineKeyboardButton[mod]; columns = mod; } else { keyboardButton = new InlineKeyboardButton[4]; } for (var j = 0; j < columns; j++) { keyboardButton[j] = InlineKeyboardButton.WithCallbackData(stringArray[k]); k++; } keyboardInline[i] = keyboardButton; } return(keyboardInline); }
static async Task StartMessage(Message message) { await Bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing); var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithCallbackData("Доступные стажировки", "/internships") }, new[] { InlineKeyboardButton.WithCallbackData("FAQ", "/faq") }, new[] { InlineKeyboardButton.WithCallbackData("Правила приёма", "/rules") }, }); await Bot.SendTextMessageAsync( chatId : message.Chat.Id, text : GoogleSheetsInterference.GetHelloMessage() ); await Bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "Мои команды:", replyMarkup : inlineKeyboard ); }
static async Task SendInlineKeyboard(Message message) { await Bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing); await Task.Delay(500); var inlineKeyboard = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData("1.1", "1.2"), }, new [] { InlineKeyboardButton.WithUrl("Залететь на Хабр", "https://habr.com/ru/"), } }); await Bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "choose your destiny", replyMarkup : inlineKeyboard ); }
private static async void BotOnMessageReceived(object sender, Telegram.Bot.Args.MessageEventArgs e) { var message = e.Message; if (message == null || message.Type != MessageType.Text) { return; } string name = $"{message.From.FirstName} {message.From.LastName}"; Console.WriteLine($"{name} отправил сообщение: {message.Text}"); switch (message.Text) { case "/start": string text = @"Список команд: /start - запуск бота /menu - вывод меню /keyboard - ввод с клавиатуры"; await Bot.SendTextMessageAsync(message.From.Id, text); break; case "/menu": var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithUrl("VK ILUSHA", "https://vk.com/special0ps"), InlineKeyboardButton.WithUrl("VK ANDRUSHA", "https://vk.com/id231468284") }, new[] { InlineKeyboardButton.WithCallbackData("Картинка"), InlineKeyboardButton.WithCallbackData("Видео") } }); await Bot.SendTextMessageAsync(message.From.Id, "Выберите пункт меню", replyMarkup : inlineKeyboard); break; case "/keyboard": var replyKeyboard = new ReplyKeyboardMarkup(new[] { new[] { new KeyboardButton("Привет"), new KeyboardButton("Как дела?") }, new[] { new KeyboardButton("Контакт") { RequestContact = true }, new KeyboardButton("Геолокация") { RequestLocation = true } } }); await Bot.SendTextMessageAsync(message.Chat.Id, "Сообщение", replyMarkup : replyKeyboard); break; default: var response = apiAi.TextRequest(message.Text); string answer = response.Result.Fulfillment.Speech; if (answer == "") { answer = "Я тебя не понимаю:("; } await Bot.SendTextMessageAsync(message.From.Id, answer); break; } }
private async void Bot_OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e) { var cbid = e.CallbackQuery.Id; var user = e.CallbackQuery.From.Username; var cid = e.CallbackQuery.Message.Chat.Id; var mid = e.CallbackQuery.Message.MessageId; var data = e.CallbackQuery.Data; var text = e.CallbackQuery.Message.Text; var chat = e.CallbackQuery.ChatInstance; if (!string.IsNullOrEmpty(data)) { if (data == "yes") { Voit++; var inlineKeyboard = new InlineKeyboardMarkup(new[] { new [] // first row { InlineKeyboardButton.WithCallbackData("1.1"), InlineKeyboardButton.WithCallbackData("1.2"), }, new [] // second row { InlineKeyboardButton.WithCallbackData("2.1"), InlineKeyboardButton.WithCallbackData("2.2"), } }); await bot.AnswerCallbackQueryAsync(cbid, "Ваш голос принят!"); await bot.EditMessageTextAsync(cid, mid, $"Всего голосов:\n{Voit}"); await bot.EditMessageReplyMarkupAsync( chatId : cid, messageId : mid, replyMarkup : inlineKeyboard ); //await bot.EditMessageTextAsync( // chatId: cid, // messageId: mid, // text: text, // replyMarkup: inline // ); } else if (data == "no") { Voit--; await bot.AnswerCallbackQueryAsync(cbid, "Ваш голос удален!"); } //switch (data) //{ // case "yes": // await bot.EditMessageTextAsync(cid, mid, $"{text}"); // break; // case "no": // await bot.EditMessageTextAsync(cid, mid, $"{data} is pressed"); // break; // default: // break; //} } }
private async static void BotOnMessageReceived(object sender, MessageEventArgs e) { var message = e.Message; if (message == null || message.Type != MessageType.Text) { return; } string name = $"{message.From.FirstName } {message.From.LastName}"; Console.WriteLine($"{name} sent text: '{message.Text}'"); User userrr = new User(); ClassStatusList st = JsonConvert.DeserializeObject <ClassStatusList>(File.ReadAllText(stpath)); int index = 0; bool contains = false; UserStatus usrstatus = new UserStatus(); for (int i = 0; i < st.statuses.Count; i++) { if (st.statuses[i].Id == Convert.ToString(message.From.Id)) { contains = true; usrstatus = st.statuses[i]; index = i; break; } } if (contains == false) { usrstatus.status1 = 0; usrstatus.status2 = 0; usrstatus.Id = Convert.ToString(message.From.Id); st.statuses.Add(usrstatus); } switch (st.statuses[index].status1) { case 0: { switch (message.Text) { case "/start": { string text = @"Список команд: /gettoptracks - Топ-10 треков /gettrack - Найти трек по названию /getartistinfo - Информация об исполнителе /getfavorite - Список избранных"; await Bot.SendTextMessageAsync(message.From.Id, text); usrstatus.status1 = 0; usrstatus.status2 = 0; usrstatus.Id = Convert.ToString(message.From.Id); st.statuses[index] = usrstatus; File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); break; } case "/gettoptracks": { var json = JsonConvert.SerializeObject(userrr); var data = new StringContent(json, Encoding.UTF8, "application/json"); userrr.Id = Convert.ToString(message.From.Id); HttpClient client = new HttpClient(); var response = await client.PostAsync($"https://localhost:44348/api/Music/GetTopTracks", data); string result = response.Content.ReadAsStringAsync().Result; ClassTracks useritem = JsonConvert.DeserializeObject <ClassTracks>(result); List <List <InlineKeyboardButton> > inlineKeyboardList = new List <List <InlineKeyboardButton> >(); foreach (var track in useritem.tracks.track) { //if (track.url.Length <= 60) { List <InlineKeyboardButton> ts = new List <InlineKeyboardButton>(); ts.Add(InlineKeyboardButton.WithUrl(track.name + " - " + track.artist.name, track.url)); ts.Add(InlineKeyboardButton.WithCallbackData("+", Convert.ToString(message.From.Id) + "⁜" + track.name + "⁜" + track.artist.name)); inlineKeyboardList.Add(ts); } } var inline = new InlineKeyboardMarkup(inlineKeyboardList); await Bot.SendTextMessageAsync(message.From.Id, "Топ-10 треков:", replyMarkup : inline); usrstatus.status1 = 0; usrstatus.status2 = 1; st.statuses[index] = usrstatus; File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); break; } case "/getartistinfo": { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Введите исполнителя"); st.statuses[index].status1 = 1; File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); break; } case "/gettrack": { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Введите название песни"); st.statuses[index].status1 = 2; File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); break; } case "/getfavorite": { userrr.Id = Convert.ToString(message.From.Id); var json = JsonConvert.SerializeObject(userrr); var data = new StringContent(json, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient(); var response = await client.PostAsync($"https://localhost:44348/api/Music/GetFavorite", data); string result = response.Content.ReadAsStringAsync().Result; if (result == "BAD") { await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Списка нету"); break; } List <SearchTrackMain> js = JsonConvert.DeserializeObject <List <SearchTrackMain> >(result); List <List <InlineKeyboardButton> > inlineKeyboardList = new List <List <InlineKeyboardButton> >(); foreach (var track in js) { List <InlineKeyboardButton> ts = new List <InlineKeyboardButton>(); ts.Add(InlineKeyboardButton.WithUrl(track.name + " - " + track.artist, track.url)); ts.Add(InlineKeyboardButton.WithCallbackData("х", Convert.ToString(message.From.Id) + "⁜" + track.name + "⁜" + track.artist)); inlineKeyboardList.Add(ts); } var inline = new InlineKeyboardMarkup(inlineKeyboardList); if (js.Count != 0) { await Bot.SendTextMessageAsync(message.From.Id, "Список фаворитов:", replyMarkup : inline); } else { await Bot.SendTextMessageAsync(message.From.Id, "Список фаворитов пуст."); } usrstatus.status1 = 0; usrstatus.status2 = 2; st.statuses[index] = usrstatus; File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); break; } default: { break; } } break; } case 1: //для getartistinfo { try { st.statuses[index].status1 = 0; File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); userrr.Id = Convert.ToString(message.From.Id); userrr.Artist = e.Message.Text; var json = JsonConvert.SerializeObject(userrr); var data = new StringContent(json, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient(); var response = await client.PostAsync($"https://localhost:44348/api/Music/GetArtistInfo", data); string result = response.Content.ReadAsStringAsync().Result; ClassListArtistInfo useritem = JsonConvert.DeserializeObject <ClassListArtistInfo>(result); await Bot.SendTextMessageAsync(message.From.Id, $"Artist: {useritem.artist.name}\n\nBio: {useritem.artist.bio.summary}."); break; } catch { await Bot.SendTextMessageAsync(message.From.Id, "Было введено некорректное имя исполнителя."); break; } } case 2: //для gettrack { st.statuses[index].status1 = 0; st.statuses[index].status2 = 1; userrr.Id = Convert.ToString(message.From.Id); userrr.Name = e.Message.Text; var json = JsonConvert.SerializeObject(userrr); var data = new StringContent(json, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient(); var response = await client.PostAsync($"https://localhost:44348/api/Music/GetTrack", data); string result = response.Content.ReadAsStringAsync().Result; ClassResults useritem = JsonConvert.DeserializeObject <ClassResults>(result); List <List <InlineKeyboardButton> > inlineKeyboardList = new List <List <InlineKeyboardButton> >(); foreach (var track in useritem.results.trackmatches.track) { if (track.url.Length <= 60) { List <InlineKeyboardButton> ts = new List <InlineKeyboardButton>(); ts.Add(InlineKeyboardButton.WithUrl(track.name + " - " + track.artist, track.url)); ts.Add(InlineKeyboardButton.WithCallbackData("+", Convert.ToString(message.From.Id) + "⁜" + track.name + "⁜" + track.artist)); inlineKeyboardList.Add(ts); } } var inline = new InlineKeyboardMarkup(inlineKeyboardList); if (result == "It's bad") { await Bot.SendTextMessageAsync(message.From.Id, "Ничего не найдено. Попробуйте ввести название по-другому."); } else { await Bot.SendTextMessageAsync(message.From.Id, "Найденные треки:", replyMarkup : inline); } File.WriteAllText(stpath, JsonConvert.SerializeObject(st)); break; } default: { goto case 0; } } }
private static async void BotOnMessageReceived(object sender, MessageEventArgs messageEventArgs) { var message = messageEventArgs.Message; if (message == null || message.Type != MessageType.Text) { return; } switch (message.Text.Split(' ').First()) { // send inline keyboard case "/inline": await Bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing); await Task.Delay(500); // simulate longer running task var inlineKeyboard = new InlineKeyboardMarkup(new[] { new [] // first row { InlineKeyboardButton.WithCallbackData("First"), InlineKeyboardButton.WithCallbackData("Second"), }, new [] // second row { InlineKeyboardButton.WithCallbackData("First"), InlineKeyboardButton.WithCallbackData("Second"), } }); await Bot.SendTextMessageAsync( message.Chat.Id, "Choose", replyMarkup : inlineKeyboard); break; // send custom keyboard case "/keyboard": ReplyKeyboardMarkup ReplyKeyboard = new[] { new[] { "First", "Second" }, new[] { "First", "Second" }, }; await Bot.SendTextMessageAsync( message.Chat.Id, "Choose", replyMarkup : ReplyKeyboard); break; // request location or contact case "/request": var RequestReplyKeyboard = new ReplyKeyboardMarkup(new[] { KeyboardButton.WithRequestLocation("Location"), KeyboardButton.WithRequestContact("Contact"), }); await Bot.SendTextMessageAsync( message.Chat.Id, "Who or Where are you?", replyMarkup : RequestReplyKeyboard); break; default: const string usage = @" Usage: /inline - send inline keyboard /keyboard - send custom keyboard /request - request location or contact /subscribe - add to db datas"; await Bot.SendTextMessageAsync( message.Chat.Id, usage, replyMarkup : new ReplyKeyboardRemove()); break; } }
static async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken) { if (update.Type == UpdateType.Message && update.Message != null && update.Message.Type == MessageType.Text) { long chatId = update.Message.Chat.Id; string messageText = update.Message.Text; if (messageText == "/start") { string menu = "/start - запуск\n/inline - меню\n/keyboard - сообщения\n/clearkeyboard - убрать кнопки"; await botClient.SendTextMessageAsync(chatId, menu, cancellationToken : cancellationToken); } else if (messageText == "/inline") { InlineKeyboardMarkup inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithUrl("VK", "https://vk.com/mishanya167"), InlineKeyboardButton.WithUrl("LinkedIn", "https://www.linkedin.com/in/%D0%BC%D0%B8%D1%85%D0%B0%D0%B8%D0%BB-%D0%BA%D0%BE%D0%B2%D0%B0%D0%BB%D1%91%D0%B2-79637b164/") }, new[] { InlineKeyboardButton.WithCallbackData("Дата и время", "DateTime"), InlineKeyboardButton.WithCallbackData("Картинка", "Photo") } }); await botClient.SendTextMessageAsync(chatId, "Выберите пункт меню: ", replyMarkup : inlineKeyboard, cancellationToken : cancellationToken); } else if (messageText == "/keyboard") { ReplyKeyboardMarkup replayKeyBoard = new ReplyKeyboardMarkup(new[] { new[] { new KeyboardButton("Привет"), new KeyboardButton("Как дела?") }, new[] { KeyboardButton.WithRequestContact("Контакт"), KeyboardButton.WithRequestLocation("Геолокация") } }); await botClient.SendTextMessageAsync(chatId, "Выберите сообщение.", replyMarkup : replayKeyBoard, cancellationToken : cancellationToken); } else if (messageText == "/clearkeyboard") { await botClient.SendTextMessageAsync(chatId, "Кнопки убраны.", replyMarkup : new ReplyKeyboardRemove(), cancellationToken : cancellationToken); } else { SessionsClient sessionsClient = await SessionsClient.CreateAsync(); SessionName sessionName = new SessionName("small-talk-srqi", Guid.NewGuid().ToString()); QueryInput queryInput = new QueryInput { Text = new TextInput { Text = messageText, LanguageCode = "ru-Ru" } }; DetectIntentResponse response = await sessionsClient.DetectIntentAsync(sessionName, queryInput); if (response.QueryResult.FulfillmentMessages.Count > 0) { await botClient.SendTextMessageAsync(chatId, response.QueryResult.FulfillmentText, cancellationToken : cancellationToken); } else { await botClient.SendTextMessageAsync(chatId, "Прости, я тебя не понимаю.", cancellationToken : cancellationToken); } } } if (update.Type == UpdateType.CallbackQuery && update.CallbackQuery.Message != null) { string data = update.CallbackQuery.Data; if (data == "DateTime") { await botClient.AnswerCallbackQueryAsync(update.CallbackQuery.Id, DateTime.Now.ToString(), cancellationToken : cancellationToken); } if (data == "Photo") { await botClient.SendPhotoAsync(update.CallbackQuery.Message.Chat.Id, "https://big-rostov.ru/wp-content/uploads/2021/04/i-7-1.jpg", cancellationToken : cancellationToken); } } }
private static async void BotOnMessageReceived(object sender, Telegram.Bot.Args.MessageEventArgs e) { var message = e.Message; if (message == null || message.Type != MessageType.Text) { return; } string name = $"{message.From.FirstName} {message.From.LastName}"; Console.WriteLine($"{name} sent message: {message.Text}"); switch (message.Text) { case "/start": { string text = @"List of commands: /start - launch bot; /inline - show menu; /keyboard - show keyboard;"; await Bot.SendTextMessageAsync(message.From.Id, text); break; } case "/keyboard": { var replyKeyboard = new ReplyKeyboardMarkup(new[] { new[] { new KeyboardButton("Привет!"), new KeyboardButton("Как дела?") }, new[] { new KeyboardButton("Контакт") { RequestContact = true }, new KeyboardButton("Геолокация") { RequestLocation = true } } }); await Bot.SendTextMessageAsync(message.Chat.Id, "Message", replyMarkup : replyKeyboard); break; } case "/inline": { var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithUrl("VK", "https://vk.com/id11833696"), InlineKeyboardButton.WithUrl("Telegram", "https://t.me/trakhimovichilya") }, new[] { InlineKeyboardButton.WithCallbackData("картинка"), InlineKeyboardButton.WithCallbackData("видео") } }); await Bot.SendTextMessageAsync(message.From.Id, "Select menu", replyMarkup : inlineKeyboard); break; } default: { var response = apiAi.TextRequest(message.Text); string answer = response.Result.Fulfillment.Speech; if (answer == "") { answer = "Прости, я тебя не понял. Я тупой еще :(."; } await Bot.SendTextMessageAsync(message.From.Id, answer); break; } } }
private static async void BotOnMessageReceived(object sender, MessageEventArgs messageEventArgs) { var message = messageEventArgs.Message; if (message.Type == MessageType.Photo) { var test = Bot.GetFileAsync(message.Photo[message.Photo.Count() - 1].FileId); Console.Write(test.Result); var download_url = @"https://api.telegram.org/file/bot<token>/" + test.Result.FilePath; } if (message == null || message.Type != MessageType.Text) { return; } if (message.Text.Equals("1") || message.Text.Equals("2") || message.Text.Equals("3") || message.Text.Equals("4") || message.Text.Equals("5")) { await ListarHotelesAsync(message.Chat.Id, "Clasificación", message.Text); return; } if (message.Text.Equals("San José") || message.Text.Equals("Cartago") || message.Text.Equals("Alajuela") || message.Text.Equals("Heredia") || message.Text.Equals("Limón") || message.Text.Equals("Puntarenas") || message.Text.Equals("Guanacaste")) { await ListarHotelesAsync(message.Chat.Id, "Provincia", message.Text); return; } if (message.ReplyToMessage != null && message.ReplyToMessage.Text.Equals("Para listar sus reservas, por favor ingrese su número de cédula")) { await ListarReservasAsync(message.Chat.Id, message.Text); } switch (message.Text.Split(' ').First()) { case "/reservas": await Bot.SendTextMessageAsync( message.Chat.Id, "Mis reservas"); break; case "/ubicacion": await Bot.SendTextMessageAsync( message.Chat.Id, "Ubicación"); break; case "Todos": await ListarHotelesAsync(message.Chat.Id, "Todos", message.Text); break; case "Estrellas": List <string> estrellasHotel = new List <string> { "5", "4", "3", "2", "1" }; await Bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "¿Cantidad de estrellas?", replyMarkup : GetReplyKeyboard(estrellasHotel)); break; case "Provincia": ReplyKeyboardMarkup ubicacionHotel = new[] { new[] { "San José", "Cartago" }, new[] { "Alajuela", "Heredia" }, new[] { "Limón", "Puntarenas" }, new[] { "Guanacaste" } }; await Bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "Seleccione una provincia", replyMarkup : ubicacionHotel); break; case "/hoteles": List <string> filtroHoteles = new List <string> { "Todos", "Estrellas", "Ubicación", "Calificación" }; await Bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "¿Cómo desea listar los hoteles?", replyMarkup : GetReplyKeyboard(filtroHoteles)); break; default: await Bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing); await Task.Delay(5); var keyboardEjemplo1 = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData( text: "Hoteles", callbackData: "hoteles"), InlineKeyboardButton.WithCallbackData( text: "Reservas", callbackData: "reservas"), } }); await Bot.SendTextMessageAsync( message.Chat.Id, "Hola, " + message.Chat.FirstName + " ¿En qué podemos ayudarle?", replyMarkup : keyboardEjemplo1); break; } }
private async Task BotOnMessageReceived(Message message) { Console.WriteLine($"Receive message type: {message.Type}"); if (message.Type != MessageType.Text) { return; } var action = (message.Text.Split(' ').First()) switch { "/inline" => SendInlineKeyboard(message), "/keyboard" => SendReplyKeyboard(message), "/photo" => SendFile(message), "/request" => RequestContactAndLocation(message), "/help" => Usage(message), _ => Nope(message) }; await action; // Send inline keyboard // You can process responses in BotOnCallbackQueryReceived handler async Task SendInlineKeyboard(Message message) { await _bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing); // Simulate longer running task await Task.Delay(500); var inlineKeyboard = new InlineKeyboardMarkup(new[] { // first row new [] { InlineKeyboardButton.WithCallbackData("1.1", "11"), InlineKeyboardButton.WithCallbackData("1.2", "12"), }, // second row new [] { InlineKeyboardButton.WithCallbackData("2.1", "21"), InlineKeyboardButton.WithCallbackData("2.2", "22"), } }); await _bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "Choose", replyMarkup : inlineKeyboard ); } async Task SendReplyKeyboard(Message message) { var replyKeyboardMarkup = new ReplyKeyboardMarkup( new KeyboardButton[][] { new KeyboardButton[] { "1.1", "1.2" }, new KeyboardButton[] { "2.1", "2.2" }, }, resizeKeyboard: true ); await _bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "Choose", replyMarkup : replyKeyboardMarkup ); } async Task SendFile(Message message) { await _bot.SendChatActionAsync(message.Chat.Id, ChatAction.UploadPhoto); const string filePath = @"Files/tux.png"; using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); var fileName = filePath.Split(Path.DirectorySeparatorChar).Last(); await _bot.SendPhotoAsync( chatId : message.Chat.Id, photo : new InputOnlineFile(fileStream, fileName), caption : "Nice Picture" ); } async Task RequestContactAndLocation(Message message) { var RequestReplyKeyboard = new ReplyKeyboardMarkup(new[] { KeyboardButton.WithRequestLocation("Location"), KeyboardButton.WithRequestContact("Contact"), }); await _bot.SendTextMessageAsync( chatId : message.Chat.Id, text : "Who or Where are you?", replyMarkup : RequestReplyKeyboard ); } async Task Usage(Message message) { const string usage = "Usage:\n" + "/inline - send inline keyboard\n" + "/keyboard - send custom keyboard\n" + "/photo - send a photo\n" + "/request - request location or contact"; await _bot.SendTextMessageAsync( chatId : message.Chat.Id, text : usage, replyMarkup : new ReplyKeyboardRemove() ); } Task Nope(Message message) { return(Task.CompletedTask); } }
private static async void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e) { var message = e.Message; if (message == null || message.Type != MessageType.Text) { return; } string name = $"{message.From.FirstName} {message.From.LastName}"; Console.WriteLine($"{name} отправил сообщение :'{message.Text}'"); switch (message.Text) { case "/start": string text = "@Список команд: " + "/start -запуск бота, " + " /callback - вывод меню, " + "/keyboard - вывод клавиатуры "; await Bot.SendTextMessageAsync(message.From.Id, text); break; case "/callback": var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithUrl("Rozetka", "https://rozetka.com.ua/"), InlineKeyboardButton.WithUrl("Citrus", "https://www.citrus.ua/") }, new[] { InlineKeyboardButton.WithCallbackData("Картинка"), InlineKeyboardButton.WithCallbackData("Видео") } }); await Bot.SendTextMessageAsync(message.From.Id, "Выберите пункт меню", replyMarkup : inlineKeyboard); break; case "/keyboard": var replyKeyboard = new ReplyKeyboardMarkup(new[] { new[] { new KeyboardButton("Привет"), new KeyboardButton("Как делишки?") }, new[] { new KeyboardButton("Контакт") { RequestContact = true }, new KeyboardButton("Геолокация") { RequestLocation = true } } } ); await Bot.SendTextMessageAsync(message.Chat.Id, "Сообщение", replyMarkup : replyKeyboard); break; default: var response = apiAi.TextRequest(message.Text); string answer = response.Result.Fulfillment.Speech; if (answer == "") { answer = "Сорри, но я тебя не понял"; } await Bot.SendTextMessageAsync(message.From.Id, answer); break; } }
private static async void BotOnCallbackQueryReceived(object sender, CallbackQueryEventArgs e) { var message = e.CallbackQuery.Message; string data = e.CallbackQuery.Data; switch (data) { case "Абитуриент": var keyboard_first = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData("Как поступить в SU?", "first") }, new [] { InlineKeyboardButton.WithCallbackData("Список документов для поступления", "second") }, new [] { InlineKeyboardButton.WithCallbackData("В какое время можно подать документы? Можно ли сделать это в субботу или воскресенье?", "third") }, new [] { InlineKeyboardButton.WithCallbackData("Могу ли я подать документы лично, если мне меньше 18 лет? Или обязательно присутствие родителей?", "four") }, new [] { InlineKeyboardButton.WithCallbackData("Контакты приемной комиссии?", "five") }, new [] { InlineKeyboardButton.WithCallbackData("График работы приемной комиссии?", "six") } }); await Bot.SendTextMessageAsync(message.Chat.Id, e.CallbackQuery.Message.Text, replyMarkup : keyboard_first); Bot.OnCallbackQuery += async(object sc, CallbackQueryEventArgs ev) => { var message = ev.CallbackQuery.Message; switch (ev.CallbackQuery.Data) { case "first": await Bot.SendTextMessageAsync(message.Chat.Id, "Зарегистрироваться в онлайн режиме по адресу kb.satbayev.university"); break; case "second": await Bot.SendTextMessageAsync(message.Chat.Id, "1. Заявление на поступление 2.Аттестат о среднем общем или диплом о начальном профессиональном или среднем профессиональном образовании(оригинал) 3.Фото формата 3х4 – 6шт 4.Медицинская справка по форме 086 - У 5.Прививочная карта по форме 063 6.Снимок флюорографии 7.Документ, подтверждающий преимущественное право 8.Сертификат ЕНТ или комплексного тестирования 9.Свидетельство о присуждении гранта(при его наличии) 10.Копия удостоверении личности 11.Приписное свидетельство "); break; case "third": await Bot.SendTextMessageAsync(message.Chat.Id, "Подать документы можно в рабочие часы Приёмной комиссии. Они будут объявлены ближе к старту приёмной кампании."); break; case "four": await Bot.SendTextMessageAsync(message.Chat.Id, "Вы можете подать документы и самостоятельно, только не забудьте взять с собой паспорт. Но помните: если вы поступаете на место на коммерческой основе, то заключить договор, будучи несовершеннолетним, вы самостоятельно не сможете — необходимо присутствие родителя. Кроме того, если вам меньше 18, вам обязательно нужно будет принести форму согласия на обработку ваших персональных данных, подписанную родителем или опекуном (без неё документы не примут!)."); break; case "five": await Bot.SendTextMessageAsync(message.Chat.Id, "Республика Казахстан, г. Алматы, ул. Сатпаева 22а, Главный учебный корпус (ГУК). Вход со стороны ул. Байтурсынова. +7 (727) 292 7301 +7 (727) 292 7779 +7 (727) 320 4112 [email protected]"); break; case "six": await Bot.SendTextMessageAsync(message.Chat.Id, "График работы: пн - пт, с 8:30 до 17:30 сб, с 9:00 до 17:00 "); break; } }; break; case "Бакалавриат": var keyboard_second = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData("Есть ли общежитие? Какие критерии и требования для получения комнаты в общежитии SU?", "first"), }, new [] { InlineKeyboardButton.WithCallbackData("Имеется ли в университете военная кафедра? Есть ли необходимость доплаты за военную кафедру?", "second"), }, new [] { InlineKeyboardButton.WithCallbackData("Что такое кредитная технология обучения?", "third"), }, new [] { InlineKeyboardButton.WithCallbackData("Какие студентческие сообщества есть в университете?", "forth"), }, new [] { InlineKeyboardButton.WithCallbackData("Как вступить в один из таких сообществ?", "fifth"), }, new [] { InlineKeyboardButton.WithCallbackData("При каких обстоятельствах студент лишается гранта", "sixth"), } }); await Bot.SendTextMessageAsync(message.Chat.Id, e.CallbackQuery.Message.Text, replyMarkup : keyboard_second); Bot.OnCallbackQuery += async(object sc, CallbackQueryEventArgs ev) => { var message = ev.CallbackQuery.Message; switch (ev.CallbackQuery.Data) { case "firth": await Bot.SendTextMessageAsync(message.Chat.Id, "Да, в SU есть общежитие. Для того, чтобы получить место в общежитии необходимо написать заявление, все заявления в конце августа рассматривает комиссия. В первую очередь места предоставляются иногородним первокурсникам для благополучной адаптации и привыканию к новому месту жительства в первый год обучения. Вторым не маловажным условием для получения места в общежитии является материальное положение студента (при наличии подтверждающих документов)."); break; case "second": await Bot.SendTextMessageAsync(message.Chat.Id, "В университете имеется военная кафедра, зачисление юношей на военную подготовку производится после 1 курса на конкурсной основе. Для обучения на военной кафедре выделяется государственный заказ."); break; case "third": await Bot.SendTextMessageAsync(message.Chat.Id, "Кредитная технология обучения – способ организации учебного процесса, при котором обучающиеся в определенных границах имеют возможность индивидуально планировать последовательность образовательной траектории."); break; case "forth": await Bot.SendTextMessageAsync(message.Chat.Id, "«Жас Отан», «Лига Волонтеров», Дебатные клубы, Enactus, Society of Automotive Engineers, American Association of Petroleum Geologists, Society of Petroleum Engineers"); break; case "fifth": await Bot.SendTextMessageAsync(message.Chat.Id, "Ежегодно в сентябре проводится «Ярмарка студенческих сообществ», во время которой каждый желающий может открыть и презентовать свое сообщество или вступить в то сообщество, которое ему понравилось."); break; case "sixth": await Bot.SendTextMessageAsync(message.Chat.Id, "Обучающиеся, обладатели образовательных грантов, оставленные на повторный курс обучения, лишаются образовательного гранта и продолжают свое дальнейшее обучение на платной основе. Если годовой gpa будет меньше 1,6 то студент теряет государственный образовательный грант. Если студент в итоге за дисциплину получает удовлетворительную оценку, то студент теряет стипендию."); break; } }; break; case "Преподаватель": var keyboard_third = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithUrl("Академический календарь", "https://drive.google.com/uc?export=download&id=10Z7T0DhO08kwQLA76YI1aYqkP8ZVxBSK"), }, new [] { InlineKeyboardButton.WithUrl("Скачать форму отчета", "https://drive.google.com/uc?export=download&id=1nEEsECD2od_zsFZlgLMWKUnB3f3VOK0T"), }, new [] { InlineKeyboardButton.WithCallbackData("", "third"), }, new [] { InlineKeyboardButton.WithCallbackData("", "forth"), }, new [] { InlineKeyboardButton.WithCallbackData("", "fifth"), }, new [] { InlineKeyboardButton.WithCallbackData("", "sixth"), } }); await Bot.SendTextMessageAsync(message.Chat.Id, e.CallbackQuery.Message.Text, replyMarkup : keyboard_third); break; case "МК": var keyboard_fourth = new InlineKeyboardMarkup(new[] { new [] { InlineKeyboardButton.WithCallbackData("Главный учебный корпус", "first") }, new [] { InlineKeyboardButton.WithCallbackData("Горно-металлургический институт имени О. Байконурова", "second") }, new [] { InlineKeyboardButton.WithCallbackData("Медицинский пункт", "third") }, new [] { InlineKeyboardButton.WithCallbackData("Нефтянной корпус", "four") }, new [] { InlineKeyboardButton.WithCallbackData("Военная кафедра", "five") } }); await Bot.SendTextMessageAsync(message.Chat.Id, e.CallbackQuery.Message.Text, replyMarkup : keyboard_fourth); Bot.OnCallbackQuery += async(object sc, CallbackQueryEventArgs ev) => { var message = e.CallbackQuery.Message; switch (ev.CallbackQuery.Data) { case "first": float Latitude1 = 43.236422f; float Longitude1 = 76.929755f; await Bot.SendLocationAsync(message.Chat.Id, Latitude1, Longitude1); break; case "second": float Latitude2 = 43.236520f; float Longitude2 = 76.931572f; await Bot.SendLocationAsync(message.Chat.Id, Latitude2, Longitude2); break; case "third": float Latitude3 = 43.237319f; float Longitude3 = 76.934405f; await Bot.SendLocationAsync(message.Chat.Id, Latitude3, Longitude3); break; case "four": float Latitude4 = 43.237093f; float Longitude4 = 76.931374f; await Bot.SendLocationAsync(message.Chat.Id, Latitude4, Longitude4); break; case "five": float Latitude5 = 43.231572f; float Longitude5 = 76.934406f; await Bot.SendLocationAsync(message.Chat.Id, Latitude5, Longitude5); break; } }; break; } /*if (buttonText == "Картинка") * { * await Bot.SendTextMessageAsync(e.CallbackQuery.From.Id, "https://cdn.lifehacker.ru/wp-content/uploads/2019/06/telegram_1560950950.jpg"); * } * else if (buttonText == "Документ") * { * // await Bot.SendTextMessageAsync(e.CallbackQuery.From.Id, "https://drive.google.com/uc?export=download&id=0B3Rr6xomyKzhc09hSW4xOGt2SmlHYl95ZWpRYnVOZkhwa0NJ"); * } * * await Bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, $"Вы нажали кнопку {buttonText}");*/ }