From f6bdb98c41f630ac39107ce2e656d5d2091d7277 Mon Sep 17 00:00:00 2001 From: Master Kwoth Date: Wed, 3 May 2017 09:49:35 +0200 Subject: [PATCH] improved how .rh works --- .../Modules/Administration/Administration.cs | 9 ++---- src/NadekoBot/Resources/CommandStrings.resx | 4 +-- src/NadekoBot/Services/CommandHandler.cs | 31 ++++++++++--------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index e83b4f85..2aca6bf0 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -218,13 +218,10 @@ namespace NadekoBot.Modules.Administration [RequireContext(ContextType.Guild)] [RequireUserPermission(GuildPermission.ManageRoles)] [RequireBotPermission(GuildPermission.ManageRoles)] - public async Task RoleHoist(string roleSearchName, PermissionAction targetState) + public async Task RoleHoist(IRole role) { - var roleName = roleSearchName.ToUpperInvariant(); - var role = Context.Guild.Roles.FirstOrDefault(r => r.Name.ToUpperInvariant() == roleName); - - await role.ModifyAsync(r => r.Hoist = targetState.Value).ConfigureAwait(false); - await ReplyConfirmLocalized("rh", Format.Bold(role.Name), Format.Bold(targetState.Value.ToString())).ConfigureAwait(false); + await role.ModifyAsync(r => r.Hoist = !role.IsHoisted).ConfigureAwait(false); + await ReplyConfirmLocalized("rh", Format.Bold(role.Name), Format.Bold(role.IsHoisted.ToString())).ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index a46b89e8..2485151b 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -3403,10 +3403,10 @@ rolehoist rh - Toggles if this role is displayed in the sidebar or not + Toggles whether this role is displayed in the sidebar or not. - `{0}rh Guests true` or `{0}rh "Space Wizards" true + `{0}rh Guests` or `{0}rh "Space Wizards" buy diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 3a760dfb..4cb83e38 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -58,22 +58,25 @@ namespace NadekoBot.Services public async Task ExecuteExternal(ulong? guildId, ulong channelId, string commandText) { - if (guildId != null) + if (guildId != null) + { + var guild = NadekoBot.Client.GetGuild(guildId.Value); + var channel = guild?.GetChannel(channelId) as SocketTextChannel; + if (channel == null) { - var guild = NadekoBot.Client.GetGuild(guildId.Value); - var channel = guild?.GetChannel(channelId) as SocketTextChannel; - if (channel == null) - return; - - try - { - IUserMessage msg = await channel.SendMessageAsync(commandText).ConfigureAwait(false); - msg = (IUserMessage)await channel.GetMessageAsync(msg.Id).ConfigureAwait(false); - await TryRunCommand(guild, channel, msg).ConfigureAwait(false); - //msg.DeleteAfter(5); - } - catch { } + _log.Warn("Channel for external execution not found."); + return; } + + try + { + IUserMessage msg = await channel.SendMessageAsync(commandText).ConfigureAwait(false); + msg = (IUserMessage)await channel.GetMessageAsync(msg.Id).ConfigureAwait(false); + await TryRunCommand(guild, channel, msg).ConfigureAwait(false); + //msg.DeleteAfter(5); + } + catch { } + } } public Task StartHandling()