| @@ -14,11 +14,11 @@ namespace Discord.Commands | |||||
| private readonly Func<IMessage, IReadOnlyList<object>, Task> _action; | private readonly Func<IMessage, IReadOnlyList<object>, Task> _action; | ||||
| public MethodInfo Source { get; } | public MethodInfo Source { get; } | ||||
| public Module Module { get; } | |||||
| public string Name { get; } | public string Name { get; } | ||||
| public string Description { get; } | public string Description { get; } | ||||
| public string Summary { get; } | public string Summary { get; } | ||||
| public string Text { get; } | public string Text { get; } | ||||
| public Module Module { get; } | |||||
| public IReadOnlyList<CommandParameter> Parameters { get; } | public IReadOnlyList<CommandParameter> Parameters { get; } | ||||
| public IReadOnlyList<PreconditionAttribute> Preconditions { get; } | public IReadOnlyList<PreconditionAttribute> Preconditions { get; } | ||||
| @@ -2,7 +2,6 @@ | |||||
| using System.Text; | using System.Text; | ||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Linq; | |||||
| using System; | using System; | ||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| @@ -171,14 +171,10 @@ namespace Discord | |||||
| private string Resolve(string text, UserMentionHandling userHandling, ChannelMentionHandling channelHandling, | private string Resolve(string text, UserMentionHandling userHandling, ChannelMentionHandling channelHandling, | ||||
| RoleMentionHandling roleHandling, EveryoneMentionHandling everyoneHandling) | RoleMentionHandling roleHandling, EveryoneMentionHandling everyoneHandling) | ||||
| { | { | ||||
| var guild = (Channel as IGuildChannel)?.Guild; | |||||
| text = MentionUtils.ResolveUserMentions(text, Channel, MentionedUsers, userHandling); | text = MentionUtils.ResolveUserMentions(text, Channel, MentionedUsers, userHandling); | ||||
| if (guild != null) | |||||
| { | |||||
| text = MentionUtils.ResolveChannelMentions(text, guild, channelHandling); | |||||
| text = MentionUtils.ResolveRoleMentions(text, guild, MentionedRoles, roleHandling); | |||||
| text = MentionUtils.ResolveEveryoneMentions(text, everyoneHandling); | |||||
| } | |||||
| text = MentionUtils.ResolveChannelMentions(text, (Channel as IGuildChannel)?.Guild, channelHandling); | |||||
| text = MentionUtils.ResolveRoleMentions(text, MentionedRoles, roleHandling); | |||||
| text = MentionUtils.ResolveEveryoneMentions(text, everyoneHandling); | |||||
| return text; | return text; | ||||
| } | } | ||||
| @@ -1,4 +1,5 @@ | |||||
| using System; | |||||
| using Discord.WebSocket; | |||||
| using System; | |||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Collections.Immutable; | using System.Collections.Immutable; | ||||
| using System.Globalization; | using System.Globalization; | ||||
| @@ -215,7 +216,7 @@ namespace Discord | |||||
| return ""; | return ""; | ||||
| case ChannelMentionHandling.Name: | case ChannelMentionHandling.Name: | ||||
| IGuildChannel channel = null; | IGuildChannel channel = null; | ||||
| channel = guild.GetChannelAsync(id).GetAwaiter().GetResult(); | |||||
| channel = guild?.GetChannel(id); | |||||
| if (channel != null) | if (channel != null) | ||||
| return $"#{channel.Name}"; | return $"#{channel.Name}"; | ||||
| else | else | ||||
| @@ -227,7 +228,7 @@ namespace Discord | |||||
| } | } | ||||
| return text; | return text; | ||||
| } | } | ||||
| internal static string ResolveRoleMentions(string text, IGuild guild, IReadOnlyCollection<IRole> mentions, RoleMentionHandling mode) | |||||
| internal static string ResolveRoleMentions(string text, IReadOnlyCollection<IRole> mentions, RoleMentionHandling mode) | |||||
| { | { | ||||
| if (mode == RoleMentionHandling.Ignore) return text; | if (mode == RoleMentionHandling.Ignore) return text; | ||||