You can now use actualcustomreactions as a module name to enable/disable actual custom reactions, as opposed to commands to manage them which are in CustomReactions module
This commit is contained in:
parent
a3bd89460b
commit
06ca1c5f8f
@ -181,7 +181,7 @@ namespace NadekoBot.Modules.Games
|
|||||||
return old;
|
return old;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
#if !GLOBAL_NADEKO
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
[RequireUserPermission(GuildPermission.ManageMessages)]
|
[RequireUserPermission(GuildPermission.ManageMessages)]
|
||||||
@ -218,6 +218,7 @@ namespace NadekoBot.Modules.Games
|
|||||||
await ReplyConfirmLocalized("curgen_disabled").ConfigureAwait(false);
|
await ReplyConfirmLocalized("curgen_disabled").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
private static KeyValuePair<string, ImmutableArray<byte>> GetRandomCurrencyImage()
|
private static KeyValuePair<string, ImmutableArray<byte>> GetRandomCurrencyImage()
|
||||||
{
|
{
|
||||||
|
@ -52,7 +52,7 @@ namespace NadekoBot.Modules.Permissions
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[OwnerOnly]
|
[OwnerOnly]
|
||||||
public async Task Gmod(ModuleInfo module)
|
public async Task Gmod(ModuleOrCrInfo module)
|
||||||
{
|
{
|
||||||
var moduleName = module.Name.ToLowerInvariant();
|
var moduleName = module.Name.ToLowerInvariant();
|
||||||
if (BlockedModules.Add(moduleName))
|
if (BlockedModules.Add(moduleName))
|
||||||
|
@ -363,7 +363,7 @@ namespace NadekoBot.Modules.Permissions
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task SrvrMdl(ModuleInfo module, PermissionAction action)
|
public async Task SrvrMdl(ModuleOrCrInfo module, PermissionAction action)
|
||||||
{
|
{
|
||||||
await AddPermissions(Context.Guild.Id, new Permissionv2
|
await AddPermissions(Context.Guild.Id, new Permissionv2
|
||||||
{
|
{
|
||||||
@ -419,7 +419,7 @@ namespace NadekoBot.Modules.Permissions
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task UsrMdl(ModuleInfo module, PermissionAction action, [Remainder] IGuildUser user)
|
public async Task UsrMdl(ModuleOrCrInfo module, PermissionAction action, [Remainder] IGuildUser user)
|
||||||
{
|
{
|
||||||
await AddPermissions(Context.Guild.Id, new Permissionv2
|
await AddPermissions(Context.Guild.Id, new Permissionv2
|
||||||
{
|
{
|
||||||
@ -480,7 +480,7 @@ namespace NadekoBot.Modules.Permissions
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task RoleMdl(ModuleInfo module, PermissionAction action, [Remainder] IRole role)
|
public async Task RoleMdl(ModuleOrCrInfo module, PermissionAction action, [Remainder] IRole role)
|
||||||
{
|
{
|
||||||
if (role == role.Guild.EveryoneRole)
|
if (role == role.Guild.EveryoneRole)
|
||||||
return;
|
return;
|
||||||
@ -542,7 +542,7 @@ namespace NadekoBot.Modules.Permissions
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task ChnlMdl(ModuleInfo module, PermissionAction action, [Remainder] ITextChannel chnl)
|
public async Task ChnlMdl(ModuleOrCrInfo module, PermissionAction action, [Remainder] ITextChannel chnl)
|
||||||
{
|
{
|
||||||
await AddPermissions(Context.Guild.Id, new Permissionv2
|
await AddPermissions(Context.Guild.Id, new Permissionv2
|
||||||
{
|
{
|
||||||
|
@ -112,6 +112,7 @@ namespace NadekoBot
|
|||||||
CommandService.AddTypeReader<CommandInfo>(new CommandTypeReader());
|
CommandService.AddTypeReader<CommandInfo>(new CommandTypeReader());
|
||||||
CommandService.AddTypeReader<CommandOrCrInfo>(new CommandOrCrTypeReader());
|
CommandService.AddTypeReader<CommandOrCrInfo>(new CommandOrCrTypeReader());
|
||||||
CommandService.AddTypeReader<ModuleInfo>(new ModuleTypeReader());
|
CommandService.AddTypeReader<ModuleInfo>(new ModuleTypeReader());
|
||||||
|
CommandService.AddTypeReader<ModuleOrCrInfo>(new ModuleOrCrTypeReader());
|
||||||
CommandService.AddTypeReader<IGuild>(new GuildTypeReader());
|
CommandService.AddTypeReader<IGuild>(new GuildTypeReader());
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,4 +17,25 @@ namespace NadekoBot.TypeReaders
|
|||||||
return Task.FromResult(TypeReaderResult.FromSuccess(module));
|
return Task.FromResult(TypeReaderResult.FromSuccess(module));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ModuleOrCrTypeReader : TypeReader
|
||||||
|
{
|
||||||
|
public override Task<TypeReaderResult> Read(ICommandContext context, string input)
|
||||||
|
{
|
||||||
|
input = input.ToLowerInvariant();
|
||||||
|
var module = NadekoBot.CommandService.Modules.GroupBy(m => m.GetTopLevelModule()).FirstOrDefault(m => m.Key.Name.ToLowerInvariant() == input)?.Key;
|
||||||
|
if (module == null && input != "actualcustomreactions")
|
||||||
|
return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "No such module found."));
|
||||||
|
|
||||||
|
return Task.FromResult(TypeReaderResult.FromSuccess(new ModuleOrCrInfo
|
||||||
|
{
|
||||||
|
Name = input,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ModuleOrCrInfo
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user