예제 #1
0
        /// <summary>
        /// Type=4 收到讨论组消息 <para/>
        /// 处理收到的讨论组消息
        /// </summary>
        /// <param name="sender">事件的触发对象</param>
        /// <param name="e">事件的附加参数</param>
        public void ReceiveDiscussMessage(object sender, DiscussMessageEventArgs e)
        {
            // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。
            // 这里处理消息


            e.Handled = false;   // 关于返回说明, 请参见 "Event_FriendMessage.ReceiveFriendMessage" 方法
        }
예제 #2
0
        /// <summary>
        /// Type=4 收到讨论组消息 <para/>
        /// 处理收到的讨论组消息
        /// </summary>
        /// <param name="sender">事件的触发对象</param>
        /// <param name="e">事件的附加参数</param>
        public void ReceiveDiscussMessage(object sender, DiscussMessageEventArgs e)
        {
            // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。
            // 这里处理消息
            e.Handled = LuaEnv.LuaEnv.RunLua(
                $"fromqq={e.FromQQ} " +
                $"fromDiscuss={e.FromDiscuss} " +
                $"message=[[{e.Msg.Replace("]", "] ")}]] " +
                $"id={e.MsgId} ",
                "envent/ReceiveDiscussMessage.lua");

            //e.Handled = false;   // 关于返回说明, 请参见 "Event_FriendMessage.ReceiveFriendMessage" 方法
        }
        /// <summary>
        /// Type=4 收到讨论组消息 <para/>
        /// 处理收到的讨论组消息
        /// </summary>
        /// <param name="sender">事件的触发对象</param>
        /// <param name="e">事件的附加参数</param>
        public void ReceiveDiscussMessage(object sender, DiscussMessageEventArgs e)
        {
            // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。
            // 这里处理消息
            e.Handled = LuaEnv.LuaEnv.RunLua(
                "",
                "envent/ReceiveDiscussMessage.lua",
                new ArrayList {
                "fromqq", e.FromQQ,
                "fromDiscuss", e.FromDiscuss,
                "message", e.Msg,
                "id", e.MsgId
            });

            //e.Handled = false;   // 关于返回说明, 请参见 "Event_FriendMessage.ReceiveFriendMessage" 方法
        }
예제 #4
0
        private static int EventDiscussMsg(int subType, int msgId, long fromDiscuss, long fromQQ, IntPtr msg, int font)
        {
            DiscussMessageEventArgs args = new DiscussMessageEventArgs();

            args.MsgId       = msgId;
            args.FromDiscuss = fromDiscuss;
            args.FromQQ      = fromQQ;
            args.Msg         = NativeConvert.ToPtrString(msg, Encoding.GetEncoding("GB18030"));
            args.Handled     = false;

            if (subType == 1)               // 讨论组消息
            {
                ReceiveDiscussMessage(null, args);
            }
            else
            {
                Common.CqApi.AddLoger(LogerLevel.Info, "Native提示", "EventDiscussMsg 方法发现新的消息类型");
            }

            return((int)(args.Handled ? MessageHanding.Intercept : MessageHanding.Ignored));            //如果处理过就截断消息
        }