Don't crash when user/channel mentions are received in a PM
This commit is contained in:
@@ -24,21 +24,24 @@ namespace Discord
|
|||||||
text = _userRegex.Replace(text, new MatchEvaluator(e =>
|
text = _userRegex.Replace(text, new MatchEvaluator(e =>
|
||||||
{
|
{
|
||||||
string id = e.Value.Substring(2, e.Value.Length - 3);
|
string id = e.Value.Substring(2, e.Value.Length - 3);
|
||||||
var user = client.Users[id, server.Id];
|
var user = client.Users[id, server?.Id];
|
||||||
if (user != null)
|
if (user != null)
|
||||||
return '@' + user.Name;
|
return '@' + user.Name;
|
||||||
else //User not found
|
else //User not found
|
||||||
return '@' + e.Value;
|
return '@' + e.Value;
|
||||||
}));
|
}));
|
||||||
text = _channelRegex.Replace(text, new MatchEvaluator(e =>
|
if (server != null)
|
||||||
{
|
{
|
||||||
string id = e.Value.Substring(2, e.Value.Length - 3);
|
text = _channelRegex.Replace(text, new MatchEvaluator(e =>
|
||||||
var channel = client.Channels[id];
|
{
|
||||||
if (channel != null && channel.Server.Id == server.Id)
|
string id = e.Value.Substring(2, e.Value.Length - 3);
|
||||||
return '#' + channel.Name;
|
var channel = client.Channels[id];
|
||||||
else //Channel not found
|
if (channel != null && channel.Server.Id == server.Id)
|
||||||
|
return '#' + channel.Name;
|
||||||
|
else //Channel not found
|
||||||
return '#' + e.Value;
|
return '#' + e.Value;
|
||||||
}));
|
}));
|
||||||
|
}
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user