private async Task MessageDeleted(Cacheable <IMessage, ulong> msg, ISocketMessageChannel msgChannel) { var deletedMsg = msg.Value; if (IsMsgNull(deletedMsg) || IsUserNull(deletedMsg.Author) || IsUserBot(deletedMsg.Author) || IsMsgEmpty(deletedMsg)) { return; } var channel = msgChannel as SocketGuildChannel; var logChannel = await TryGetLoggingChannel(channel.Guild.Id, EventType.MessageDeleted, deletedMsg.Author, channel.Guild); if (logChannel == null) { return; } var descParams = new List <string> { deletedMsg.Id.ToString(), deletedMsg.Author.FullName(), deletedMsg.Author.Id.ToString() }; var fields = new List <(string, string, bool)> { { (_resourceService.GetResource("msg_deleted_field_title"), deletedMsg.Content, false) } }; var payload = _embedPayloadFactory.CreateEmbedPayload(EmbedStruct.Log, EmbedPayloadType.MsgDeleted, "msg_deleted", deletedMsg.Author, descParams, null, null, fields); var embed = _embedService.CreateFieldEmbed(payload); await channel.Guild .GetTextChannel(logChannel.ChannelID) .SendEmbedAsync(embed); }
public async Task LogException(Exception ex) { var toLog = ex.InnerException ?? ex; var descArgs = new List <string> { toLog.Message }; var footerArgs = new List <string> { toLog.Source }; var fields = new List <(string, string, bool)> { (_resources.GetResource("stacktrace_field_title"), toLog.StackTrace, false) }; var payload = _embedPayloadFactory.CreateEmbedPayload(EmbedStruct.Exception, EmbedPayloadType.Error, "exception", null, descArgs, null, footerArgs, fields); var embed = _embedService.CreateFieldEmbed(payload); await _ownerDMChannel.SendEmbedAsync(embed); }
private string ResolveFormatting(string resx, string[] args) => args != null && args.Length > 0 ? _resources.GetFormattedResource(resx, args) : _resources.GetResource(resx);
public void ViewModelTitle_PropertyGetter_ShouldReturnTheViewModelTitle() { _resourcesMock.GetResource("StarWarsTitle").Returns("Fake title"); Assert.That(_vm.ViewModelTitle, Is.EqualTo("Fake title")); }