Fixed crash when resolving a message with multiple tags
This commit is contained in:
@@ -121,8 +121,8 @@ namespace Discord
|
|||||||
newText = ResolveEmoji(tag, emojiHandling);
|
newText = ResolveEmoji(tag, emojiHandling);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
text.Remove(tag.Index, tag.Length);
|
text.Remove(tag.Index + indexOffset, tag.Length);
|
||||||
text.Insert(tag.Index, newText);
|
text.Insert(tag.Index + indexOffset, newText);
|
||||||
indexOffset += newText.Length - tag.Length;
|
indexOffset += newText.Length - tag.Length;
|
||||||
}
|
}
|
||||||
return text.ToString();
|
return text.ToString();
|
||||||
@@ -132,20 +132,24 @@ namespace Discord
|
|||||||
if (mode != TagHandling.Remove)
|
if (mode != TagHandling.Remove)
|
||||||
{
|
{
|
||||||
var user = tag.Value as IUser;
|
var user = tag.Value as IUser;
|
||||||
|
var guildUser = user as IGuildUser;
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case TagHandling.Name:
|
case TagHandling.Name:
|
||||||
if (user != null)
|
if (user != null)
|
||||||
return $"@{(user as IGuildUser)?.Nickname ?? user?.Username}";
|
return $"@{guildUser?.Nickname ?? user?.Username}";
|
||||||
else
|
else
|
||||||
return $"@unknown-user";
|
return $"@unknown-user";
|
||||||
case TagHandling.FullName:
|
case TagHandling.FullName:
|
||||||
if (user != null)
|
if (user != null)
|
||||||
return $"@{(user as IGuildUser)?.Nickname ?? user?.Username}#{user.Discriminator}";
|
return $"@{guildUser?.Nickname ?? user?.Username}#{user.Discriminator}";
|
||||||
else
|
else
|
||||||
return $"@unknown-user";
|
return $"@unknown-user";
|
||||||
case TagHandling.Sanitize:
|
case TagHandling.Sanitize:
|
||||||
return MentionUser($"{SanitizeChar}{tag.Key}");
|
if (guildUser != null && guildUser.Nickname == null)
|
||||||
|
return MentionUser($"{SanitizeChar}{tag.Key}", false);
|
||||||
|
else
|
||||||
|
return MentionUser($"{SanitizeChar}{tag.Key}", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
Reference in New Issue
Block a user