private async Task FileUploadHandlerAsync(SocketMessage msgArg) { // Checks if it's a user message. var msg = msgArg as SocketUserMessage; if (msg == null) { return; } if (msg.Author.IsBot) { return; } // Checks if it's a guild message. var channel = msg.Channel as SocketGuildChannel; if (channel == null) { return; } // Checks if the guild has specified for conversion. var record = await _coreSettings.GetOrCreateGuildSettingsAsync(channel.Guild).ConfigureAwait(false); if (!record.IsGfyCatEnabled) { return; } // Begins attachment search. var attachments = msg.Attachments .Where(att => att.Filename.EndsWith(".mov", StringComparison.OrdinalIgnoreCase) || att.Filename.EndsWith(".webm", StringComparison.OrdinalIgnoreCase)).ToList(); if (attachments.Count == 0) { return; } foreach (var attachment in attachments) { var _ = PerformGfyConversionAsync(attachment.Url, msg); } }
private Task RegisterGuildAsync(SocketGuild guild) => _coreSettings.GetOrCreateGuildSettingsAsync(guild);