/// <summary>Use this method to delete a message, including service messages, with the following limitations: <br/> /// - A message can only be deleted if it was sent less than 48 hours ago.<br/> /// - Bots can delete outgoing messages in private chats, groups, and supergroups.<br/> /// - Bots can delete incoming messages in private chats.<br/> /// - Bots granted can_post_messages permissions can delete outgoing messages in channels.<br/> /// - If the bot is an administrator of a group, it can delete any message there.<br/> /// - If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.<br/></summary> /// <param name="api"><see cref="BotClient"/> instance.</param> /// <param name="message">Message to delete.</param> /// <returns>True on success.</returns> /// <exception cref="BotRequestException">Thrown when a request to Telegram Bot API got an error response.</exception> /// <exception cref="ArgumentNullException">Thrown when a required parameter is null.</exception> public static bool DeleteMessages(this BotClient api, Message message) { if (api == null) { throw new ArgumentNullException(nameof(api)); } if (message == null) { throw new ArgumentNullException(nameof(message)); } return(api.DeleteMessage(message.Chat.Id, message.MessageId)); }
private async void AsyncBotAnalize(System.Object sender, Telegram.Bot.Args.MessageEventArgs e) { DataBase db = Singleton.GetInstance().Context; //BotClient.SendPhotoAsync(e.Message.From.Id, e.Message.Photo[2].FileId); if (e.Message.From.Username != null) { SetUserName(e.Message, db); } if (IsSystemEvent(e.Message)) { try { await BotClient.DeleteMessageAsync(e.Message.Chat.Id, e.Message.MessageId); return; } catch { } } if (e.Message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Supergroup) { if (e.Message.ReplyToMessage != null) { if (e.Message.ReplyToMessage.MessageId != 0 && e.Message.Text != null) { if (IsUserAdmin(e.Message.From, e.Message.Chat)) { if (SleshComands.Any(c => e.Message.Text.ToLower().Contains(c.Name))) { SleshComands.First(c => e.Message.Text.ToLower().Contains(c.Name)).Execute(BotClient, e.Message); return; } } } } } if (e.Message.Text != null && e.Message.Chat.Type == ChatType.Private) { User user = db.GetUser(e.Message.From.Id); if ((user == null || user.FIO == null || user.Number == "0") && e.Message.Text != "/start") { try { new Start().Execute(BotClient, e.Message); BotClient.DeleteMessage(user.ID, e.Message.MessageId, "Bot"); } catch (Exception exception) { Log.Logging(exception); } } } if (e.Message.Text != null || e.Message.Contact != null || e.Message.ForwardFromChat != null || e.Message.NewChatMembers != null || e.Message.Sticker != null || e.Message.Photo != null || e.Message.MediaGroupId != null || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Voice || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Video || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.VideoNote || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Document || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Game || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Location || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Contact || e.Message.Type == Telegram.Bot.Types.Enums.MessageType.MessagePinned) { if (commands.Any(c => c.Equals(e.Message.Text))) // проверка есть ли команда в списке { try { commands.FirstOrDefault(c => c.Equals(e.Message.Text)).Execute(BotClient, e.Message); // вытягиваем класс } catch (System.Exception ex) { Log.Logging(ex); } } else if (commandSlashes.Any(c => c.Equals(e.Message.Text))) { try { commandSlashes.FirstOrDefault(c => c.Equals(e.Message.Text)).Execute(BotClient, e.Message); // вытягиваем класс } catch (System.Exception ex) { Log.Logging(ex); } } else if (e.Message.Text == null || e.Message.Sticker != null || e.Message.Photo != null || e.Message.MediaGroupId != null) { Analize t = new Analize(); t.ChekRegister(BotClient, e.Message); } else if (!e.Message.Text.Equals("/start")) { Analize t = new Analize(); t.ChekRegister(BotClient, e.Message); } } }