private static int Evnet__eventDiscussMsg(int subType, int msgId, long fromDiscuss, long fromQQ, IntPtr msg, int font) { CqDiscussMessageEventArgs args = new CqDiscussMessageEventArgs(3, msgId, fromDiscuss, fromQQ, msg.ToString(_defaultEncoding)); if (subType == 1) { if (ReceiveDiscussMessage_3 != null) { ReceiveDiscussMessage_3(null, args); } } return(Convert.ToInt32(args.Handler)); }
/// <summary> /// Type=4 收到讨论组消息 <para/> /// 处理收到的讨论组消息 /// </summary> /// <param name="sender">事件的触发对象</param> /// <param name="e">事件的附加参数</param> public void ReceiveDiscussMessage(object sender, CqDiscussMessageEventArgs e) { // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。 // 这里处理消息 e.Handler = LuaEnv.LuaEnv.RunLua( "", "envent/ReceiveDiscussMessage.lua", new ArrayList() { "fromqq", e.FromQQ, "fromDiscuss", e.FromDiscuss, "message", e.MsgId, "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) { CqDiscussMessageEventArgs args = new CqDiscussMessageEventArgs(); args.MsgId = msgId; args.FromDiscuss = fromDiscuss; args.FromQQ = fromQQ; args.Message = NativeConvert.ToPtrString(msg, Encoding.GetEncoding("GB18030")); args.Handler = false; if (subType == 1) // 讨论组消息 { ReceiveDiscussMessage(null, args); } else { Common.CqApi.AddLoger(LogerLevel.Info, "Native提示", "EventDiscussMsg 方法发现新的消息类型"); } return((int)(args.Handler ? MessageHanding.Intercept : MessageHanding.Ignored)); //如果处理过就截断消息 }
public void ReceiveDiscussMessage(object sender, CqDiscussMessageEventArgs e) { MsgProcess msg = new MsgProcess(e.Message, e.FromQQ, e.FromDiscuss, msgtype.Discuss); }