public async Task HandleAsync(IUpdateContext context, UpdateDelegate next, CancellationToken cancellationToken) { Message msg = context.Update.Message; _elasticSecurityService = new ElasticSecurityService(msg); _chatProcessor = new ChatProcessor(context); var leftMember = msg.LeftChatMember; var isBan = await _elasticSecurityService.IsExistInCache(leftMember.Id); if (!isBan) { ConsoleHelper.WriteLine("Left Chat Members..."); var chatTitle = msg.Chat.Title; var newMembers = msg.LeftChatMember; var leftFullName = newMembers.FirstName; // var fromName = msg.From.FirstName; var sendText = $"Sampai jumpa lagi {leftFullName} " + $"\nKami di <b>{chatTitle}</b> menunggumu kembali.. :("; await _chatProcessor.SendAsync(sendText); } else { ConsoleHelper.WriteLine($"Left Message ignored because {leftMember} is Global Banned"); } }
public override async Task HandleAsync(IUpdateContext context, UpdateDelegate next, string[] args, CancellationToken cancellationToken) { var msg = context.Update.Message; var chatId = msg.Chat.Id; var fromId = msg.From.Id; _chatProcessor = new ChatProcessor(context); _elasticSecurityService = new ElasticSecurityService(msg); if (fromId.IsSudoer()) { if (msg.ReplyToMessage != null) { var repMsg = msg.ReplyToMessage; var userId = repMsg.From.Id; ConsoleHelper.WriteLine("Execute Global DelBan"); await _chatProcessor.SendAsync("Mempersiapkan.."); await _chatProcessor.DeleteAsync(msg.MessageId); var isBan = await _elasticSecurityService.IsExist(userId); ConsoleHelper.WriteLine($"IsBan: {isBan}"); if (isBan) { await _chatProcessor.EditAsync("Memperbarui informasi.."); var save = await _elasticSecurityService.DeleteBanAsync(userId); ConsoleHelper.WriteLine($"SaveBan: {save}"); await _chatProcessor.EditAsync("Menulis ke Cache.."); await _elasticSecurityService.UpdateCacheAsync(); await _chatProcessor.EditAsync("Misi berhasil."); } else { await _chatProcessor.EditAsync("Pengguna tidak di ban"); } } else { await _chatProcessor.SendAsync("Balas seseorang yang mau di ban"); } } else { await _chatProcessor.SendAsync("Unauthorized"); } await _chatProcessor.DeleteAsync(delay : 3000); }
public async Task HandleAsync(IUpdateContext context, UpdateDelegate next, CancellationToken cancellationToken) { Message msg = context.Update.Message; _chatProcessor = new ChatProcessor(context); _settingsService = new SettingsService(msg); _elasticSecurityService = new ElasticSecurityService(context.Update.Message); ConsoleHelper.WriteLine("New Chat Members..."); var newMembers = msg.NewChatMembers; var isBootAdded = await newMembers.IsBotAdded(); if (isBootAdded) { var botName = Bot.GlobalConfiguration["Engines:ProductName"]; var sendText = $"Hai, perkenalkan saya {botName}" + $"\nFYI saya di bangun ulang menggunakan .NET Core, tepatnya ASP .NET Core." + $"\n\nAku adalah bot pendebug dan grup manajemen yang di lengkapi dengan alat keamanan. " + $"Agar saya berfungsi penuh, jadikan saya admin dengan level standard. " + $"\n\nAku akan menerapkan konfigurasi standard jika aku baru pertama kali masuk kesini. " + $"\n\nUntuk melihat daftar perintah bisa ketikkan /help"; await _chatProcessor.SendAsync(sendText); await _settingsService.SaveSettingsAsync(new Dictionary <string, object>() { { "chat_id", msg.Chat.Id }, { "chat_title", msg.Chat.Title } }); if (newMembers.Length == 1) { return; } } var parsedNewMember = await ParseMemberCategory(newMembers); var allNewMember = parsedNewMember.AllNewMember; var allNoUsername = parsedNewMember.AllNoUsername; var allNewBot = parsedNewMember.AllNewBot; if (allNewMember.Length > 0) { var chatSettings = await _settingsService.GetSettingByGroup(); var chatTitle = msg.Chat.Title; var memberCount = await _chatProcessor.GetMemberCount(); var newMemberCount = newMembers.Length; ConsoleHelper.WriteLine("Preparing send Welcome.."); if (chatSettings.WelcomeMessage == "") { chatSettings.WelcomeMessage = $"Hai {allNewMember}" + $"\nSelamat datang di kontrakan {chatTitle}" + $"\nKamu adalah anggota ke-{memberCount}"; } var sendText = chatSettings.WelcomeMessage.ResolveVariable(new { allNewMember, allNoUsername, allNewBot, newMemberCount, chatTitle, memberCount }); IReplyMarkup keyboard = null; if (chatSettings.WelcomeButton != "") { keyboard = chatSettings.WelcomeButton.ToReplyMarkup(2); } if (chatSettings.WelcomeMediaType != "") { await _chatProcessor.SendMediaAsync( chatSettings.WelcomeMedia, chatSettings.WelcomeMediaType, sendText, keyboard); } else { await _chatProcessor.SendAsync(sendText, keyboard); } await _settingsService.SaveSettingsAsync(new Dictionary <string, object>() { { "chat_id", msg.Chat.Id }, { "chat_title", msg.Chat.Title }, { "members_count", memberCount } }); } else { ConsoleHelper.WriteLine("Welcome Message ignored because User is Global Banned."); } }