mirror of https://github.com/oliverbooth/VPLink
style: move message validation to own method
This commit is contained in:
parent
64fd5d45bf
commit
9edd4b81ce
|
@ -84,19 +84,7 @@ internal sealed partial class DiscordMessageService : BackgroundService, IDiscor
|
||||||
|
|
||||||
private Task OnDiscordMessageReceived(SocketMessage arg)
|
private Task OnDiscordMessageReceived(SocketMessage arg)
|
||||||
{
|
{
|
||||||
if (arg is not IUserMessage message)
|
if (!ValidateMessage(arg, out IUserMessage? message, out IGuildUser? author))
|
||||||
return Task.CompletedTask;
|
|
||||||
|
|
||||||
if (message.Author is not IGuildUser author)
|
|
||||||
return Task.CompletedTask;
|
|
||||||
|
|
||||||
if (author.Id == _discordClient.CurrentUser.Id)
|
|
||||||
return Task.CompletedTask;
|
|
||||||
|
|
||||||
if (author.IsBot && !_configurationService.BotConfiguration.RelayBotMessages)
|
|
||||||
return Task.CompletedTask;
|
|
||||||
|
|
||||||
if (message.Channel.Id != _configurationService.DiscordConfiguration.ChannelId)
|
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
|
|
||||||
string displayName = author.Nickname ?? author.GlobalName ?? author.Username;
|
string displayName = author.Nickname ?? author.GlobalName ?? author.Username;
|
||||||
|
@ -150,4 +138,46 @@ internal sealed partial class DiscordMessageService : BackgroundService, IDiscor
|
||||||
channel = null;
|
channel = null;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool ValidateMessage(SocketMessage socketMessage,
|
||||||
|
[NotNullWhen(true)] out IUserMessage? message,
|
||||||
|
[NotNullWhen(true)] out IGuildUser? author)
|
||||||
|
{
|
||||||
|
message = socketMessage as IUserMessage;
|
||||||
|
if (message is null)
|
||||||
|
{
|
||||||
|
author = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
author = message.Author as IGuildUser;
|
||||||
|
if (author is null)
|
||||||
|
{
|
||||||
|
message = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (author.Id == _discordClient.CurrentUser.Id)
|
||||||
|
{
|
||||||
|
author = null;
|
||||||
|
message = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (author.IsBot && !_configurationService.BotConfiguration.RelayBotMessages)
|
||||||
|
{
|
||||||
|
author = null;
|
||||||
|
message = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message.Channel.Id != _configurationService.DiscordConfiguration.ChannelId)
|
||||||
|
{
|
||||||
|
author = null;
|
||||||
|
message = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue