Esempio n. 1
0
        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                var releaseData = ReleaseGetter.Get();
                var ver         = new Version(releaseData.tag_name).Build;
                if (ver != localVersion)
                {
                    if (updating)
                    {
                        return;
                    }
                    updating = true;

                    Messenger.SendDebugInfo($"开始自动更新。当前版本为v{localVersion}, 将会更新到v{ver}");
                    Messenger.Broadcast($"机器人开始了自动更新, 大约在1分钟内机器人不会回答你的问题.");
                    AutoUpdateRR.Execute();
                    Thread.Sleep(1000);
                }
            }
            catch (WebException)
            {
                // 忽略
            }
            catch (Exception exception)
            {
                Messenger.SendDebugInfo(exception.ToString());
            }
        }
Esempio n. 2
0
        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (HotUpdateInfo.PreviousVersion)
            {
                return;
            }

            try
            {
                if (Config.Instance.UpdateLexion)
                {
                    WFResource.UpdateLexion();
                }
                var releaseData = ReleaseGetter.Get();
                var ver         = new Version(releaseData.tag_name).Build;
                if (ver != localVersion)
                {
                    if (updating)
                    {
                        return;
                    }
                    if (Config.Instance.AutoUpdate)
                    {
                        updating = true;

                        Messenger.SendDebugInfo($"开始自动更新。当前版本为v{localVersion}, 将会更新到v{ver}");
                        Messenger.Broadcast($"WFBot开始了自动更新, 当前版本为v{localVersion}, 将会更新到v{ver}, 大约在1分钟内机器人不会回答你的问题.");
                        AutoUpdateRR.Execute();
                        Thread.Sleep(1000);
                    }
                    else
                    {
                        if (!IsNotified)
                        {
                            IsNotified = true;
                            Messenger.SendDebugInfo($"→ WFBot插件本体{ver}版本发布了, 不考虑体验一下新Feature(Bug)?");
                        }
                    }
                }
            }
            catch (WebException)
            {
                // 忽略
            }
            catch (Exception exception)
            {
                Messenger.SendDebugInfo(exception.ToString());
            }
        }
Esempio n. 3
0
 void RunAutoUpdate()
 {
     AutoUpdateRR.Execute();
 }
        public void ProcessPrivateMessage(PrivateMessageReceivedContext context)
        {
            if (HotUpdateInfo.PreviousVersion)
            {
                return;
            }
            // F**k 我先注释了 如果你有兴趣拿正则重构这傻逼功能 JUSTDOIT.

            /*if (context.Message.StartsWith("添加骚话"))
             * {
             *  var strs = context.Message.Split(' ');
             *  if (strs.Length >= 2)
             *  {
             *      var word = strs[1];
             *      var result = strs[2];
             *      if (result.Contains("[CQ:image"))// 检测是否有图片cq码
             *      {
             *          var strs1 = strs[2].Split(new[] {"file="}, StringSplitOptions.None);// 去掉cq码前面的东西
             *          var strs2 = strs1.Last().Split('.');// 去掉cq码后面的东西
             *          var filename = strs2.First() + ".cqimg";// 终于 我们得到了cq随机生成的文件名 还得加个cqimg
             *          if (!Directory.Exists(@"骚话\"))
             *          {
             *              Directory.CreateDirectory(@"骚话\");
             *          }
             *
             *          var extension = strs2.Last().Substring(0, 3);// 文件扩展名
             *          DownloadImage(filename, @"骚话\", word + "." + extension);// 下载图片
             *          result = strs[2].Replace(strs2.First(), @"骚话\" + word);// 原本的缓存重新导向
             *      }
             *      CoquettishConfig.Instance.CoquettishWords.Add(new CoquettishWord(word, result));
             *      CoquettishConfig.Save();
             *  }
             *  else
             *  {
             *      Messenger.SendPrivate(context.FromQq, "参数不足,添加骚话请使用: 添加骚话 关键词 骚话");
             *  }
             * }*/

            if (context.Message.StartsWith("删除骚话"))
            {
                var strs = context.Message.Split(' ');
                if (strs.Length >= 2)
                {
                    CoquettishConfig.Instance.CoquettishWords.Remove(CoquettishConfig.Instance.CoquettishWords
                                                                     .Where(word => word.word == strs[1]).ToList().First());
                    Messenger.SendPrivate(context.FromQq, "已经移除.");
                }
            }
            if (context.FromQq == Config.Instance.QQ)
            {
                if (context.Message == $"没有开启通知的群 {Config.Instance.Code}")
                {
                    var groups = _mahuaApi.GetGroupsWithModel().Model.ToList();
                    var gs     = groups.Where(g => !groups.Contains(g)).Select(g => $"{g.Group}-{g.Name}");

                    Messenger.SendPrivate(context.FromQq, string.Join("\r\n", gs));
                }
                if (context.Message == $"执行自动更新 {Config.Instance.Code}")
                {
                    AutoUpdateRR.Execute();
                }
            }

            if (context.Message.Contains("添加群"))
            {
                var strs = context.Message.Split(' ');
                if (strs.Length >= 3)
                {
                    if (strs[1] == Config.Instance.Code)
                    {
                        if (strs[2].IsNumber())
                        {
                            //mycode begin  判断群是否存在,且是否有管理权限
                            if (_wFGraceMange.QQisGroupMember(_mahuaApi, strs[2], context.FromQq) < 0)
                            {
                                Messenger.SendPrivate(context.FromQq, $"您不是群[{strs[2]}]的成员,或机器人未加入此群");
                                return;
                            }
                            var info = _wFGraceMange.GetGroupMemberInfo(_mahuaApi, strs[2], context.FromQq);
                            if (info.Authority == GroupMemberAuthority.Normal || info.Authority == GroupMemberAuthority.Unknown)
                            {
                                Messenger.SendPrivate(context.FromQq, "您的权限不足,需要群主或者管理员权限");
                                return;
                            }
                            //mycode end
                            if (Config.Instance.WFGroupList.Contains(strs[2]))
                            {
                                Messenger.SendPrivate(context.FromQq, "群号已经存在.");
                            }
                            else
                            {
                                Config.Instance.WFGroupList.Add(strs[2]);
                                Config.Save();
                                Messenger.SendPrivate(context.FromQq, "完事.");
                                Messenger.SendGroup(strs[2], $"{context.FromQq}已经在私聊启用了此群的新任务通知功能.");
                                Messenger.SendDebugInfo($"{strs[2]}启用了通知功能.");
                            }
                        }
                        else
                        {
                            Messenger.SendPrivate(context.FromQq, "您群号真牛逼."); // 看一次笑一次 2
                        }
                    }
                    else
                    {
                        Messenger.SendPrivate(context.FromQq, "口令错误.");
                    }
                }
                else
                {
                    Messenger.SendPrivate(context.FromQq, "参数不足.");
                }
            }
            if (context.Message.Contains("删除群"))
            {
                var strs = context.Message.Split(' ');
                if (strs.Length >= 3)
                {
                    if (strs[1] == Config.Instance.Code)
                    {
                        if (strs[2].IsNumber())
                        {
                            Config.Instance.WFGroupList.Remove(strs[2]);
                            Config.Save();
                            Messenger.SendPrivate(context.FromQq, "完事.");
                            Messenger.SendGroup(strs[2], $"{context.FromQq}已经在私聊禁用了此群的新任务通知功能.");
                            Messenger.SendDebugInfo($"{strs[2]}禁用了通知功能.");
                        }
                        else
                        {
                            Messenger.SendPrivate(context.FromQq, "您群号真牛逼.");
                        }
                    }
                    else
                    {
                        Messenger.SendPrivate(context.FromQq, "口令错误.");
                    }
                }
                else
                {
                    Messenger.SendPrivate(context.FromQq, "参数不足.");
                }
            }
        }