Esempio n. 1
0
        public static Message Submit(string[] parameters, MessageEvent e)
        {
            if (System.DateTime.UtcNow.AddHours(8).DayOfWeek != System.DayOfWeek.Sunday)
            {
                return(new Message("only sunday"));
            }
            if (Creds.ensureLoggedIn(e.GetEndpoint().Item2).Result == false)
            {
                return(new Message("请重新进行/init"));
            }
            var d = new cqhttp.Cyan.Utils.Dialogue();

            d["BEGIN"] = async(c, m) => {
                await WRScraper.submitWR(
                    Creds.loggedIn[e.GetEndpoint().Item2],
                    m.GetRaw()
                    );

                await c.SendTextAsync(e.GetEndpoint(), "已提交");

                await WRScraper.updateIndex();

                return("DONE");
            };
            cqhttp.Cyan.Utils.DialoguePool.Join(e.GetEndpoint(), d);
            return(new Message("请发送周报的内容:"));
        }
Esempio n. 2
0
 public static Message GetWR(string[] parameters, MessageEvent e)
 {
     if (e.GetEndpoint().Item1 != MessageType.private_)
     {
         return(new Message("private chat only"));
     }
     Task.Run(async() => {
         if (await Creds.ensureLoggedIn(e.GetEndpoint().Item2))
         {
             string ret = "目前有: ";
             WRScraper.submittedUsers.ForEach((s) => ret += s + ',');
             ret += "已经提交了周报\n你要看谁的?";
             await Program.client.SendTextAsync(
                 e.GetEndpoint(), ret
                 );
         }
     }).ContinueWith((t) => {
         var d      = new cqhttp.Cyan.Utils.Dialogue();
         d["BEGIN"] = async(c, m) => {
             await c.SendTextAsync(
                 e.GetEndpoint(),
                 WRScraper.getWRFor(
                     Creds.loggedIn[e.GetEndpoint().Item2], m.GetRaw()).Result
                 );
             return("DONE");
         };
         cqhttp.Cyan.Utils.DialoguePool.Join(e.GetEndpoint(), d);
     });
     return(new Message());
 }
Esempio n. 3
0
        public async static Task <Message> Remind(string[] parameters, MessageEvent e)
        {
            await WRScraper.updateIndex();

            var unsubmitted = (
                from user in WRScraper.users.Keys
                where !WRScraper.submittedUsers.Contains(user)
                select user
                ).ToList();

            if (unsubmitted.Count > 0)
            {
                string toSend = $"仍然有{unsubmitted.Count}名铁憨憨没有交周报。他们分别是:\n";
                unsubmitted.ForEach((s) => toSend += s + ',');
                toSend  = toSend.TrimEnd(',');
                toSend += "\n清退警告⚠️";
                return(new Message(toSend));
            }
            return(new Message("终于有一次全员交齐了"));
        }
Esempio n. 4
0
        public async static Task <Message> Status(string[] parameters, MessageEvent e)
        {
            await WRScraper.updateIndex();

            return(new Message($"{WRScraper.submittedUsers.Count}人已提交周报"));
        }