public async Task CmdGetSettingsInPrivate() { var payload = $"start=settings_{ChatId}"; var startSettings = await _botService.GetUrlStart(payload); var inlineKeyboard = new InlineKeyboardMarkup( new[] { new[] { InlineKeyboardButton.WithUrl("Pengaturan", startSettings) } } ); await SendMessageTextAsync("Tekan tombol di bawha ini untuk mengubah pengaturan", replyMarkup : inlineKeyboard); }
public async Task AdminCheckerJobAsync(long chatId) { try { var sw = Stopwatch.StartNew(); Log.Information("Starting check Admin in ChatID '{ChatId}'", chatId); var me = await _botClient.GetMeAsync(); var isAdminChat = await this.IsAdminAsync(chatId, me.Id); if (isAdminChat) { await Task.Delay(5000); return; } Log.Debug("Doing leave chat from {ChatId}", chatId); var urlAddTo = await _botService.GetUrlStart("startgroup=new"); var msgLeave = "Sepertinya saya bukan admin di grup ini, saya akan meninggalkan grup. Sampai jumpa!" + "\n\nTerima kasih sudah menggunakan @MissZiziBot, silakan undang saya kembali jika diperlukan."; var inlineKeyboard = new InlineKeyboardMarkup ( new[] { new[] { InlineKeyboardButton.WithUrl("👥 Dukungan", "https://t.me/WinTenDev"), }, new[] { InlineKeyboardButton.WithUrl("➕ Tambahkan ke Grup", urlAddTo) } } ); await _botClient.SendTextMessageAsync( chatId, msgLeave, ParseMode.Html, replyMarkup : inlineKeyboard ); await _botClient.LeaveChatAsync(chatId); Log.Debug( "Checking Admin in ChatID '{ChatId}' job complete in {Elapsed}", chatId, sw.Elapsed ); sw.Stop(); await Task.Delay(5000); } catch (ApiRequestException requestException) { Log.Error( requestException, "Error when Check Admin on ChatID: '{ChatId}'", chatId ); var setting = await _settingsService.GetSettingsByGroupCore(chatId); var exMessage = requestException.Message.ToLower(); if (exMessage.IsContains("forbidden")) { var dateNow = DateTime.UtcNow; var diffDays = (dateNow - setting.UpdatedAt).TotalDays; Log.Debug( "Last activity days in '{ChatId}' is {DiffDays:N2} days", chatId, diffDays ); if (diffDays > AfterLeaveLimit) { Log.Debug("This time is cleanup this chat!"); await _settingsService.DeleteSettings(chatId); } } } catch (Exception e) { Log.Error( e, "Error when Check Admin in ChatID: '{ChatId}'", chatId ); } }