Пример #1
0
        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);
        }
Пример #2
0
 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();
 }
Пример #3
0
 public OutboxMessage(MessageVoice Voice) : this((object)Voice)
 {
     this.Type = OutboxMessageType.Voice;
 }
Пример #4
0
 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);
            }
        }