Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
54a0967e
Commit
54a0967e
authored
Nov 16, 2019
by
Him188
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Avoid using enum
parent
fd2edcbd
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
287 additions
and
159 deletions
+287
-159
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/FaceID.kt
...e/src/commonMain/kotlin/net.mamoe.mirai/message/FaceID.kt
+285
-157
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/Message.kt
.../src/commonMain/kotlin/net.mamoe.mirai/message/Message.kt
+1
-1
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/internal/MessageDataInternal.kt
...n/net.mamoe.mirai/message/internal/MessageDataInternal.kt
+1
-1
No files found.
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/FaceID.kt
View file @
54a0967e
...
...
@@ -2,167 +2,295 @@
package
net.mamoe.mirai.message
import
kotlin.jvm.JvmStatic
/**
* @author LamGC
*/
@Suppress
(
"EnumEntryName"
,
"unused"
,
"SpellCheckingInspection"
)
enum
class
FaceID
constructor
(
val
value
:
UByte
)
{
unknown
(
0
xffu
),
// TODO: 2019/9/1 添加更多表情
jingya
(
0
u
),
piezui
(
1
u
),
se
(
2
u
),
fadai
(
3
u
),
deyi
(
4
u
),
liulei
(
5
u
),
haixiu
(
6
u
),
bizui
(
7
u
),
shui
(
8
u
),
daku
(
9
u
),
ganga
(
10
u
),
fanu
(
11
u
),
tiaopi
(
12
u
),
ciya
(
13
u
),
weixiao
(
14
u
),
nanguo
(
15
u
),
ku
(
16
u
),
zhuakuang
(
18
u
),
tu
(
19
u
),
touxiao
(
20
u
),
keai
(
21
u
),
baiyan
(
22
u
),
aoman
(
23
u
),
ji_e
(
24
u
),
kun
(
25
u
),
jingkong
(
26
u
),
liuhan
(
27
u
),
hanxiao
(
28
u
),
dabing
(
29
u
),
fendou
(
30
u
),
zhouma
(
31
u
),
yiwen
(
32
u
),
yun
(
34
u
),
zhemo
(
35
u
),
shuai
(
36
u
),
kulou
(
37
u
),
qiaoda
(
38
u
),
zaijian
(
39
u
),
fadou
(
41
u
),
aiqing
(
42
u
),
tiaotiao
(
43
u
),
zhutou
(
46
u
),
yongbao
(
49
u
),
dan_gao
(
53
u
),
shandian
(
54
u
),
zhadan
(
55
u
),
dao
(
56
u
),
zuqiu
(
57
u
),
bianbian
(
59
u
),
kafei
(
60
u
),
fan
(
61
u
),
meigui
(
63
u
),
diaoxie
(
64
u
),
aixin
(
66
u
),
xinsui
(
67
u
),
liwu
(
69
u
),
taiyang
(
74
u
),
yueliang
(
75
u
),
qiang
(
76
u
),
ruo
(
77
u
),
woshou
(
78
u
),
shengli
(
79
u
),
feiwen
(
85
u
),
naohuo
(
86
u
),
xigua
(
89
u
),
lenghan
(
96
u
),
cahan
(
97
u
),
koubi
(
98
u
),
guzhang
(
99
u
),
qiudale
(
100
u
),
huaixiao
(
101
u
),
zuohengheng
(
102
u
),
youhengheng
(
103
u
),
haqian
(
104
u
),
bishi
(
105
u
),
weiqu
(
106
u
),
kuaikule
(
107
u
),
yinxian
(
108
u
),
qinqin
(
109
u
),
xia
(
110
u
),
kelian
(
111
u
),
caidao
(
112
u
),
pijiu
(
113
u
),
lanqiu
(
114
u
),
pingpang
(
115
u
),
shiai
(
116
u
),
piaochong
(
117
u
),
baoquan
(
118
u
),
gouyin
(
119
u
),
quantou
(
120
u
),
chajin
(
121
u
),
aini
(
122
u
),
bu
(
123
u
),
hao
(
124
u
),
zhuanquan
(
125
u
),
ketou
(
126
u
),
huitou
(
127
u
),
tiaosheng
(
128
u
),
huishou
(
129
u
),
jidong
(
130
u
),
jiewu
(
131
u
),
xianwen
(
132
u
),
zuotaiji
(
133
u
),
youtaiji
(
134
u
),
shuangxi
(
136
u
),
bianpao
(
137
u
),
denglong
(
138
u
),
facai
(
139
u
),
K_ge
(
140
u
),
gouwu
(
141
u
),
youjian
(
142
u
),
shuai_qi
(
143
u
),
hecai
(
144
u
),
qidao
(
145
u
),
baojin
(
146
u
),
bangbangtang
(
147
u
),
he_nai
(
148
u
),
xiamian
(
149
u
),
xiangjiao
(
150
u
),
feiji
(
151
u
),
kaiche
(
152
u
),
gaotiezuochetou
(
153
u
),
chexiang
(
154
u
),
gaotieyouchetou
(
155
u
),
duoyun
(
156
u
),
xiayu
(
157
u
),
chaopiao
(
158
u
),
xiongmao
(
159
u
),
dengpao
(
160
u
),
fengche
(
161
u
),
naozhong
(
162
u
),
dasan
(
163
u
),
caiqiu
(
164
u
),
zuanjie
(
165
u
),
shafa
(
166
u
),
zhijin
(
167
u
),
yao
(
168
u
),
shouqiang
(
169
u
),
qingwa
(
170
u
);
override
fun
toString
():
String
{
return
"$name($value)"
}
@Suppress
(
"SpellCheckingInspection"
,
"unused"
)
inline
class
FaceId
(
inline
val
value
:
UByte
)
{
companion
object
{
fun
ofId
(
id
:
UByte
):
FaceID
{
for
(
value
in
values
())
{
if
(
value
.
value
==
id
)
{
return
value
}
}
return
unknown
}
@JvmStatic
val
unknown
:
FaceId
=
FaceId
(
0
xffu
)
@JvmStatic
val
jingya
:
FaceId
=
FaceId
(
0
u
)
@JvmStatic
val
piezui
:
FaceId
=
FaceId
(
1
u
)
@JvmStatic
val
se
:
FaceId
=
FaceId
(
2
u
)
@JvmStatic
val
fadai
:
FaceId
=
FaceId
(
3
u
)
@JvmStatic
val
deyi
:
FaceId
=
FaceId
(
4
u
)
@JvmStatic
val
liulei
:
FaceId
=
FaceId
(
5
u
)
@JvmStatic
val
haixiu
:
FaceId
=
FaceId
(
6
u
)
@JvmStatic
val
bizui
:
FaceId
=
FaceId
(
7
u
)
@JvmStatic
val
shui
:
FaceId
=
FaceId
(
8
u
)
@JvmStatic
val
daku
:
FaceId
=
FaceId
(
9
u
)
@JvmStatic
val
ganga
:
FaceId
=
FaceId
(
10
u
)
@JvmStatic
val
fanu
:
FaceId
=
FaceId
(
11
u
)
@JvmStatic
val
tiaopi
:
FaceId
=
FaceId
(
12
u
)
@JvmStatic
val
ciya
:
FaceId
=
FaceId
(
13
u
)
@JvmStatic
val
weixiao
:
FaceId
=
FaceId
(
14
u
)
@JvmStatic
val
nanguo
:
FaceId
=
FaceId
(
15
u
)
@JvmStatic
val
ku
:
FaceId
=
FaceId
(
16
u
)
@JvmStatic
val
zhuakuang
:
FaceId
=
FaceId
(
18
u
)
@JvmStatic
val
tu
:
FaceId
=
FaceId
(
19
u
)
@JvmStatic
val
touxiao
:
FaceId
=
FaceId
(
20
u
)
@JvmStatic
val
keai
:
FaceId
=
FaceId
(
21
u
)
@JvmStatic
val
baiyan
:
FaceId
=
FaceId
(
22
u
)
@JvmStatic
val
aoman
:
FaceId
=
FaceId
(
23
u
)
@JvmStatic
val
ji_e
:
FaceId
=
FaceId
(
24
u
)
@JvmStatic
val
kun
:
FaceId
=
FaceId
(
25
u
)
@JvmStatic
val
jingkong
:
FaceId
=
FaceId
(
26
u
)
@JvmStatic
val
liuhan
:
FaceId
=
FaceId
(
27
u
)
@JvmStatic
val
hanxiao
:
FaceId
=
FaceId
(
28
u
)
@JvmStatic
val
dabing
:
FaceId
=
FaceId
(
29
u
)
@JvmStatic
val
fendou
:
FaceId
=
FaceId
(
30
u
)
@JvmStatic
val
zhouma
:
FaceId
=
FaceId
(
31
u
)
@JvmStatic
val
yiwen
:
FaceId
=
FaceId
(
32
u
)
@JvmStatic
val
yun
:
FaceId
=
FaceId
(
34
u
)
@JvmStatic
val
zhemo
:
FaceId
=
FaceId
(
35
u
)
@JvmStatic
val
shuai
:
FaceId
=
FaceId
(
36
u
)
@JvmStatic
val
kulou
:
FaceId
=
FaceId
(
37
u
)
@JvmStatic
val
qiaoda
:
FaceId
=
FaceId
(
38
u
)
@JvmStatic
val
zaijian
:
FaceId
=
FaceId
(
39
u
)
@JvmStatic
val
fadou
:
FaceId
=
FaceId
(
41
u
)
@JvmStatic
val
aiqing
:
FaceId
=
FaceId
(
42
u
)
@JvmStatic
val
tiaotiao
:
FaceId
=
FaceId
(
43
u
)
@JvmStatic
val
zhutou
:
FaceId
=
FaceId
(
46
u
)
@JvmStatic
val
yongbao
:
FaceId
=
FaceId
(
49
u
)
@JvmStatic
val
dan_gao
:
FaceId
=
FaceId
(
53
u
)
@JvmStatic
val
shandian
:
FaceId
=
FaceId
(
54
u
)
@JvmStatic
val
zhadan
:
FaceId
=
FaceId
(
55
u
)
@JvmStatic
val
dao
:
FaceId
=
FaceId
(
56
u
)
@JvmStatic
val
zuqiu
:
FaceId
=
FaceId
(
57
u
)
@JvmStatic
val
bianbian
:
FaceId
=
FaceId
(
59
u
)
@JvmStatic
val
kafei
:
FaceId
=
FaceId
(
60
u
)
@JvmStatic
val
fan
:
FaceId
=
FaceId
(
61
u
)
@JvmStatic
val
meigui
:
FaceId
=
FaceId
(
63
u
)
@JvmStatic
val
diaoxie
:
FaceId
=
FaceId
(
64
u
)
@JvmStatic
val
aixin
:
FaceId
=
FaceId
(
66
u
)
@JvmStatic
val
xinsui
:
FaceId
=
FaceId
(
67
u
)
@JvmStatic
val
liwu
:
FaceId
=
FaceId
(
69
u
)
@JvmStatic
val
taiyang
:
FaceId
=
FaceId
(
74
u
)
@JvmStatic
val
yueliang
:
FaceId
=
FaceId
(
75
u
)
@JvmStatic
val
qiang
:
FaceId
=
FaceId
(
76
u
)
@JvmStatic
val
ruo
:
FaceId
=
FaceId
(
77
u
)
@JvmStatic
val
woshou
:
FaceId
=
FaceId
(
78
u
)
@JvmStatic
val
shengli
:
FaceId
=
FaceId
(
79
u
)
@JvmStatic
val
feiwen
:
FaceId
=
FaceId
(
85
u
)
@JvmStatic
val
naohuo
:
FaceId
=
FaceId
(
86
u
)
@JvmStatic
val
xigua
:
FaceId
=
FaceId
(
89
u
)
@JvmStatic
val
lenghan
:
FaceId
=
FaceId
(
96
u
)
@JvmStatic
val
cahan
:
FaceId
=
FaceId
(
97
u
)
@JvmStatic
val
koubi
:
FaceId
=
FaceId
(
98
u
)
@JvmStatic
val
guzhang
:
FaceId
=
FaceId
(
99
u
)
@JvmStatic
val
qiudale
:
FaceId
=
FaceId
(
100
u
)
@JvmStatic
val
huaixiao
:
FaceId
=
FaceId
(
101
u
)
@JvmStatic
val
zuohengheng
:
FaceId
=
FaceId
(
102
u
)
@JvmStatic
val
youhengheng
:
FaceId
=
FaceId
(
103
u
)
@JvmStatic
val
haqian
:
FaceId
=
FaceId
(
104
u
)
@JvmStatic
val
bishi
:
FaceId
=
FaceId
(
105
u
)
@JvmStatic
val
weiqu
:
FaceId
=
FaceId
(
106
u
)
@JvmStatic
val
kuaikule
:
FaceId
=
FaceId
(
107
u
)
@JvmStatic
val
yinxian
:
FaceId
=
FaceId
(
108
u
)
@JvmStatic
val
qinqin
:
FaceId
=
FaceId
(
109
u
)
@JvmStatic
val
xia
:
FaceId
=
FaceId
(
110
u
)
@JvmStatic
val
kelian
:
FaceId
=
FaceId
(
111
u
)
@JvmStatic
val
caidao
:
FaceId
=
FaceId
(
112
u
)
@JvmStatic
val
pijiu
:
FaceId
=
FaceId
(
113
u
)
@JvmStatic
val
lanqiu
:
FaceId
=
FaceId
(
114
u
)
@JvmStatic
val
pingpang
:
FaceId
=
FaceId
(
115
u
)
@JvmStatic
val
shiai
:
FaceId
=
FaceId
(
116
u
)
@JvmStatic
val
piaochong
:
FaceId
=
FaceId
(
117
u
)
@JvmStatic
val
baoquan
:
FaceId
=
FaceId
(
118
u
)
@JvmStatic
val
gouyin
:
FaceId
=
FaceId
(
119
u
)
@JvmStatic
val
quantou
:
FaceId
=
FaceId
(
120
u
)
@JvmStatic
val
chajin
:
FaceId
=
FaceId
(
121
u
)
@JvmStatic
val
aini
:
FaceId
=
FaceId
(
122
u
)
@JvmStatic
val
bu
:
FaceId
=
FaceId
(
123
u
)
@JvmStatic
val
hao
:
FaceId
=
FaceId
(
124
u
)
@JvmStatic
val
zhuanquan
:
FaceId
=
FaceId
(
125
u
)
@JvmStatic
val
ketou
:
FaceId
=
FaceId
(
126
u
)
@JvmStatic
val
huitou
:
FaceId
=
FaceId
(
127
u
)
@JvmStatic
val
tiaosheng
:
FaceId
=
FaceId
(
128
u
)
@JvmStatic
val
huishou
:
FaceId
=
FaceId
(
129
u
)
@JvmStatic
val
jidong
:
FaceId
=
FaceId
(
130
u
)
@JvmStatic
val
jiewu
:
FaceId
=
FaceId
(
131
u
)
@JvmStatic
val
xianwen
:
FaceId
=
FaceId
(
132
u
)
@JvmStatic
val
zuotaiji
:
FaceId
=
FaceId
(
133
u
)
@JvmStatic
val
youtaiji
:
FaceId
=
FaceId
(
134
u
)
@JvmStatic
val
shuangxi
:
FaceId
=
FaceId
(
136
u
)
@JvmStatic
val
bianpao
:
FaceId
=
FaceId
(
137
u
)
@JvmStatic
val
denglong
:
FaceId
=
FaceId
(
138
u
)
@JvmStatic
val
facai
:
FaceId
=
FaceId
(
139
u
)
@JvmStatic
val
K_ge
:
FaceId
=
FaceId
(
140
u
)
@JvmStatic
val
gouwu
:
FaceId
=
FaceId
(
141
u
)
@JvmStatic
val
youjian
:
FaceId
=
FaceId
(
142
u
)
@JvmStatic
val
shuai_qi
:
FaceId
=
FaceId
(
143
u
)
@JvmStatic
val
hecai
:
FaceId
=
FaceId
(
144
u
)
@JvmStatic
val
qidao
:
FaceId
=
FaceId
(
145
u
)
@JvmStatic
val
baojin
:
FaceId
=
FaceId
(
146
u
)
@JvmStatic
val
bangbangtang
:
FaceId
=
FaceId
(
147
u
)
@JvmStatic
val
he_nai
:
FaceId
=
FaceId
(
148
u
)
@JvmStatic
val
xiamian
:
FaceId
=
FaceId
(
149
u
)
@JvmStatic
val
xiangjiao
:
FaceId
=
FaceId
(
150
u
)
@JvmStatic
val
feiji
:
FaceId
=
FaceId
(
151
u
)
@JvmStatic
val
kaiche
:
FaceId
=
FaceId
(
152
u
)
@JvmStatic
val
gaotiezuochetou
:
FaceId
=
FaceId
(
153
u
)
@JvmStatic
val
chexiang
:
FaceId
=
FaceId
(
154
u
)
@JvmStatic
val
gaotieyouchetou
:
FaceId
=
FaceId
(
155
u
)
@JvmStatic
val
duoyun
:
FaceId
=
FaceId
(
156
u
)
@JvmStatic
val
xiayu
:
FaceId
=
FaceId
(
157
u
)
@JvmStatic
val
chaopiao
:
FaceId
=
FaceId
(
158
u
)
@JvmStatic
val
xiongmao
:
FaceId
=
FaceId
(
159
u
)
@JvmStatic
val
dengpao
:
FaceId
=
FaceId
(
160
u
)
@JvmStatic
val
fengche
:
FaceId
=
FaceId
(
161
u
)
@JvmStatic
val
naozhong
:
FaceId
=
FaceId
(
162
u
)
@JvmStatic
val
dasan
:
FaceId
=
FaceId
(
163
u
)
@JvmStatic
val
caiqiu
:
FaceId
=
FaceId
(
164
u
)
@JvmStatic
val
zuanjie
:
FaceId
=
FaceId
(
165
u
)
@JvmStatic
val
shafa
:
FaceId
=
FaceId
(
166
u
)
@JvmStatic
val
zhijin
:
FaceId
=
FaceId
(
167
u
)
@JvmStatic
val
yao
:
FaceId
=
FaceId
(
168
u
)
@JvmStatic
val
shouqiang
:
FaceId
=
FaceId
(
169
u
)
@JvmStatic
val
qingwa
:
FaceId
=
FaceId
(
170
u
)
}
override
fun
toString
():
String
=
"$FaceId($value)"
}
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/Message.kt
View file @
54a0967e
...
...
@@ -205,7 +205,7 @@ inline class At(val targetQQ: UInt) : Message {
/**
* QQ 自带表情
*/
inline
class
Face
(
val
id
:
FaceI
D
)
:
Message
{
inline
class
Face
(
val
id
:
FaceI
d
)
:
Message
{
override
val
stringValue
:
String
get
()
=
"[face${id.value}]"
override
fun
toString
():
String
=
stringValue
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/internal/MessageDataInternal.kt
View file @
54a0967e
...
...
@@ -11,7 +11,7 @@ internal fun IoBuffer.parseMessageFace(): Face {
//00 01 0C 0B 00 08 00 01 00 04 52 CC F5 D0 FF 00 02 14 4D
discardExact
(
1
)
val
id1
=
FaceI
D
.
ofI
d
(
readLVNumber
().
toInt
().
toUByte
())
//可能这个是id, 也可能下面那个
val
id1
=
FaceId
(
readLVNumber
().
toInt
().
toUByte
())
//可能这个是id, 也可能下面那个
discardExact
(
readByte
().
toLong
())
// -1
readLVNumber
()
//某id?
return
Face
(
id1
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment