public CommandHandlingService(IServiceProvider provider, DiscordSocketClient discord, CommandService commands) { InitializeLoader(); LoadDatabase(); _discord = discord; _commands = commands; _provider = provider; _epService = _provider.GetService <EPService>(); _afkSertvice = _provider.GetService <AfkSertvice>(); _updateService = _provider.GetService <UserGuildUpdateService>(); _starBoardService = _provider.GetService <StarBoardService>(); _musicService = _provider.GetService <MusicService>(); _modService = _provider.GetService <ModService>(); _blackListService = _provider.GetService <BlackListService>(); _ratelimitService2 = _provider.GetService <RatelimitService2>(); _globalBans = _provider.GetService <GlobalBanService>(); _playingService = new PlayingWith(_discord); SentryService.client = _discord; ChangelogService.LoadChangelog(); _discord.MessageReceived += _epService.IncreaseEP; _discord.MessageReceived += _afkSertvice.Client_MessageReceived; _discord.UserJoined += _updateService.UserJoined; _discord.UserLeft += _updateService.UserLeft; _discord.ReactionAdded += _starBoardService.StarAddedNew; _discord.ReactionRemoved += _starBoardService.StarRemovedNew; _discord.UserVoiceStateUpdated += _musicService.CheckIfAlone; //Bans _discord.UserBanned += _modService.Client_UserBanned; _discord.UserUnbanned += _modService.Client_UserUnbanned; //Modlog _discord.MessageDeleted += _modService.Client_MessageDeleted; _discord.RoleCreated += _modService.Client_RoleCreated; _discord.RoleDeleted += _modService.Client_RoleDeleted; _discord.RoleUpdated += _modService.Client_RoleUpdated; _discord.ChannelCreated += _modService.Client_ChannelCreated; _discord.ChannelDestroyed += _modService.Client_ChannelDestroyed; _discord.ChannelUpdated += _modService.Client_ChannelUpdated; _discord.GuildUpdated += _modService.Client_GuildUpdated; //Owner _discord.MessageReceived += MessageReceived; _discord.GuildAvailable += Client_GuildAvailable; _discord.JoinedGuild += Client_JoinedGuild; _discord.LeftGuild += Client_LeftGuild; //CommandService _commands.Log += CommandsOnLog; }
public GlobalBanSyncCommand( GlobalBanService globalBanService, TelegramService telegramService ) { _globalBanService = globalBanService; _telegramService = telegramService; }
public DeleteBanCommand( GlobalBanService globalBanService, TelegramService telegramService ) { _telegramService = telegramService; _globalBanService = globalBanService; }
public GBanRegisterCommand( TelegramService telegramService, GlobalBanService globalBanService ) { _telegramService = telegramService; _globalBanService = globalBanService; }
public ImportGBanCommand( TelegramService telegramService, GlobalBanService globalBanService ) { _telegramService = telegramService; _globalBanService = globalBanService; }
/// <summary> /// Initializes a new instance of the <see cref="AntiSpamService"/> class. /// </summary> /// <param name="spamWatchConfig"></param> /// <param name="cacheService"></param> /// <param name="chatService"></param> /// <param name="localizationService"></param> /// <param name="globalBanService">The global ban service.</param> /// <param name="settingsService"></param> public AntiSpamService( IOptionsSnapshot <SpamWatchConfig> spamWatchConfig, CacheService cacheService, ChatService chatService, LocalizationService localizationService, GlobalBanService globalBanService, SettingsService settingsService ) { _spamWatchConfig = spamWatchConfig.Value; _cacheService = cacheService; _chatService = chatService; _localizationService = localizationService; _globalBanService = globalBanService; _settingsService = settingsService; }
public override async Task HandleAsync(IUpdateContext context, UpdateDelegate next, string[] args, CancellationToken cancellationToken) { _telegramService = new TelegramService(context); var msg = _telegramService.Message; _globalBanService = new GlobalBanService(msg); var chatId = msg.Chat.Id; var fromId = msg.From.Id; var partedText = msg.Text.Split(" "); var param0 = partedText.ValueOfIndex(0) ?? ""; var param1 = partedText.ValueOfIndex(1) ?? ""; var userId = param1; var reason = msg.Text .Replace(param0, "", StringComparison.CurrentCulture) .Replace(param1, "", StringComparison.CurrentCulture).Trim(); if (!fromId.IsSudoer()) { await _telegramService.SendTextAsync("Anda haram melakukan ini") .ConfigureAwait(false); return; } if (param1 == "sync") { await _telegramService.SendTextAsync("Memperbarui cache..") .ConfigureAwait(false); await Sync.SyncGBanToLocalAsync() .ConfigureAwait(false); await _telegramService.EditAsync("Selesai memperbarui..") .ConfigureAwait(false); return; } if (msg.ReplyToMessage == null) { if (param1.IsNullOrEmpty()) { await _telegramService.SendTextAsync("Balas seseorang yang mau di ban") .ConfigureAwait(false); return; } userId = param1; reason = msg.Text .Replace(param0, "", StringComparison.CurrentCulture) .Replace(param1, "", StringComparison.CurrentCulture).Trim(); } else { var repMsg = msg.ReplyToMessage; userId = repMsg.From.Id.ToString(); reason = msg.Text .Replace(param0, "", StringComparison.CurrentCulture).Trim(); } Log.Information("Execute Global Ban"); await _telegramService.SendTextAsync("Mempersiapkan..") .ConfigureAwait(false); // await _telegramService.DeleteAsync(msg.MessageId) // .ConfigureAwait(false); var banData = new GlobalBanData() { UserId = userId.ToInt(), BannedBy = fromId, BannedFrom = chatId, ReasonBan = reason.IsNullOrEmpty() ? "no-reason" : reason }; var isBan = await _globalBanService.IsExist(banData) .ConfigureAwait(false); if (isBan) { await _telegramService.EditAsync("Pengguna sudah di ban") .ConfigureAwait(false); return; } await _telegramService.EditAsync("Menyimpan informasi..") .ConfigureAwait(false); var save = await _globalBanService.SaveBanAsync(banData) .ConfigureAwait(false); // var save = await _globalBanService.SaveBanAsync(data); Log.Information($"SaveBan: {save}"); await _telegramService.EditAsync("Memperbarui cache.") .ConfigureAwait(false); await Sync.SyncGBanToLocalAsync() .ConfigureAwait(false); await _telegramService.EditAsync("Pengguna berhasil di tambahkan.") .ConfigureAwait(false); // await _telegramService.DeleteAsync(delay: 3000) // .ConfigureAwait(false); }
public GlobalBanModule(GlobalBanService service) { _banService = service; }
public async Task HandleAsync(IUpdateContext context, UpdateDelegate next, CancellationToken cancellationToken) { var msg = context.Update.Message; _telegramService = new TelegramService(context); _settingsService = new SettingsService(msg); _globalBanService = new GlobalBanService(context.Update.Message); await _telegramService.DeleteAsync(msg.MessageId) .ConfigureAwait(false); Log.Information("New Chat Members..."); var chatSettings = _telegramService.CurrentSetting; Settings = chatSettings; if (!chatSettings.EnableWelcomeMessage) { Log.Information("Welcome message is disabled!"); return; } var newMembers = msg.NewChatMembers; var isBootAdded = await newMembers.IsBotAdded().ConfigureAwait(false); if (isBootAdded) { var isRestricted = await _telegramService.EnsureChatRestrictionAsync() .ConfigureAwait(false); if (isRestricted) { return; } var botName = BotSettings.GlobalConfiguration["Engines:ProductName"]; var sendText = $"Hai, perkenalkan saya {botName}" + $"\nFYI saya di bangun ulang menggunakan .NET." + $"\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 _telegramService.SendTextAsync(sendText).ConfigureAwait(false); await _settingsService.SaveSettingsAsync(new Dictionary <string, object>() { { "chat_id", msg.Chat.Id }, { "chat_title", msg.Chat.Title } }).ConfigureAwait(false); if (newMembers.Length == 1) { return; } } var parsedNewMember = await ParseMemberCategory(newMembers).ConfigureAwait(false); var allNewMember = parsedNewMember.AllNewMember; var allNoUsername = parsedNewMember.AllNoUsername; var allNewBot = parsedNewMember.AllNewBot; if (allNewMember.Length > 0) { var chatTitle = msg.Chat.Title; var greet = Time.GetTimeGreet(); var memberCount = await _telegramService.GetMemberCount() .ConfigureAwait(false); var newMemberCount = newMembers.Length; Log.Information("Preparing send Welcome.."); if (chatSettings.WelcomeMessage.IsNullOrEmpty()) { chatSettings.WelcomeMessage = $"Hai {allNewMember}" + $"\nSelamat datang di kontrakan {chatTitle}" + $"\nKamu adalah anggota ke-{memberCount}"; } var sendText = chatSettings.WelcomeMessage.ResolveVariable(new { allNewMember, allNoUsername, allNewBot, chatTitle, greet, newMemberCount, memberCount }); InlineKeyboardMarkup keyboard = null; if (!chatSettings.WelcomeButton.IsNullOrEmpty()) { keyboard = chatSettings.WelcomeButton.ToReplyMarkup(2); } if (chatSettings.EnableHumanVerification) { Log.Information("Human verification is enabled!"); Log.Information("Adding verify button.."); var userId = newMembers[0].Id; var verifyButton = $"Saya Manusia!|verify {userId}"; var withVerifyArr = new string[] { chatSettings.WelcomeButton, verifyButton }; var withVerify = string.Join(",", withVerifyArr); keyboard = withVerify.ToReplyMarkup(2); } var prevMsgId = chatSettings.LastWelcomeMessageId.ToInt(); var sentMsgId = -1; if (chatSettings.WelcomeMediaType != MediaType.Unknown) { var mediaType = (MediaType)chatSettings.WelcomeMediaType; sentMsgId = (await _telegramService.SendMediaAsync( chatSettings.WelcomeMedia, mediaType, sendText, keyboard).ConfigureAwait(false)).MessageId; } else { sentMsgId = (await _telegramService.SendTextAsync(sendText, keyboard) .ConfigureAwait(false)).MessageId; } if (!chatSettings.EnableHumanVerification) { await _telegramService.DeleteAsync(prevMsgId).ConfigureAwait(false); } await _settingsService.SaveSettingsAsync(new Dictionary <string, object>() { { "chat_id", msg.Chat.Id }, { "chat_title", msg.Chat.Title }, { "members_count", memberCount }, { "last_welcome_message_id", sentMsgId } }).ConfigureAwait(false); await _settingsService.UpdateCache().ConfigureAwait(false); } else { Log.Information("Welcome Message ignored because User is Global Banned."); } }
public override async Task HandleAsync(IUpdateContext context, UpdateDelegate next, string[] args, CancellationToken cancellationToken) { _telegramService = new TelegramService(context); var msg = _telegramService.Message; var chatId = msg.Chat.Id; var fromId = msg.From.Id; var partedText = msg.Text.Split(" "); var param1 = partedText.ValueOfIndex(1); // User ID _globalBanService = new GlobalBanService(msg); if (!fromId.IsSudoer()) { await _telegramService.SendTextAsync("Anda haram melakukan ini") .ConfigureAwait(false); return; } var repMsg = msg.ReplyToMessage; var userId = param1.ToInt(); Log.Information("Execute Global DelBan"); await _telegramService.SendTextAsync("Mempersiapkan..") .ConfigureAwait(false); // await _telegramService.DeleteAsync(msg.MessageId); var isBan = await _globalBanService.IsExist(userId) .ConfigureAwait(false); Log.Information($"IsBan: {isBan}"); if (!isBan) { await _telegramService.EditAsync("Pengguna tidak di ban") .ConfigureAwait(false); return; } await _telegramService.EditAsync("Memperbarui informasi..") .ConfigureAwait(false); var save = await _globalBanService.DeleteBanAsync(userId) .ConfigureAwait(false); Log.Information($"SaveBan: {save}"); await _telegramService.EditAsync("Memperbarui Cache..") .ConfigureAwait(false); await Sync.SyncGBanToLocalAsync() .ConfigureAwait(false); await _telegramService.EditAsync("Misi berhasil.") .ConfigureAwait(false); // await _telegramService.DeleteAsync(delay: 3000) // .ConfigureAwait(false); }