public static MessageVoice GetVoice(TelegramBotClient bot, Message mes) { if (bot == null || mes == null || mes.Type != MessageType.Voice) { return(null); } MessageVoice voice = new MessageVoice(); var fileId = mes.Voice.FileId; voice.File = GetFile(bot, mes, fileId); return(voice); }
private void Tr_MessageVoice(object sendr, MessageVoice e) { Console.WriteLine("ID сообщения:{0}\nID отправителя:{1}\nНик отправителя:{2}\nИмя:{3} Фамилия:{4}\nДата:{5}\nID Аудиозаписи:{6}\nДлинна записи:{7}\nMime_type:{8}\nРазмер записи:{9}", e.message_id, e.from.id, e.from.username, e.from.first_name, e.from.last_name, (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(e.date), e.file_id, e.duration, e.mime_type, e.file_size); Console.WriteLine(); }
public OutboxMessage(MessageVoice Voice) : this((object)Voice) { this.Type = OutboxMessageType.Voice; }
private static void Tr_MessageVoice(object sendr, MessageVoice <User, Chat> e) { }
private static async void SendOutboxMessageToChat(this TelegramBotClient bot, ChatId chatId, OutboxMessage message) { if (bot == null || ((chatId == null || chatId?.Identifier == 0) && string.IsNullOrEmpty(chatId?.Username))) { throw new ArgumentNullException(); } switch (message.Type) { //Send Text case OutboxMessageType.Text: await bot.SendTextMessageAsync( chatId : chatId, text : (string)message.Data, replyMarkup : message.ReplyMarkup, parseMode : message.ParseMode, replyToMessageId : message.ReplyToMessageId); break; //Send MessagePhoto Entity case OutboxMessageType.Photo: MessagePhoto photo = (MessagePhoto)message.Data; await bot.SendPhotoAsync( chatId : chatId, photo : new InputOnlineFile(photo.File.Stream), caption : photo.Caption, replyToMessageId : message.ReplyToMessageId, parseMode : message.ParseMode); break; //Send MessageAudio Entity case OutboxMessageType.Audio: MessageAudio audio = (MessageAudio)message.Data; await bot.SendAudioAsync( chatId : chatId, audio : new InputOnlineFile(audio.File.Stream), caption : audio.Caption, replyMarkup : message.ReplyMarkup, replyToMessageId : message.ReplyToMessageId, thumb : audio.Thumb, title : audio.Title, parseMode : message.ParseMode); break; //Send MessageVoice Entity case OutboxMessageType.Voice: MessageVoice voice = (MessageVoice)message.Data; await bot.SendVoiceAsync( chatId : chatId, voice : new InputOnlineFile(voice.File.Stream), replyMarkup : message.ReplyMarkup, replyToMessageId : message.ReplyToMessageId, caption : voice.Caption, parseMode : message.ParseMode); break; //ToDo other Types of message! default: throw new Exception("Не поддерживаемый тип отправки сообщений"); break; } //Рекурсивно вызываем отправку вложенных элементов сообщения. foreach (var item in message.NestedElements) { SendOutboxMessageToChat(bot, chatId, item); } }