Ejemplo n.º 1
0
        private static async Task SendMailNotification(ulong channel, JsonClasses.Mail mail, string from, string mention, bool displaySummary)
        {
            // var stamp = DateTime.Parse(mail.timestamp).ToString(SettingsManager.Settings.Config.ShortTimeFormat);
            var sList = await PrepareBodyMessage(mail.body);

            var body   = sList[0];
            var fits   = sList[1];
            var urls   = sList[2];
            var fields = body.SplitToLines(1923);

            /* var embed = new EmbedBuilder()
             *   .WithThumbnailUrl(SettingsManager.Settings.Resources.ImgMail);
             * var cnt = 0;
             * foreach (var field in fields)
             * {
             *   if (cnt == 0)
             *       embed.AddField($"{LM.Get("mailSubject")} {mail.subject}", string.IsNullOrWhiteSpace(field) ? "---" : field);
             *   else
             *       embed.AddField($"-", string.IsNullOrWhiteSpace(field) ? "---" : field);
             *   cnt++;
             * }
             * embed.WithFooter($"{LM.Get("mailDate")} {stamp}");*/
            var ch = APIHelper.DiscordAPI.GetChannel(channel);
            await APIHelper.DiscordAPI.SendMessageAsync(ch, $"{mention} {from}");

            foreach (var field in fields)
            {
                await APIHelper.DiscordAPI.SendMessageAsync(ch, $".\r\n{field}");
            }
            if (displaySummary && !string.IsNullOrEmpty(fits))
            {
                var list = fits.SplitToLines(1950, "</a>", true).ToList();
                for (var i = 0; i < list.Count; i++)
                {
                    var res = list[i];
                    if (i != list.Count - 1 && !res.EndsWith("```"))
                    {
                        res += "```";
                    }
                    if (!res.StartsWith("```"))
                    {
                        res = res.Insert(0, "```");
                    }
                    await APIHelper.DiscordAPI.SendMessageAsync(ch, $".\r\n{res}");
                }
            }

            if (displaySummary && !string.IsNullOrEmpty(urls))
            {
                var list = urls.SplitToLines(1950);
                foreach (var s in list)
                {
                    await APIHelper.DiscordAPI.SendMessageAsync(ch, $".\r\n{s}");
                }
            }
        }
Ejemplo n.º 2
0
        private async Task SendMailNotification(ulong channel, JsonClasses.Mail mail, string labelNames)
        {
            var sender = await APIHelper.ESIAPI.GetCharacterData(Reason, mail.from);

            var labels = string.IsNullOrEmpty(labelNames) ? null : $"{LM.Get("mailLabels")}  {labelNames} | ";

            var stamp = DateTime.Parse(mail.timestamp).ToString(SettingsManager.Get("config", "shortTimeFormat"));
            var embed = new EmbedBuilder()
                        .WithThumbnailUrl(SettingsManager.Get("resources", "imgMail"))
                        .AddField($"{LM.Get("mailSubject")} {mail.subject}", await PrepareBodyMessage(mail.body))
                        .WithFooter($"{labels}{LM.Get("mailDate")} {stamp}");
            var ch = APIHelper.DiscordAPI.GetChannel(channel);
            await APIHelper.DiscordAPI.SendMessageAsync(ch, string.Format(LM.Get("mailMsgTitle"), sender?.name), embed.Build()).ConfigureAwait(false);
        }