protected async Task <Message> SendMessage(long ChatId, BotMessage botMessage, bool DisableNotifi = false) { try { if (botMessage != null && this.Update.CallbackQuery != null && this.CallBackQueryId != null) { await AnswerCallback(botMessage.CallBackTitleText); } if (botMessage != null && botMessage.TextMessage != null) { return(await TelegramClient.SendTextMessageAsync(ChatId, botMessage.TextMessage, ParseMode.Html, false, DisableNotifi, 0, botMessage.MessageReplyMarkup)); } else { return(null); } } catch (Exception exp) { return(null); } }
/// <summary> /// Изменить сообщение /// </summary> /// <param name="botMessage"></param> /// <returns></returns> protected async Task <Message> EditMessage(BotMessage botMessage) { try { if (botMessage != null && this.Update.CallbackQuery != null && this.CallBackQueryId != null) { await AnswerCallback(botMessage.CallBackTitleText); } if (botMessage != null && botMessage.TextMessage != null) { return(await TelegramClient.EditMessageTextAsync(this.ChatId, this.MessageId, botMessage.TextMessage, ParseMode.Html, true, botMessage.MessageReplyMarkup)); } else { return(null); } } catch { return(null); // return await TelegramClient.SendTextMessageAsync(this.ChatId, botMessage.TextMessage, ParseMode.Html, false, false, 0, botMessage.MessageReplyMarkup); } }
/// <summary> /// Отправить сообщение /// </summary> /// <param name="botMessage"></param> /// <param name="EditMessageId"></param> /// <param name="ReplyToMessageId"></param> /// <returns></returns> protected async Task <Message> SendMessage(BotMessage botMessage, int EditMessageId = 0, int ReplyToMessageId = 0, bool DisableWeb = true) { try { if (botMessage != null && this.Update.CallbackQuery != null && this.CallBackQueryId != null) { await AnswerCallback(botMessage.CallBackTitleText); } if (botMessage != null && EditMessageId != 0) { return(await TelegramClient.EditMessageTextAsync(this.ChatId, EditMessageId, botMessage.TextMessage, ParseMode.Html, true, botMessage.MessageReplyMarkup)); } if (botMessage != null && botMessage.TextMessage != null) { return(await TelegramClient.SendTextMessageAsync(this.ChatId, botMessage.TextMessage, ParseMode.Html, DisableWeb, false, ReplyToMessageId, botMessage.MessageReplyMarkup)); } else { return(null); } } catch (Exception e) { // await TelegramClient.SendTextMessageAsync(this.ChatId, botMessage.TextMessage, ParseMode.Html, false, false, ReplyToMessageId, botMessage.MessageReplyMarkup); return(null); } }
/// <summary> /// отправить фото /// </summary> /// <param name="message"></param> /// <returns></returns> protected async Task <Message> SendPhoto(BotMessage message) { Message mess = new Message(); try { if (this.Update.CallbackQuery != null && this.CallBackQueryId != null) { await AnswerCallback(message.CallBackTitleText); } //максимальная длина подписи для фотографии 200 символов if (message.MediaFile != null && message.MediaFile.Caption != null && message.MediaFile.Caption.Length < 200) { mess = await TelegramClient.SendPhotoAsync(ChatId, message.MediaFile.FileTo, message.MediaFile.Caption, false, 0, message.MessageReplyMarkup); } if (message.MediaFile != null && message.MediaFile.Caption == null) { mess = await TelegramClient.SendPhotoAsync(ChatId, message.MediaFile.FileTo, "", false, 0, message.MessageReplyMarkup); } //если подпись для фотографии больше 200 символом, то разибваем на два сообщения 1) Фото 2) Текст if (message.MediaFile != null && message.MediaFile.Caption != null && message.MediaFile.Caption != "" && message.MediaFile.Caption.Length >= 200) { mess = await TelegramClient.SendPhotoAsync(this.ChatId, message.MediaFile.FileTo, ""); await SendMessage(this.ChatId, new BotMessage { TextMessage = message.MediaFile.Caption, MessageReplyMarkup = message.MessageReplyMarkup }); } // если фотки нет if (message.MediaFile != null && message.MediaFile.Caption != null && message.MediaFile.Caption != "" && message.MediaFile.FileTo.Content == null && message.MediaFile.FileTo.FileId == null) { mess = await TelegramClient.SendTextMessageAsync(ChatId, message.TextMessage, ParseMode.Html, false, false, 0, message.MessageReplyMarkup); } if (message.MediaFile == null && message.TextMessage != null) { mess = await TelegramClient.SendTextMessageAsync(ChatId, message.TextMessage, ParseMode.Html, false, false, 0, message.MessageReplyMarkup); } //Если мы отрпавляем файл для этого бота первый раз, то Записываем FileId в базу для этог бота, что бы в следующий раз не отслылать целый файл //а только FileId на сервере телеграм if (mess != null && mess.Photo != null && message.MediaFile.AttachmentFsId > 0 && message.MediaFile.FileTo.FileId == null) { InsertToAttachmentTelegram(message.MediaFile, mess.Photo[mess.Photo.Length - 1].FileId); } return(mess); } catch (Exception exp) { return(null); } }
/// <summary> /// Отправить сообщение в групповой чат в котором находятся все операторы /// </summary> /// <param name="message"></param> /// <returns></returns> private async Task <Message> SendMessageToGroupChat(BotMessage message) { try { return(await SendMessage(Convert.ToInt64(BotInfo.Configuration.PrivateGroupChatId), new BotMessage { TextMessage = BotBlockedMsg })); } catch { return(null); } }
private async Task <Message> SendAudio(BotMessage message) { try { if (message.MediaFile.AttachmentFsId > 0 && message.MediaFile.FileTo.FileId != null) { InsertToAttachmentTelegram(message.MediaFile, this.AudioId); } return(await TelegramClient.SendAudioAsync(this.ChatId, message.MediaFile.FileTo, message.MediaFile.Caption, 100, "audio.mp3", "help", replyMarkup : message.MessageReplyMarkup)); } catch { return(null); } }
private async Task <Message> SendVoice(BotMessage message) { try { if (message.MediaFile.AttachmentFsId > 0 && message.MediaFile.FileTo.FileId != null) { InsertToAttachmentTelegram(message.MediaFile, this.VoiceId); } return(await TelegramClient.SendVoiceAsync(this.ChatId, message.MediaFile.FileTo, message.MediaFile.Caption, 0, false, 0, message.MessageReplyMarkup)); } catch { return(null); } }
protected async Task <Message> SendDocument(BotMessage message) { try { if (this.Update.CallbackQuery != null && this.CallBackQueryId != null) { await AnswerCallback(); } return(await TelegramClient.SendDocumentAsync(this.ChatId, message.MediaFile.FileTo, message.MediaFile.Caption)); } catch (Exception exp) { return(null); } }
protected async Task <Message> SendMediaMessage(BotMessage message) { try { if (message.MediaFile.FileTypeId == Core.ConstantVariable.MediaTypeVariable.Audio) { return(await SendAudio(message)); } if (message.MediaFile.FileTypeId == Core.ConstantVariable.MediaTypeVariable.Video) { return(await SendVideo(message)); } if (message.MediaFile.FileTypeId == Core.ConstantVariable.MediaTypeVariable.Voice) { return(await SendVoice(message)); } if (message.MediaFile.FileTypeId == Core.ConstantVariable.MediaTypeVariable.VideoNote) { return(await SendVideoNote(message)); } if (message.MediaFile.FileTypeId == Core.ConstantVariable.MediaTypeVariable.Photo) { return(await SendPhoto(message)); } else { return(null); } } catch { return(null); } }
/// <summary> /// Рассылка сообщений всем сотудникам в лс + в чат /// </summary> /// <param name="message"></param> /// <returns></returns> protected async Task <bool> SendMessageAllBotEmployeess(BotMessage message) { return(true); }