2
2
3
3
package cn.yurin.yutorix.module.satori.adapter
4
4
5
- import cn.yurn.yutori.AdapterContext
6
- import cn.yurn.yutori.AdapterEventService
7
- import cn.yurn.yutori.Event
8
- import cn.yurn.yutori.Login
9
- import cn.yurn.yutori.MessageEvents
10
- import cn.yurn.yutori.RootActions
11
- import cn.yurn.yutori.SigningEvent
12
- import cn.yurn.yutori.Yutori
5
+ import cn.yurin.yutori.AdapterContext
6
+ import cn.yurin.yutori.AdapterEventService
7
+ import cn.yurin.yutori.Event
8
+ import cn.yurin.yutori.Login
9
+ import cn.yurin.yutori.MessageEvents
10
+ import cn.yurin.yutori.RootActions
11
+ import cn.yurin.yutori.SigningEvent
12
+ import cn.yurin.yutori.Yutori
13
+ import cn.yurin.yutori.nick
13
14
import cn.yurin.yutorix.module.satori.EventSignal
14
15
import cn.yurin.yutorix.module.satori.Identify
15
16
import cn.yurin.yutorix.module.satori.IdentifySignal
@@ -18,7 +19,6 @@ import cn.yurin.yutorix.module.satori.PongSignal
18
19
import cn.yurin.yutorix.module.satori.ReadySignal
19
20
import cn.yurin.yutorix.module.satori.SatoriAdapterProperties
20
21
import cn.yurin.yutorix.module.satori.Signal
21
- import cn.yurn.yutori.nick
22
22
import co.touchlab.kermit.Logger
23
23
import io.ktor.client.HttpClient
24
24
import io.ktor.client.plugins.websocket.WebSockets
@@ -76,7 +76,14 @@ class WebSocketEventService(
76
76
actionsList.clear()
77
77
var ready = false
78
78
var isReceivedPong: Boolean
79
- sendSerialized(IdentifySignal (Identify (properties.token, sequence?.toInt())))
79
+ sendSerialized(
80
+ IdentifySignal (
81
+ Identify (
82
+ properties.token,
83
+ sequence?.toInt()
84
+ )
85
+ )
86
+ )
80
87
Logger .i(name) { " 成功建立 WebSocket 连接, 尝试建立事件推送服务" }
81
88
launch {
82
89
delay(10000 )
@@ -88,7 +95,8 @@ class WebSocketEventService(
88
95
}
89
96
}
90
97
while (isActive) try {
91
- val receive = (incoming.receive() as ? Frame .Text ? : continue ).readText()
98
+ val receive =
99
+ (incoming.receive() as ? Frame .Text ? : continue ).readText()
92
100
Logger .d(name) { " 接收信令: $receive " }
93
101
when (val signal = json.decodeFromString<Signal >(receive)) {
94
102
is ReadySignal -> {
@@ -104,7 +112,12 @@ class WebSocketEventService(
104
112
actionsList + = actions
105
113
yutori.actionsList + = actions
106
114
}
107
- onConnect(signal.body.logins.map { it.toUniverse(null , yutori) })
115
+ onConnect(signal.body.logins.map {
116
+ it.toUniverse(
117
+ null ,
118
+ yutori
119
+ )
120
+ })
108
121
Logger .i(name) { " 成功建立事件推送服务: ${signal.body.logins} " }
109
122
launch {
110
123
do {
@@ -117,7 +130,15 @@ class WebSocketEventService(
117
130
}
118
131
}
119
132
120
- is EventSignal -> launch { onEvent(signal.body.toUniverse(alias, yutori)) }
133
+ is EventSignal -> launch {
134
+ onEvent(
135
+ signal.body.toUniverse(
136
+ alias,
137
+ yutori
138
+ )
139
+ )
140
+ }
141
+
121
142
is PongSignal -> {
122
143
isReceivedPong = true
123
144
Logger .d(name) { " 收到 PONG" }
@@ -166,8 +187,8 @@ class WebSocketEventService(
166
187
}
167
188
Logger .d(name) { " 事件详细信息: $event " }
168
189
sequence = event.id
169
- val actions = actionsList.find {
170
- actions -> actions.platform == event.platform && actions.userId == event.selfId
190
+ val actions = actionsList.find { actions ->
191
+ actions.platform == event.platform && actions.userId == event.selfId
171
192
} ? : run {
172
193
val actions = RootActions (
173
194
alias = alias,
0 commit comments