예제 #1
0
 public static int Event_eventRequest_AddGroup(int subType, int sendTime, long fromGroup, long fromQQ, IntPtr msg, string responseFlag)
 {
     if (Event_eventRequest_AddGroupHandler != null)
     {
         CQGroupAddRequestEventArgs args = new CQGroupAddRequestEventArgs(api, log, 12, 302, "群添加请求处理", "_eventRequest_AddGroup", 30000, subType, sendTime, fromGroup, fromQQ, msg.ToString(CQApi.DefaultEncoding), responseFlag);
         Event_eventRequest_AddGroupHandler(typeof(CQEventExport), args);
     }
     return(0);
 }
예제 #2
0
 public static int Event_eventRequest_AddGroup(int subType, int sendTime, long fromGroup, long fromQQ, IntPtr msg, string responseFlag)
 {
     if (Event_eventRequest_AddGroupHandler != null)
     {
         CQGroupAddRequestEventArgs args = new CQGroupAddRequestEventArgs(AppData.CQApi, AppData.CQLog, 12, 302, "群添加请求处理", "_eventRequest_AddGroup", 30000, subType, sendTime, fromGroup, fromQQ, msg.ToString(CQApi.DefaultEncoding), responseFlag);
         Event_eventRequest_AddGroupHandler(typeof(CQEventExport), args);
         return((int)(args.Handler ? CQMessageHandler.Intercept : CQMessageHandler.Ignore));
     }
     return(0);
 }
예제 #3
0
        /**
         * For some reason, this method does not always get called on given events.
         * As a fix, all group managers are grant the permission when they execute a command.
         */
        public void GroupAddRequest(object sender, CQGroupAddRequestEventArgs e)
        {
            if (e.SubType == CQGroupAddRequestType.RobotBeInviteAddGroup)
            {
                e.CQLog.Info("Info.AddGroup", $"机器人被邀请进群 {e.FromGroup?.Id ?? -1}");
                e.Request.SetGroupAddRequest(CQGroupAddRequestType.RobotBeInviteAddGroup, CQResponseType.PASS);

                DBManager.addManager(e.FromGroup.Id, e.FromQQ.Id);
                e.FromGroup.SendGroupMessage($"被 {e.FromQQ.Id} 邀请进群,已设为插件管理。");
            }
        }
예제 #4
0
        public void GroupAddRequest(object sender, CQGroupAddRequestEventArgs e)
        {
            if (e.SubType == Native.Sdk.Cqp.Enum.CQGroupAddRequestType.RobotBeInviteAddGroup) //被邀请入群
            {
                switch (NekoCore.Instance.Config.JoinGroups.HandleType)
                {
                    case Config.EVEMarketConfig.InvitedHandle.Accept:
                        e.Request.SetGroupAddRequest(Native.Sdk.Cqp.Enum.CQGroupAddRequestType.RobotBeInviteAddGroup, Native.Sdk.Cqp.Enum.CQResponseType.PASS);
                        break;
                    case Config.EVEMarketConfig.InvitedHandle.Refuse:
                        e.Request.SetGroupAddRequest(Native.Sdk.Cqp.Enum.CQGroupAddRequestType.RobotBeInviteAddGroup, Native.Sdk.Cqp.Enum.CQResponseType.FAIL, NekoCore.Instance.Config.JoinGroups.RefuseMessage ?? "");
                        break;

                }
            }
            
        }
예제 #5
0
 public void GroupAddRequest(object sender, CQGroupAddRequestEventArgs e)
 {
     if (e.SubType == Sdk.Cqp.Enum.CQGroupAddRequestType.ApplyAddGroup)
     {
         LuaEnv.LuaStates.Run("main", "GroupAddRequest", new
         {
             qq    = e.FromQQ.Id,
             msg   = e.AppendMessage,
             group = e.FromGroup.Id,
             tag   = e.ResponseFlag
         });
     }
     else if (e.SubType == Sdk.Cqp.Enum.CQGroupAddRequestType.RobotBeInviteAddGroup)
     {
         LuaEnv.LuaStates.Run("main", "GroupAddInvite", new
         {
             qq    = e.FromQQ.Id,
             msg   = e.AppendMessage,
             group = e.FromGroup.Id,
             tag   = e.ResponseFlag
         });
     }
 }