public static void responseAddFriend(EventAddFriend eaf, MiraiAddFriendRespose response) { string url = $"http://{HOST}:{PORT}/resp/newFriendRequestEvent"; JObject json = new JObject(); json.Add("sessionKey", SESSION); json.Add("eventId", eaf.id); json.Add("fromId", eaf.qq); json.Add("groupId", eaf.fromgroup); json.Add("operate", (int)response); json.Add("message", eaf.desc); JObject res = WebHelper.postJson(url, json); }
public void deny(EventAddFriend e) { MiraiHelper.responseAddFriend(e, MiraiAddFriendRespose.Deny); }
public void accept(EventAddFriend e) { MiraiHelper.responseAddFriend(e, MiraiAddFriendRespose.Allow); }
public async static void workGetEvent() { ClientWebSocket ws = new ClientWebSocket(); try { //CancellationToken token = new CancellationTokenSource().Token; await ws.ConnectAsync(new Uri($"ws://{HOST}:{PORT}/all?sessionKey={SESSION}"), CancellationToken.None); while (ISLINK) { byte[] buffer = new byte[1024]; MemoryStream ms = new MemoryStream(1024); try { if (!ISLINK) { break; } WebSocketReceiveResult result; while (!(result = await ws.ReceiveAsync(new ArraySegment <byte>(buffer), CancellationToken.None)).EndOfMessage) { ms.Write(buffer, 0, result.Count); } if (result.MessageType == WebSocketMessageType.Close && ms.Length == 0) { Console.WriteLine("receive socket error."); continue; //throw new WebSocketException(10054); } ms.Write(buffer, 0, result.Count); JObject j = JObject.Parse(Encoding.UTF8.GetString(ms.ToArray())); Console.WriteLine(j.ToString()); switch (j["type"].ToString()) { case "BotOnlineEvent": { break; } case "BotOfflineEventActive": { break; } case "BotOfflineEventForce": { break; } case "BotOfflineEventDropped": { break; } case "BotReloginEvent": { break; } case "BotInvitedJoinGroupRequestEvent": { EventAddGroup eaf = new EventAddGroup(); eaf.name = j["nickName"].ToString(); eaf.group = long.Parse(j["fromId"].ToString()); eaf.desc = j["message"].ToString(); eaf.id = long.Parse(j["eventId"].ToString()); eaf.groupName = j["groupName"].ToString(); handleAddGroup(eaf); break; } case "FriendMessage": { var msgs = j["messageChain"].ToArray(); Message msg = getMessage(msgs); msg.from = long.Parse(j["sender"]["id"].ToString()); msg.fromName = j["sender"]["nickname"].ToString(); msg.fromGroup = 0; handleMiraiMsg(msg); break; } case "GroupMessage": { var msgs = j["messageChain"].ToArray(); Message msg = getMessage(msgs); msg.from = long.Parse(j["sender"]["id"].ToString()); msg.fromName = j["sender"]["memberName"].ToString(); msg.fromGroup = long.Parse(j["sender"]["group"]["id"].ToString()); msg.fromPermission = getPermission(j["sender"]["permission"].ToString()); msg.fromGroupName = j["sender"]["group"]["name"].ToString(); msg.fromMyPermission = getPermission(j["sender"]["group"]["permission"].ToString()); handleMiraiMsg(msg); break; } case "TempMessage": { var msgs = j["messageChain"].ToArray(); Message msg = getMessage(msgs); msg.from = long.Parse(j["sender"]["id"].ToString()); msg.fromName = j["sender"]["memberName"].ToString(); msg.fromGroup = long.Parse(j["sender"]["group"]["id"].ToString()); msg.fromPermission = getPermission(j["sender"]["permission"].ToString()); msg.fromGroupName = j["sender"]["group"]["name"].ToString(); msg.fromMyPermission = getPermission(j["sender"]["group"]["permission"].ToString()); msg.isTempMsg = true; handleMiraiMsg(msg); break; } case "GroupRecallEvent": { //var msgs = j["messageChain"].ToArray(); Message msg = new Message(); msg.id = long.Parse(j["messageId"].ToString()); msg.to = long.Parse(j["authorId"].ToString()); //msg.time = long.Parse(j["time"].ToString()); msg.from = long.Parse(j["operator"]["id"].ToString()); msg.fromName = j["operator"]["memberName"].ToString(); msg.fromGroup = long.Parse(j["operator"]["group"]["id"].ToString()); msg.fromPermission = getPermission(j["operator"]["permission"].ToString()); msg.fromGroupName = j["operator"]["group"]["name"].ToString(); msg.fromMyPermission = getPermission(j["operator"]["group"]["permission"].ToString()); msg.isRecall = true; handleMiraiRecall(msg); break; } case "FriendRecallEvent": { Message msg = new Message(); msg.id = long.Parse(j["messageId"].ToString()); msg.to = long.Parse(j["authorId"].ToString()); //msg.time = long.Parse(j["time"].ToString()); msg.from = long.Parse(j["operator"]["id"].ToString()); msg.fromName = j["operator"]["memberName"].ToString(); msg.isRecall = true; handleMiraiRecall(msg); break; } case "BotGroupPermissionChangeEvent": { break; } case "BotMuteEvent": { break; } case "BotUnmuteEvent": { break; } case "BotJoinGroupEvent": { break; } case "BotLeaveEventActive": { break; } case "BotLeaveEventKick": { break; } case "GroupNameChangeEvent": { break; } case "GroupEntranceAnnouncementChangeEvent": { break; } case "GroupMuteAllEvent": { break; } case "GroupAllowAnonymousChatEvent": { break; } case "GroupAllowConfessTalkEvent": { break; } case "GroupAllowMemberInviteEvent": { break; } case "MemberJoinEvent": { break; } case "MemberLeaveEventKick": { break; } case "MemberLeaveEventQuit": { break; } case "MemberCardChangeEvent": { break; } case "MemberSpecialTitleChangeEvent": { break; } case "MemberPermissionChangeEvent": { break; } case "MemberMuteEvent": { break; } case "MemberUnmuteEvent": { break; } case "NewFriendRequestEvent": { EventAddFriend eaf = new EventAddFriend(); eaf.name = j["nick"].ToString(); eaf.qq = long.Parse(j["fromId"].ToString()); eaf.desc = j["message"].ToString(); eaf.id = long.Parse(j["eventId"].ToString()); eaf.fromgroup = long.Parse(j["groupId"].ToString()); handleAddFriend(eaf); break; } case "MemberJoinRequestEvent": { EventAddGroup eaf = new EventAddGroup(); eaf.name = j["nickName"].ToString(); eaf.group = long.Parse(j["fromId"].ToString()); eaf.desc = j["message"].ToString(); eaf.id = long.Parse(j["eventId"].ToString()); eaf.groupName = j["groupName"].ToString(); handleAddGroup(eaf); break; } default: { break; } } } catch (Exception ex) { Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace); //FileHelper.Log(ex); } } } catch (Exception ex) { Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace); FileHelper.Log(ex); } }