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()