/// <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" 方法 }
/// <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" 方法 }
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)); //如果处理过就截断消息 }