public async Task RoleMdl(ModuleOrCrInfo module, PermissionAction action, [Remainder] IRole role) { if (role == role.Guild.EveryoneRole) { return; } await _service.AddPermissions(Context.Guild.Id, new Permissionv2 { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }); if (action.Value) { await ReplyConfirmLocalized("rx_enable", Format.Code(module.Name), GetText("of_module"), Format.Code(role.Name)).ConfigureAwait(false); } else { await ReplyConfirmLocalized("rx_disable", Format.Code(module.Name), GetText("of_module"), Format.Code(role.Name)).ConfigureAwait(false); } }
public async Task ChnlMdl(ModuleOrCrInfo module, PermissionAction action, [Remainder] ITextChannel chnl) { await _service.AddPermissions(Context.Guild.Id, new Permissionv2 { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }); if (action.Value) { await ReplyConfirmLocalized("cx_enable", Format.Code(module.Name), GetText("of_module"), Format.Code(chnl.Name)).ConfigureAwait(false); } else { await ReplyConfirmLocalized("cx_disable", Format.Code(module.Name), GetText("of_module"), Format.Code(chnl.Name)).ConfigureAwait(false); } }
public async Task UsrMdl(ModuleOrCrInfo module, PermissionAction action, [Remainder] IGuildUser user) { await _service.AddPermissions(Context.Guild.Id, new Permissionv2 { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }); if (action.Value) { await ReplyConfirmLocalized("ux_enable", Format.Code(module.Name), GetText("of_module"), Format.Code(user.ToString())).ConfigureAwait(false); } else { await ReplyConfirmLocalized("ux_disable", Format.Code(module.Name), GetText("of_module"), Format.Code(user.ToString())).ConfigureAwait(false); } }
public async Task Gmod(ModuleOrCrInfo module) { var moduleName = module.Name.ToLowerInvariant(); if (_service.BlockedModules.Add(moduleName)) { using (var uow = _db.UnitOfWork) { var bc = uow.BotConfig.GetOrCreate(); bc.BlockedModules.Add(new BlockedCmdOrMdl { Name = moduleName, }); uow.Complete(); } await ReplyConfirmLocalized("gmod_add", Format.Bold(module.Name)).ConfigureAwait(false); return; } else if (_service.BlockedModules.TryRemove(moduleName)) { using (var uow = _db.UnitOfWork) { var bc = uow.BotConfig.GetOrCreate(); bc.BlockedModules.RemoveWhere(x => x.Name == moduleName); uow.Complete(); } await ReplyConfirmLocalized("gmod_remove", Format.Bold(module.Name)).ConfigureAwait(false); return; } }
public async Task GlobalModule(ModuleOrCrInfo module) { var moduleName = module.Name.ToLowerInvariant(); var added = _service.ToggleModule(moduleName); if (added) { await ReplyConfirmLocalizedAsync("gmod_add", Format.Bold(module.Name)).ConfigureAwait(false); return; } await ReplyConfirmLocalizedAsync("gmod_remove", Format.Bold(module.Name)).ConfigureAwait(false); }
public async Task SrvrMdl(ModuleOrCrInfo module, PermissionAction action) { await Service.AddPermissions(Context.Guild.Id, new Permission { PrimaryTarget = PrimaryPermissionType.Server, PrimaryTargetId = 0, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }); if (action.Value) { await ReplyConfirmLocalized("sx_enable", Format.Code(module.Name), GetText("of_module")).ConfigureAwait(false); } else { await ReplyConfirmLocalized("sx_disable", Format.Code(module.Name), GetText("of_module")).ConfigureAwait(false); } }
public async Task Gmod(ModuleOrCrInfo module) { var moduleName = module.Name.ToLowerInvariant(); if (_service.BlockedModules.Add(moduleName)) { using (var uow = _db.GetDbContext()) { var bc = uow.BotConfig.GetOrCreate(set => set.Include(x => x.BlockedModules)); bc.BlockedModules.Add(new BlockedCmdOrMdl { Name = moduleName, }); uow.SaveChanges(); } await ReplyConfirmLocalizedAsync("gmod_add", Format.Bold(module.Name)).ConfigureAwait(false); return; } else if (_service.BlockedModules.TryRemove(moduleName)) { using (var uow = _db.GetDbContext()) { var bc = uow.BotConfig.GetOrCreate(set => set.Include(x => x.BlockedModules)); var mdls = bc.BlockedModules.Where(x => x.Name == moduleName); if (mdls.Any()) { uow._context.RemoveRange(mdls.ToArray()); } uow.SaveChanges(); } await ReplyConfirmLocalizedAsync("gmod_remove", Format.Bold(module.Name)).ConfigureAwait(false); return; } }