Esempio n. 1
0
        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"));
        }