private async Task <bool> CheckGlobalBanAsync(User user) { var userId = user.Id; var isKicked = false; var isBan = await _elasticSecurityService.IsExistInCache(userId); ConsoleHelper.WriteLine($"{user} IsBan: {isBan}"); if (!isBan) { return(isKicked); } var sendText = $"{user} terdeteksi pada penjaringan WinTenDev ES2 tapi gagal di tendang."; isKicked = await _chatProcessor.KickMemberAsync(user); if (isKicked) { await _chatProcessor.UnbanMemberAsync(user); sendText = sendText.Replace("tapi gagal", "dan berhasil"); } else { sendText += " Pastikan saya admin yang dapat menghapus Pengguna"; } await _chatProcessor.SendAsync(sendText); return(isKicked); }
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"); } }