1: public void qqEvent(QQEvent e)
2: { 3: switch (e.type)
4: { 5: case QQEvent.QQ_LOGIN_SUCCESS:
6: msg("QQ_LOGIN_SUCCESS"); 7: break;
8: case QQEvent.QQ_LOGIN_FAIL:
9: msg("QQ_LOGIN_FAIL"); 10: msg("reconnect"); 11: connect();
12: // client.release();
13: //System.exit(0);
14: break;
15: case QQEvent.QQ_LOGIN_UNKNOWN_ERROR:
16: msg("QQ_LOGIN_UNKNOWN_ERROR"); 17: msg("reconnect"); 18: connect();
19: // client.release();
20: //System.exit(0);
21: break;
22: case QQEvent.QQ_LOGIN_REDIRECT_NULL:
23: msg("QQ_LOGIN_REDIRECT_NULL"); 24: msg("reconnect"); 25: connect();
26: // client.release();
27: //System.exit(0);
28: break;
29: case QQEvent.QQ_CONNECTION_LOST:
30: msg("QQ_CONNECTION_LOST"); 31: msg("reconnect"); 32: connect();
33: // client.release();
34: //System.exit(0);
35: break;
36: case QQEvent.QQ_NETWORK_ERROR:
37: msg("QQ_NETWORK_ERROR"); 38: msg("reconnect"); 39: connect();
40: // client.release();
41: //System.exit(0);
42: break;
43: case QQEvent.QQ_CONNECTION_BROKEN:
44: msg("QQ_CONNECTION_BROKEN"); 45: msg("reconnect"); 46: connect();
47: // client.release();
48: //System.exit(0);
49: break;
50: case QQEvent.QQ_RECEIVE_TEMP_SESSION_IM:
51: SimpleDateFormat tempDate = new SimpleDateFormat("MM-dd HH:mm"); 52: impacket = (ReceiveIMPacket) e.getSource();
53: qqnum = impacket.tempSessionIM.sender;
54: immsg = new String(impacket.tempSessionIM.message);
55: msg("[" 56: + tempDate.format(new Date(impacket.tempSessionIM.time))
57: + "] " + qqnum + ":" + immsg);
58: addFriend(qqnum);
59: msg("临时回复"); 60: client.sendIM(qqnum, Util.getBytes("对不起:" + impacket.tempSessionIM.nick + ",GK助手暂时还不支持临时会话,请先将我加为好友,然后在正常聊天窗体与我聊天,这样我才能帮助你。:)")); 61: break;
62: case QQEvent.QQ_RECEIVE_NORMAL_IM:// 收到正常消息�?
63: SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); 64: impacket = (ReceiveIMPacket) e.getSource();
65: qqnum = impacket.normalHeader.sender;
66: immsg = new String(impacket.normalIM.messageBytes);
67: msg("[" 68: + sdf.format(new Date(impacket.normalHeader.sendTime))
69: + "] " + qqnum + ":" + immsg);
70: if (impacket.normalIM.replyType != QQ.QQ_IM_AUTO_REPLY)
71: { 72: msg("好友:" + qqnum +"请求信息:" + immsg ); 73: client.sendIM(qqnum, Util.getBytes(immsg));
74: }
75: //if (immsg.trim().equalsIgnoreCase("exit")) 76: // { 77: // System.out.println(qqnum + "命令你�退出");
78: // client.logout();
79: // client.release();
80: // System.exit(0);
81: // }
82: break;
83: case QQEvent.QQ_ADDED_BY_OTHERS:// 事件发生在有人将我加为好友时
84: case QQEvent.QQ_ADDED_BY_OTHERS_EX:// 事件发生在有人将我加为好友时
85: msg("QQ_ADDED_BY_OTHERS_EX"); 86: snpacket = (SystemNotificationPacket) e.getSource();
87: qqnum = snpacket.from;
88: msg(qqnum + "把我加为了好友�?");
89: client.sendIM(qqnum, Util.getBytes("hello.")); 90: break;
91: case QQEvent.QQ_REQUEST_ADD_ME:// 事件发生在有人请求加我为好友�?
92: case QQEvent.QQ_REQUEST_ADD_ME_EX:// 事件发生在有人请求加我为好友�?
93: msg("QQ_REQUEST_ADD_ME_EX"); 94: snpacket = (SystemNotificationPacket) e.getSource();
95: qqnum = snpacket.from;
96: msg(qqnum + "想加我为好友�");// 1675103
97: client.approveAddMe(qqnum);
98: addFriend(qqnum);
99: break;
100: case QQEvent.QQ_ADD_FRIEND_NEED_AUTH:
101: AddFriendExReplyPacket packet = (AddFriendExReplyPacket)e.getSource();
102: qqnum = packet.friendQQ;
103: sendAddFriendAuth(qqnum);
104: break;
105: case QQEvent.QQ_REQUEST_ADD_OTHER_APPROVED:// 事件发生在有人请求加我为好友时,我同意并且加他为好友
106: msg("QQ_REQUEST_ADD_OTHER_APPROVED"); 107: break;
108: case QQEvent.QQ_REQUEST_ADD_OTHER_APPROVED_AND_ADD:// 事件发生在有人请求加我为好友时,我同意并且加他为好友
109: msg("QQ_REQUEST_ADD_OTHER_APPROVED_AND_ADD"); 110: break;
111: case QQEvent.QQ_REQUEST_ADD_OTHER_REJECTED:// 事件发生在我请求加一个人,那个人拒绝�?
112: snpacket = (SystemNotificationPacket) e.getSource();
113: msg(snpacket.from
114: + "拒绝加我为好友�?理由为:"
115: + ((snpacket.message == null || snpacket.message
116: .equals("")) ? "�?" : snpacket.message)); 117: break;
118: case QQEvent.QQ_KICKED_OUT_BY_SYSTEM:
119: msg("QQ在别处登录了,重新登录."); 120: connect();
121: break;
122: default :
123: msg(e.type);
124: break;
125: }
126: }