Beispiel #1
0
        public static async void GetIllustDetail(SoraMessage e, int id)
        {
            var detail = await Illust.Get(id);

            if (detail == null)
            {
                await e.ReplyToOriginal("数据获取失败,请稍后再试");
            }
            else
            {
                ArrayList msg = new();
                foreach (var img in detail.Images)
                {
                    msg.Add(CQCode.CQImage(ImageUrls.ToPixivCat(img.Medium)));
                }
                msg.Add(new StringBuilder().AppendLine()
                        .AppendLine(detail.Title)
                        .AppendLine($"Author: {detail.Author}")
                        .AppendLine(detail.Caption)
                        .AppendLine($"Tags: {string.Join(" | ", detail.Tags)}")
                        .AppendLine($"Publish Date: {detail.CreateDate:yyyy-MM-dd hh:mm:ss}")
                        .AppendLine($"Bookmarks: {detail.TotalBookmarks} Comments:{detail.TotalComments} Views:{detail.TotalView}")
                        .Append(detail.Url)
                        .ToString());
                await e.Reply(msg.ToArray());

                await e.RemoveCoins(5);
            }
        }
Beispiel #2
0
        public static async void FHL(SoraMessage e, string _char)
        {
            _char = SoraMessage.Escape(_char);
            if (_char.Length != 1)
            {
                await e.ReplyToOriginal("参数错误,请检查后重试");

                return;
            }
            var result = await Tools.Poem.Search(_char);

            if (result.Count <= 0)
            {
                await e.ReplyToOriginal("没有搜索到任何结果,请检查后重试");

                return;
            }
            if (result.Count <= 5)
            {
                await e.Reply($"带有「{_char}」字的诗句有:" + Environment.NewLine + string.Join(Environment.NewLine, result));
            }
            else
            {
                var s    = new string[5];
                var rand = new Tools.Rand();
                for (var i = 0; i < 5; i++)
                {
                    var id = rand.Int(1, result.Count) - 1;
                    s[i] = result[id];
                    result.RemoveAt(id);
                }
                await e.Reply($"带有「{_char}」字的诗句有(随机选取5句):" + Environment.NewLine + string.Join(Environment.NewLine, s));
            }
            await e.RemoveCoins(2);
        }
Beispiel #3
0
        public static async void Normal(SoraMessage e)
        {
            try
            {
                var           h  = Library.Roll.Model.HistoryToday.Today();
                StringBuilder sb = new();
                sb.AppendLine("[" + DateTime.Today.ToString("yyyy-MM-dd") + "]");
                sb.Append(h[0].ToString());
                for (var i = 1; i < h.Length && i < 50; i++)
                {
                    sb.AppendLine().Append(h[i].ToString());
                }
                if (h.Length >= 50)
                {
                    sb.AppendLine().Append("<更多条目已被过滤,如果需要请自行搜索>");
                }
                await e.Reply(sb.ToString());

                await e.RemoveCoins(3);
            }
            catch
            {
                await e.Reply("数据获取失败,请稍后再试");
            }
        }
Beispiel #4
0
        public static async void Normal(SoraMessage e)
        {
            try
            {
                var           h  = Library.Roll.Model.HistoryToday.Today();
                StringBuilder sb = new();
                sb.AppendLine("[" + DateTime.Today.ToString("yyyy-MM-dd") + "]");
                sb.AppendJoin(Environment.NewLine, h);
                if (h.Length > 30)
                {
                    var bin = UbuntuPastebin.Paste(sb.ToString(), "text", "Hitsory Today");
                    await e.ReplyToOriginal(new StringBuilder()
                                            .AppendLine("数据过多,请前往以下链接查看")
                                            .Append(bin).ToString());
                }
                else
                {
                    await e.Reply(sb.ToString());
                }
                await e.RemoveCoins(3);

                await e.UpdateGroupCooldown("historytoday");
            }
            catch
            {
                await e.Reply("数据获取失败,请稍后再试");
            }
        }
Beispiel #5
0
        static async Task SendGif(SoraMessage e, Image <Rgba32> gif)
        {
            var file = Path.GetTempFileName();

            SaveGif(gif, file);
            await e.Reply(CQCode.CQImage(file));

            await e.RemoveCoins(5);
        }
        public static async void Normal(SoraMessage e, string id)
        {
            try
            {
                var info = Library.Roll.Model.Logistics.Get(id);
                await e.Reply(info.ToString());

                await e.RemoveCoins(15);
            }
            catch
            {
                await e.ReplyToOriginal("快递详情获取失败,请稍后再试");
            }
        }
Beispiel #7
0
        public static async void SearchOrigin(SoraMessage e, string poem)
        {
            try
            {
                var result = await Tools.Poem.GetOrigin(SoraMessage.Escape(poem));

                await e.ReplyToOriginal(result);

                await e.RemoveCoins(2);
            }
            catch (Exception ex)
            {
                await e.ReplyToOriginal(ex.Message);
            }
        }
Beispiel #8
0
        public static async void Normal(SoraMessage e, string line1, string line2)
        {
            await e.Reply(CQCode.CQImage($"https://api.akiraxie.me/5000choyen?upper={Utils.UrlEncode(line1)}&lower={Utils.UrlEncode(line2)}"));

            await e.RemoveCoins(1);
        }