-
Notifications
You must be signed in to change notification settings - Fork 13
/
sendGraffiti.js
63 lines (60 loc) · 1.44 KB
/
sendGraffiti.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
const crypto = require('crypto');
const { core } = require("oicq")
//第32行可以设置涂鸦模型
//手机QQ上涂鸦背景从左往右数,从0开始
//手画数据是[涂鸦hash]和[涂鸦图片地址],背景是[模型Id],可以自由组合数据和模型,比如你可以换掉别人涂鸦消息的模型(背景)
async function sendGraffiti(recipient,url,type=0) {
const response = await fetch(url)
const pic_buffer = await response.buffer()
const pic_md5 = crypto.createHash('md5').update(pic_buffer).digest('hex').toUpperCase()
let body = {
"1": {
},
"2": {
"1": 0,
"2": 0,
"3": 0
},
"3": {
"1": {
"2": [
{
"1": {
"1": "[涂鸦]"
}
},
{
"53": {
"1": 11,
"2": {
"5": 1458,
"6": 0,
"7": url,
"8": pic_md5
},
"3": 1
}
},
{
"37": {
"17": 10167,
"19": {
"15": 0,
"31": 0,
"41": 0
}
}
}
]
}
},
"4": crypto.randomBytes(2).readUInt16BE(),
"5": crypto.randomBytes(4).readUInt16BE(),
"8": 0
}
type ? body[1][1] = { "1": recipient } : body[1][2] = { "1": recipient }
body = core.pb.encode(body)
bot.sendUni("MessageSvc.PbSendMsg", body);
}
sendGraffiti(148651459,"http://p.qpic.cn/DynaDoodle/0/841b7ccd-db44-4b25-844c-829872130611/0")
//当你看到这条消息时表示,涂鸦和秀图一样,几千分之一才能发出来,被腾讯取消了