Skip to content

Commit f4915c5

Browse files
committed
add qqagent base code.
1 parent ba65b68 commit f4915c5

File tree

9 files changed

+4827
-0
lines changed

9 files changed

+4827
-0
lines changed

doc/qqprotocol.md

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# w.qq协议整理
2+
3+
web QQ现在只有文字消息功能了。
4+
5+
接收图片消息与接收文件功能已挂,而且像是官方停止了相应服务。
6+
7+
web QQ端无法发送讨论组消息,只能接收。
8+
9+
2015-09-26 web QQ 变化,1、恢复了接收图片功能。2、官方去掉了密码登陆方式,只保留了二维码登陆方式。
10+
11+
### 登陆
12+
13+
w.qq与桌面版本qq不能同时登陆。是按照设备来区分的,并不是真正的允许一个产品线登陆一个。
14+
15+
16+
### 消息
17+
18+
w.qq的假多点登陆,在执行channel/poll2时,哪个是最近一次poll的,哪个能收到消息,否则另外一个会收到消息。
19+
20+
w.qq与手机qq能够保证都收到消息,但是手机上发送的消息不会再同步到另一终端上,虽然对方能够收到。
21+
22+
##### 事件类型,poll_type
23+
24+
* message
25+
* group_message
26+
* discu_message (这是想要省一个字符,并不是我拼错误,shit)
27+
* sess_message
28+
* kick_message
29+
* buddies_status_change
30+
* input_notify
31+
* file_message
32+
* tips
33+
34+
###### 消息类型,msg_type
35+
36+
*
37+
*
38+
*
39+
40+
##### 被迫下载
41+
您的帐号在另一地点登录,您已被迫下线。如有疑问,请登录 safe.qq.com 了解更多。
42+
43+
{"retcode":0,"result":[{"poll_type":"kick_message","value":{"msg_id":53125,"from_uin":10000,"to_uin":1449732709,"msg_id2":53126,"msg_type":48,"reply_ip":0,"show_reason":1,"reason":"\u60A8\u7684\u5E10\u53F7\u5728\u53E6\u4E00\u5730\u70B9\u767B\u5F55\uFF0C\u60A8\u5DF2\u88AB\u8FEB\u4E0B\u7EBF\u3002\u5982\u6709\u7591\u95EE\uFF0C\u8BF7\u767B\u5F55 safe.qq.com \u4E86\u89E3\u66F4\u591A\u3002"}}]}
44+
45+
46+
47+
### 参考:
48+
49+
https://github.com/xhan/qqbot/blob/master/protocol.md
50+
https://github.com/zeruniverse/GnomeQQ/blob/master/PROTOCOL.md
51+

ui/qqui.ui

+335
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,335 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>MainWindow</class>
4+
<widget class="QMainWindow" name="MainWindow">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>685</width>
10+
<height>488</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>MainWindow</string>
15+
</property>
16+
<widget class="QWidget" name="centralwidget">
17+
<widget class="QPushButton" name="pushButton">
18+
<property name="geometry">
19+
<rect>
20+
<x>560</x>
21+
<y>100</y>
22+
<width>84</width>
23+
<height>33</height>
24+
</rect>
25+
</property>
26+
<property name="text">
27+
<string>send qqnum</string>
28+
</property>
29+
</widget>
30+
<widget class="QPushButton" name="pushButton_2">
31+
<property name="geometry">
32+
<rect>
33+
<x>400</x>
34+
<y>220</y>
35+
<width>261</width>
36+
<height>33</height>
37+
</rect>
38+
</property>
39+
<property name="text">
40+
<string>send password and verify code</string>
41+
</property>
42+
</widget>
43+
<widget class="QLineEdit" name="lineEdit">
44+
<property name="geometry">
45+
<rect>
46+
<x>400</x>
47+
<y>100</y>
48+
<width>151</width>
49+
<height>31</height>
50+
</rect>
51+
</property>
52+
<property name="text">
53+
<string>1449732709</string>
54+
</property>
55+
</widget>
56+
<widget class="QLabel" name="label">
57+
<property name="geometry">
58+
<rect>
59+
<x>310</x>
60+
<y>100</y>
61+
<width>54</width>
62+
<height>17</height>
63+
</rect>
64+
</property>
65+
<property name="text">
66+
<string>QQNum:</string>
67+
</property>
68+
</widget>
69+
<widget class="QLabel" name="label_2">
70+
<property name="geometry">
71+
<rect>
72+
<x>310</x>
73+
<y>150</y>
74+
<width>71</width>
75+
<height>17</height>
76+
</rect>
77+
</property>
78+
<property name="text">
79+
<string>Password:</string>
80+
</property>
81+
</widget>
82+
<widget class="QLineEdit" name="lineEdit_2">
83+
<property name="geometry">
84+
<rect>
85+
<x>400</x>
86+
<y>140</y>
87+
<width>151</width>
88+
<height>31</height>
89+
</rect>
90+
</property>
91+
</widget>
92+
<widget class="QLabel" name="label_3">
93+
<property name="geometry">
94+
<rect>
95+
<x>310</x>
96+
<y>190</y>
97+
<width>81</width>
98+
<height>20</height>
99+
</rect>
100+
</property>
101+
<property name="text">
102+
<string>verify code:</string>
103+
</property>
104+
</widget>
105+
<widget class="QLineEdit" name="lineEdit_3">
106+
<property name="geometry">
107+
<rect>
108+
<x>400</x>
109+
<y>180</y>
110+
<width>151</width>
111+
<height>31</height>
112+
</rect>
113+
</property>
114+
<property name="text">
115+
<string>5678</string>
116+
</property>
117+
</widget>
118+
<widget class="QLabel" name="label_4">
119+
<property name="geometry">
120+
<rect>
121+
<x>560</x>
122+
<y>169</y>
123+
<width>101</width>
124+
<height>41</height>
125+
</rect>
126+
</property>
127+
<property name="text">
128+
<string>verify code:</string>
129+
</property>
130+
</widget>
131+
<widget class="QLabel" name="label_5">
132+
<property name="geometry">
133+
<rect>
134+
<x>20</x>
135+
<y>250</y>
136+
<width>54</width>
137+
<height>17</height>
138+
</rect>
139+
</property>
140+
<property name="text">
141+
<string>Hint:</string>
142+
</property>
143+
</widget>
144+
<widget class="QLabel" name="label_6">
145+
<property name="geometry">
146+
<rect>
147+
<x>80</x>
148+
<y>250</y>
149+
<width>271</width>
150+
<height>20</height>
151+
</rect>
152+
</property>
153+
<property name="text">
154+
<string>TextLabel</string>
155+
</property>
156+
</widget>
157+
<widget class="QLabel" name="label_7">
158+
<property name="geometry">
159+
<rect>
160+
<x>60</x>
161+
<y>100</y>
162+
<width>151</width>
163+
<height>141</height>
164+
</rect>
165+
</property>
166+
<property name="text">
167+
<string> QRPICQRPICQRPIC</string>
168+
</property>
169+
</widget>
170+
<widget class="QPushButton" name="pushButton_5">
171+
<property name="geometry">
172+
<rect>
173+
<x>420</x>
174+
<y>10</y>
175+
<width>84</width>
176+
<height>33</height>
177+
</rect>
178+
</property>
179+
<property name="text">
180+
<string>web sync</string>
181+
</property>
182+
</widget>
183+
<widget class="QPushButton" name="pushButton_6">
184+
<property name="geometry">
185+
<rect>
186+
<x>20</x>
187+
<y>50</y>
188+
<width>84</width>
189+
<height>33</height>
190+
</rect>
191+
</property>
192+
<property name="text">
193+
<string>refresh</string>
194+
</property>
195+
</widget>
196+
<widget class="QPushButton" name="pushButton_3">
197+
<property name="geometry">
198+
<rect>
199+
<x>120</x>
200+
<y>10</y>
201+
<width>84</width>
202+
<height>33</height>
203+
</rect>
204+
</property>
205+
<property name="text">
206+
<string>logout</string>
207+
</property>
208+
</widget>
209+
<widget class="QPushButton" name="pushButton_4">
210+
<property name="geometry">
211+
<rect>
212+
<x>20</x>
213+
<y>10</y>
214+
<width>84</width>
215+
<height>33</height>
216+
</rect>
217+
</property>
218+
<property name="text">
219+
<string>login</string>
220+
</property>
221+
</widget>
222+
<widget class="QPushButton" name="pushButton_7">
223+
<property name="geometry">
224+
<rect>
225+
<x>220</x>
226+
<y>10</y>
227+
<width>84</width>
228+
<height>33</height>
229+
</rect>
230+
</property>
231+
<property name="text">
232+
<string>get contact</string>
233+
</property>
234+
</widget>
235+
<widget class="QLineEdit" name="lineEdit_4">
236+
<property name="geometry">
237+
<rect>
238+
<x>310</x>
239+
<y>50</y>
240+
<width>361</width>
241+
<height>31</height>
242+
</rect>
243+
</property>
244+
</widget>
245+
<widget class="QPushButton" name="pushButton_8">
246+
<property name="geometry">
247+
<rect>
248+
<x>230</x>
249+
<y>50</y>
250+
<width>81</width>
251+
<height>33</height>
252+
</rect>
253+
</property>
254+
<property name="text">
255+
<string>geturl</string>
256+
</property>
257+
</widget>
258+
<widget class="QPushButton" name="pushButton_9">
259+
<property name="geometry">
260+
<rect>
261+
<x>120</x>
262+
<y>50</y>
263+
<width>101</width>
264+
<height>33</height>
265+
</rect>
266+
</property>
267+
<property name="text">
268+
<string>create session</string>
269+
</property>
270+
</widget>
271+
<widget class="QPushButton" name="pushButton_10">
272+
<property name="geometry">
273+
<rect>
274+
<x>320</x>
275+
<y>10</y>
276+
<width>84</width>
277+
<height>33</height>
278+
</rect>
279+
</property>
280+
<property name="text">
281+
<string>sync check</string>
282+
</property>
283+
</widget>
284+
<widget class="QPlainTextEdit" name="plainTextEdit">
285+
<property name="geometry">
286+
<rect>
287+
<x>10</x>
288+
<y>280</y>
289+
<width>661</width>
290+
<height>151</height>
291+
</rect>
292+
</property>
293+
</widget>
294+
<widget class="Line" name="line">
295+
<property name="geometry">
296+
<rect>
297+
<x>253</x>
298+
<y>100</y>
299+
<width>20</width>
300+
<height>141</height>
301+
</rect>
302+
</property>
303+
<property name="orientation">
304+
<enum>Qt::Vertical</enum>
305+
</property>
306+
</widget>
307+
<widget class="QPushButton" name="pushButton_11">
308+
<property name="geometry">
309+
<rect>
310+
<x>520</x>
311+
<y>10</y>
312+
<width>84</width>
313+
<height>33</height>
314+
</rect>
315+
</property>
316+
<property name="text">
317+
<string>get state</string>
318+
</property>
319+
</widget>
320+
</widget>
321+
<widget class="QMenuBar" name="menubar">
322+
<property name="geometry">
323+
<rect>
324+
<x>0</x>
325+
<y>0</y>
326+
<width>685</width>
327+
<height>27</height>
328+
</rect>
329+
</property>
330+
</widget>
331+
<widget class="QStatusBar" name="statusbar"/>
332+
</widget>
333+
<resources/>
334+
<connections/>
335+
</ui>

0 commit comments

Comments
 (0)