private async void OnMessageAsync(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { if (!string.IsNullOrEmpty(e.Message.Text)) { await HandleMessageAsync(e.Message.Chat.Id.ToString(), e.Message.Chat.Username, e.Message.Text); } }
private static void BotClient_OnMessage(object?sender, global::Telegram.Bot.Args.MessageEventArgs e) { if (e.Message.Text.StartsWith("/")) { return; } Term t = Term.Parse(e.Message.Text); string expLat = t.ToLaTeX(); t = t.MergeBranches(); t = t.Evaluate(); int i = 0; int lastLength = int.MaxValue; while (t.ToInfix().Length < lastLength) { lastLength = t.ToInfix().Length; t = t.MergeBranches(); t = t.Reduce(); i++; } string ret = t.ToLaTeX(); bot.SendTextMessageAsync(e.Message.Chat.Id, ret); }
private void BotClient_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { if (e.Message.Type == global::Telegram.Bot.Types.Enums.MessageType.Text) { OnMessageReceived(this, new MessageReceivedEventArgs(e.Message.Chat.Id.ToString(), e.Message.Text)); } }
private static void Bot_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { //Chamar API pra cadastrar o pedido { ChatMq chat; if (ActiveChats.ContainsKey(e.Message.Chat.Id)) { chat = ActiveChats[e.Message.Chat.Id]; } else { chat = new ChatMq() { ChatId = e.Message.Chat.Id, QueueName = MqHelper.GetQueueChatName(e.Message.Chat.Id) }; ActiveChats.Add(e.Message.Chat.Id, chat); } Console.WriteLine($"Getting sender information:\n\tChatId: {chat.ChatId}\n\tLastUsedQueue: {chat.QueueName}\n\tLastAppUse: {chat.LastQuery}"); chat.LastQuery = DateTime.Now; //Criando o conteudo para a Azure function var str = new StringContent(JsonConvert.SerializeObject(new { name = e.Message.Text, queue = chat.QueueName }), Encoding.Default, "application/json"); //Cadastrar uma fila pra escutar até voltar as imagens mq.CreateQueue(chat.QueueName); mq.ConfigureConsumeQueueListener(chat.QueueName, false, sendResultSheets); //Chamando a Azure Function _client.PostAsync(TelegramConstants.OrquestradorGetSheetUrl, str).GetAwaiter().GetResult(); } }
private void Bot_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { TelegramBotInstanceNode telegramBotInstance = this.InParameters["telegramBot"].GetValue() as TelegramBotInstanceNode; if (e.Message.Text == "id") { telegramBotInstance.Bot.SendTextMessageAsync(e.Message.Chat.Id, "The chat ID is : " + e.Message.Chat.Id).Wait(); } }
private void _botClient_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { MessageReceived?.Invoke( this, new MessageReceivedEventArgs { ContactId = e.Message.Chat.Id.ToString(), Message = e.Message.Text }); }
private void BotClient_OnMessage( object sender, global::Telegram.Bot.Args.MessageEventArgs e) { if (e.Message.Type == global::Telegram.Bot.Types.Enums.MessageType.Text || e.Message.Type == Bot.Types.Enums.MessageType.Photo) { MessageReceived( this, new MessageReceivedEventArgs( e.Message.Chat.Id, e.Message.Text, e.Message.Chat.FirstName, e.Message.Photo, e.Message.Caption)); } }
private void _botClient_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { //e.Message.Chat.Id //e.Message.Text if (e.Message.Type != global::Telegram.Bot.Types.Enums.MessageType.Text) { return; } MessageReceived?.Invoke( this, new MessageReceivedEventArgs { ContactId = e.Message.Chat.Id.ToString(), Message = e.Message.Text }); }
private void Bot_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { TelegramBotInstanceNode telegramBotInstance = this.InParameters["telegramBot"].GetValue() as TelegramBotInstanceNode; if (e.Message.Text == "id") { telegramBotInstance.Bot.SendTextMessageAsync(e.Message.Chat.Id, "The chat ID is : " + e.Message.Chat.Id).Wait(); } else { var instanciatedParameters = this.InstanciateParametersForCycle(); instanciatedParameters["message"].SetValue(e.Message.Text); instanciatedParameters["chatId"].SetValue(e.Message.Chat.Id); instanciatedParameters["fromId"].SetValue(e.Message.From.Id); instanciatedParameters["from"].SetValue(e.Message.From.Username); this.Graph.AddCycle(this, instanciatedParameters); } }
private static async void Bot_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { if (e.Message.Type == MessageType.Text) { var userId = e.Message.From.Id; var IsBot = e.Message.From.IsBot; var username = e.Message.From.Username; var firstName = e.Message.From.FirstName; var lastName = e.Message.From.LastName; _logger.Information($"От пользователя {firstName} {lastName}(t.me/{username} - {userId}) - признак бота:{IsBot} \n Получили сообщение: {e.Message.Text}"); _logtelegram.Information($"От пользователя {firstName} {lastName}(t.me/{username} - {userId}) - признак бота:{IsBot} \n Получили сообщение: {e.Message.Text}"); if (Statics.WordToEnumDictionary.ContainsKey(e.Message.Text.ToLower())) { await HandleWord(e.Message.Chat.Id, userId, Statics.EnumToObjectDictionary[Statics.WordToEnumDictionary[e.Message.Text.ToLower()]]); _logger.Information("Все отработало как надо из справочника слов"); _logtelegram.Information("Все отработало как надо из справочника слов"); } else if (Operation.OperationToEnumDictionary.ContainsKey(e.Message.Text.ToLower())) { await HandleComand(e.Message.Chat.Id, firstName, lastName, userId, Operation.EnumToObjectDictionary[Operation.OperationToEnumDictionary[e.Message.Text.ToLower()]]); _logger.Information($"Ответили пользователю на запрос: {e.Message.Text.ToLower()}"); _logtelegram.Information($"Ответили пользователю на запрос: {e.Message.Text.ToLower()}"); } else { await Bot.SendStickerAsync(e.Message.Chat.Id, new InputOnlineFile("CAACAgIAAxkBAAIJgF6HP2XspGCeGDtAzBq5Pm4GR3QDAAIbAgACygMGC9wPPRAcg_U_GAQ")); await Bot.SendTextMessageAsync(e.Message.Chat.Id, $"{firstName}, интересно, какой смысл вы вложили в это: {e.Message.Text.ToLower()}🙈"); //😢 _logger.Warning($"Сказали пользователю {firstName} {lastName} ({userId}) что не шарим слово: ►{e.Message.Text}◄, сори с уважением"); _logtelegram.Warning($"Сказали пользователю {firstName} {lastName} ({userId}) что не шарим слово: ►{e.Message.Text}◄, сори с уважением"); } } }
private static void Client_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { Console.WriteLine("Message " + e.Message.Text); //Stream stream = e.Message?.Audio?.FileStream; if (e.Message.Type.Equals(MessageType.VoiceMessage)) { var message = e.Message; var filePath = Path.Combine(@"C:\apps", message.Voice.FileId + ".ogg"); using (var file = System.IO.File.OpenWrite(filePath)) { var tsk = client.GetFileAsync(message.Voice.FileId, file); tsk.Wait(); Console.WriteLine($"Find Voice at {filePath}"); } using (FileStream stream = File.Open(filePath, FileMode.Open)) { //https://stackoverflow.com/questions/17895933/using-system-speech-to-convert-mp3-file-to-text SpeechRecognitionEngine sre = new SpeechRecognitionEngine(); Grammar gr = new DictationGrammar(); sre.LoadGrammar(gr); sre.SetInputToAudioStream(stream, new SpeechAudioFormatInfo(8000, AudioBitsPerSample.Sixteen, AudioChannel.Mono)); StringBuilder sb = new StringBuilder(); while (true) { try { var recText = sre.Recognize(); if (recText == null) { break; } sb.Append(recText.Text); } catch (Exception ex) { //handle exception //... break; } } Console.WriteLine(sb.ToString()); } //if (stream?.Length > 1) //{ // //https://stackoverflow.com/questions/17895933/using-system-speech-to-convert-mp3-file-to-text // SpeechRecognitionEngine sre = new SpeechRecognitionEngine(); // Grammar gr = new DictationGrammar(); // sre.LoadGrammar(gr); // sre.SetInputToAudioStream(stream, new SpeechAudioFormatInfo(8000, AudioBitsPerSample.Sixteen, AudioChannel.Mono)); // StringBuilder sb = new StringBuilder(); // while (true) // { // try // { // var recText = sre.Recognize(); // if (recText == null) // { // break; // } // sb.Append(recText.Text); // } // catch (Exception ex) // { // //handle exception // //... // break; // } // } // Console.WriteLine(sb.ToString()); //} } }
private static void Client_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { client.SendTextMessageAsync(e.Message.Chat.Id, "Test!").ConfigureAwait(false); }
private void TClient_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { throw new NotImplementedException(); }
private async void BotClient_OnMessage(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { if (string.IsNullOrEmpty(e.Message.Text) || e.Message.From != null && !IsRegisteredUser(e.Message.From)) { return; } var message = e.Message; switch (message.Text.Split(' ').First()) { case "/getOuman": await SendOumanReadings(message.From.Id); break; case "/startOuman": _oumanCollector.StartPolling(); await SendMessage("Ouman polling started", message.From.Id); break; case "/stopOuman": _oumanCollector.StopPolling(); await SendMessage("Ouman polling stopped", message.From.Id); break; case "/photo": await SendTuxFile(message.Chat.Id); break; case "/getDoorBell": await SendDoorBellPicture(message.From.Id); break; //case "/setCatLitter": // await _storageCollector.UpdateCatLitterTime(); // await SendMessage("Cat litter time set", message.From.Id); // break; //case "/getCatLitter": // var time = await _storageCollector.GetCatLitterTime(); // await SendMessage($"Last time was {time}", message.From.Id); // break; case "/readme": case "/Readme": case "/HowTo": case "/how": case "/usage": case "/": case "/Usage": await ReplyUsage(message.From.Id); break; default: await SendAdminMessages(message.Text, message.From.Username); break; } }
/// <summary> /// Событие возникающее при получении новых смс ботом /// Содержит всю основную логику программы /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void MessageListener(object sender, global::Telegram.Bot.Args.MessageEventArgs e) { // Добавление на панель сообщения, как только сработало событие прихо window.Dispatcher.Invoke(() => messages.Add( new Messages(e.Message.Chat.FirstName, e.Message.Text, e.Message.Chat.Id, e.Message.Date.ToShortTimeString()))); if (e.Message.Text != null && userTextAvailible != true) { e.Message.Chat.Description = ""; Thread thread = new Thread(SendMail); thread.Start(e); } //if (userTextAvailible) //{ // userTextAvailible = false; // e.Message.Chat.Description = "UserText.txt"; // Thread thread = new Thread(SendMail); // thread.Start(e); // bot.SendTextMessageAsync(e.Message.Chat.Id, "Спасибо, твой текст принят на обработку!"); // bot.SendTextMessageAsync(e.Message.Chat.Id, "Если снова понадобится помощь, просто пришли файл в формате .txt"); //} if (!usersId.ContainsKey(e.Message.Chat.Id)) { usersId.Add(e.Message.Chat.Id, e.Message.Chat.FirstName); SaveJsonUsersId(); } if (e.Message.Type == global::Telegram.Bot.Types.Enums.MessageType.Text) { if (e.Message.Text == "/start") { string responseText = $"Привет, {e.Message.Chat.FirstName}! Мы обновились!" + $" Теперь я могу помочь тебе найти все кафе, рестораны, столовые и т.п.\n" + $"Достаточно сказать мне улицу/проспект/площадь и даже дом!\n" + $"Только в случае с домом за точность не отвечаю - их уж очень много в Москве)"; bot.SendTextMessageAsync(e.Message.Chat.Id, responseText); } else if (e.Message.Text.Length >= 4) { WorkWithMosRu(e.Message.Text, e.Message.Chat.Id); } else { bot.SendTextMessageAsync(e.Message.Chat.Id, $"Детка! Мне нужно название длиннее <<{e.Message.Text}>>"); } } else if (e.Message.Type == global::Telegram.Bot.Types.Enums.MessageType.Document || e.Message.Type == global::Telegram.Bot.Types.Enums.MessageType.Photo) { //Task.Factory.StartNew(Download, e); Thread thread = new Thread(Download); thread.Start(e); } else { bot.SendTextMessageAsync(e.Message.Chat.Id, "Наверное ты промахнулся и прислал не тот файл. Попробуй еще раз!)"); } }