Skip to content

Commit f3fb537

Browse files
authored
Merge pull request #3 from lz1998/master
update submodule
2 parents b7dbaee + d8f5e93 commit f3fb537

File tree

12 files changed

+247
-99
lines changed

12 files changed

+247
-99
lines changed

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "onebot_idl"]
22
path = onebot_idl
3-
url = https://github.com/lz1998/onebot_idl.git
3+
url = https://github.com/protobufbot/onebot_idl.git

onebot_idl

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
package net.lz1998.mirai.alias
2+
3+
import onebot.OnebotApi
4+
5+
6+
typealias BSendPrivateMsgReq = OnebotApi.SendPrivateMsgReq
7+
typealias BSendPrivateMsgResp = OnebotApi.SendPrivateMsgResp
8+
9+
typealias BSendGroupMsgReq = OnebotApi.SendGroupMsgReq
10+
typealias BSendGroupMsgResp = OnebotApi.SendGroupMsgResp
11+
12+
typealias BSendMsgReq = OnebotApi.SendMsgReq
13+
typealias BSendMsgResp = OnebotApi.SendMsgResp
14+
15+
typealias BDeleteMsgReq = OnebotApi.DeleteMsgReq
16+
typealias BDeleteMsgResp = OnebotApi.DeleteMsgResp
17+
18+
typealias BGetMsgReq = OnebotApi.GetMsgReq
19+
typealias BGetMsgResp = OnebotApi.GetMsgResp
20+
21+
typealias BGetForwardMsgReq = OnebotApi.GetForwardMsgReq
22+
typealias BGetForwardMsgResp = OnebotApi.GetForwardMsgResp
23+
24+
typealias BSendLikeReq = OnebotApi.SendLikeReq
25+
typealias BSendLikeResp = OnebotApi.SendLikeResp
26+
27+
typealias BSetGroupKickReq = OnebotApi.SetGroupKickReq
28+
typealias BSetGroupKickResp = OnebotApi.SetGroupKickResp
29+
30+
typealias BSetGroupBanReq = OnebotApi.SetGroupBanReq
31+
typealias BSetGroupBanResp = OnebotApi.SetGroupBanResp
32+
33+
typealias BSetGroupAnonymousBanReq = OnebotApi.SetGroupAnonymousBanReq
34+
typealias BSetGroupAnonymousBanResp = OnebotApi.SetGroupAnonymousBanResp
35+
36+
typealias BSetGroupWholeBanReq = OnebotApi.SetGroupWholeBanReq
37+
typealias BSetGroupWholeBanResp = OnebotApi.SetGroupWholeBanResp
38+
39+
typealias BSetGroupAdminReq = OnebotApi.SetGroupAdminReq
40+
typealias BSetGroupAdminResp = OnebotApi.SetGroupAdminResp
41+
42+
typealias BSetGroupAnonymousReq = OnebotApi.SetGroupAnonymousReq
43+
typealias BSetGroupAnonymousResp = OnebotApi.SetGroupAnonymousResp
44+
45+
typealias BSetGroupCardReq = OnebotApi.SetGroupCardReq
46+
typealias BSetGroupCardResp = OnebotApi.SetGroupCardResp
47+
48+
typealias BSetGroupNameReq = OnebotApi.SetGroupNameReq
49+
typealias BSetGroupNameResp = OnebotApi.SetGroupNameResp
50+
51+
typealias BSetGroupLeaveReq = OnebotApi.SetGroupLeaveReq
52+
typealias BSetGroupLeaveResp = OnebotApi.SetGroupLeaveResp
53+
54+
typealias BSetGroupSpecialTitleReq = OnebotApi.SetGroupSpecialTitleReq
55+
typealias BSetGroupSpecialTitleResp = OnebotApi.SetGroupSpecialTitleResp
56+
57+
typealias BSetFriendAddRequestReq = OnebotApi.SetFriendAddRequestReq
58+
typealias BSetFriendAddRequestResp = OnebotApi.SetFriendAddRequestResp
59+
60+
typealias BSetGroupAddRequestReq = OnebotApi.SetGroupAddRequestReq
61+
typealias BSetGroupAddRequestResp = OnebotApi.SetGroupAddRequestResp
62+
63+
typealias BGetLoginInfoReq = OnebotApi.GetLoginInfoReq
64+
typealias BGetLoginInfoResp = OnebotApi.GetLoginInfoResp
65+
66+
typealias BGetStrangerInfoReq = OnebotApi.GetStrangerInfoReq
67+
typealias BGetStrangerInfoResp = OnebotApi.GetStrangerInfoResp
68+
69+
typealias BGetFriendListReq = OnebotApi.GetFriendListReq
70+
typealias BGetFriendListResp = OnebotApi.GetFriendListResp
71+
typealias BGetFriendListFriend = OnebotApi.GetFriendListResp.Friend
72+
73+
typealias BGetGroupInfoReq = OnebotApi.GetGroupInfoReq
74+
typealias BGetGroupInfoResp = OnebotApi.GetGroupInfoResp
75+
76+
typealias BGetGroupListReq = OnebotApi.GetGroupListReq
77+
typealias BGetGroupListResp = OnebotApi.GetGroupListResp
78+
typealias BGetGroupListGroup = OnebotApi.GetGroupListResp.Group
79+
80+
typealias BGetGroupMemberInfoReq = OnebotApi.GetGroupMemberInfoReq
81+
typealias BGetGroupMemberInfoResp = OnebotApi.GetGroupMemberInfoResp
82+
83+
typealias BGetGroupMemberListReq = OnebotApi.GetGroupMemberListReq
84+
typealias BGetGroupMemberListResp = OnebotApi.GetGroupMemberListResp
85+
typealias BGetGroupMemberListGroupMember = OnebotApi.GetGroupMemberListResp.GroupMember
86+
87+
typealias BGetGroupHonorInfoReq = OnebotApi.GetGroupHonorInfoReq
88+
typealias BGetGroupHonorInfoResp = OnebotApi.GetGroupHonorInfoResp
89+
90+
typealias BGetCookiesReq = OnebotApi.GetCookiesReq
91+
typealias BGetCookiesResp = OnebotApi.GetCookiesResp
92+
93+
typealias BGetCsrfTokenReq = OnebotApi.GetCsrfTokenReq
94+
typealias BGetCsrfTokenResp = OnebotApi.GetCsrfTokenResp
95+
96+
typealias BGetCredentialsReq = OnebotApi.GetCredentialsReq
97+
typealias BGetCredentialsResp = OnebotApi.GetCredentialsResp
98+
99+
typealias BGetRecordReq = OnebotApi.GetRecordReq
100+
typealias BGetRecordResp = OnebotApi.GetRecordResp
101+
102+
typealias BGetImageReq = OnebotApi.GetImageReq
103+
typealias BGetImageResp = OnebotApi.GetImageResp
104+
105+
typealias BCanSendImageReq = OnebotApi.CanSendImageReq
106+
typealias BCanSendImageResp = OnebotApi.CanSendImageResp
107+
108+
typealias BCanSendRecordReq = OnebotApi.CanSendRecordReq
109+
typealias BCanSendRecordResp = OnebotApi.CanSendRecordResp
110+
111+
typealias BGetStatusReq = OnebotApi.GetStatusReq
112+
typealias BGetStatusResp = OnebotApi.GetStatusResp
113+
114+
typealias BGetVersionInfoReq = OnebotApi.GetVersionInfoReq
115+
typealias BGetVersionInfoResp = OnebotApi.GetVersionInfoResp
116+
117+
typealias BSetRestartReq = OnebotApi.SetRestartReq
118+
typealias BSetRestartResp = OnebotApi.SetRestartResp
119+
120+
typealias BCleanCacheReq = OnebotApi.CleanCacheReq
121+
typealias BCleanCacheResp = OnebotApi.CleanCacheResp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package net.lz1998.mirai.alias
2+
3+
import onebot.OnebotBase
4+
5+
typealias BMessage = OnebotBase.Message
6+
typealias BMessageChain = List<BMessage>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package net.lz1998.mirai.alias
2+
3+
import onebot.OnebotEvent
4+
5+
typealias BPrivateMessageEvent = OnebotEvent.PrivateMessageEvent
6+
typealias BGroupMessageEvent = OnebotEvent.GroupMessageEvent
7+
typealias BGroupDecreaseNoticeEvent = OnebotEvent.GroupDecreaseNoticeEvent
8+
typealias BGroupIncreaseNoticeEvent = OnebotEvent.GroupIncreaseNoticeEvent
9+
typealias BGroupUploadNoticeEvent = OnebotEvent.GroupUploadNoticeEvent
10+
typealias BGroupAdminNoticeEvent = OnebotEvent.GroupAdminNoticeEvent
11+
typealias BGroupBanNoticeEvent = OnebotEvent.GroupBanNoticeEvent
12+
typealias BFriendAddNoticeEvent = OnebotEvent.FriendAddNoticeEvent
13+
typealias BFriendRequestEvent = OnebotEvent.FriendRequestEvent
14+
typealias BGroupRequestEvent = OnebotEvent.GroupRequestEvent
15+
16+
typealias BGroupMessageSender = OnebotEvent.GroupMessageEvent.Sender
17+
typealias BPrivateMessageSender = OnebotEvent.PrivateMessageEvent.Sender
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package net.lz1998.mirai.alias
2+
3+
import onebot.OnebotFrame
4+
5+
typealias BFrame = OnebotFrame.Frame
6+
typealias BFrameType = OnebotFrame.Frame.FrameType

src/main/kotlin/net/lz1998/mirai/entity/RemoteBot.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package net.lz1998.mirai.entity
22

3+
import net.lz1998.mirai.alias.BFrame
34
import net.mamoe.mirai.Bot
45
import net.mamoe.mirai.event.events.BotEvent
5-
import onebot.OnebotFrame
66

77
interface RemoteBot {
88
var bot: Bot
@@ -14,7 +14,7 @@ interface RemoteBot {
1414
suspend fun login()
1515

1616
// 执行并返回结果
17-
suspend fun onRemoteApi(req: OnebotFrame.Frame): OnebotFrame.Frame
17+
suspend fun onRemoteApi(req: BFrame): BFrame
1818

1919
// 收到机器人事件
2020
fun onBotEvent(botEvent: BotEvent)

src/main/kotlin/net/lz1998/mirai/entity/WebSocketBotClient.kt

+25-24
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import kotlinx.coroutines.Dispatchers
44
import kotlinx.coroutines.GlobalScope
55
import kotlinx.coroutines.launch
66
import kotlinx.coroutines.withContext
7+
import net.lz1998.mirai.alias.BFrame
8+
import net.lz1998.mirai.alias.BFrameType
79
import net.lz1998.mirai.ext.friendRequestLru
810
import net.lz1998.mirai.ext.groupRequestLru
911
import net.lz1998.mirai.ext.messageSourceLru
@@ -20,7 +22,6 @@ import net.mamoe.mirai.message.MessageEvent
2022
import okhttp3.*
2123
import okio.ByteString
2224
import okio.ByteString.Companion.toByteString
23-
import onebot.OnebotFrame
2425
import java.util.concurrent.TimeUnit
2526

2627
class WebsocketBotClient(override var botId: Long, override var password: String, wsUrl: String) : RemoteBot {
@@ -45,7 +46,7 @@ class WebsocketBotClient(override var botId: Long, override var password: String
4546

4647
override fun onMessage(webSocket: WebSocket, bytes: ByteString) {
4748
GlobalScope.launch {
48-
val req = withContext(Dispatchers.IO) { OnebotFrame.Frame.parseFrom(bytes.toByteArray()) }
49+
val req = withContext(Dispatchers.IO) { BFrame.parseFrom(bytes.toByteArray()) }
4950
val resp = onRemoteApi(req)
5051
val ok = wsClient.send(resp.toByteArray().toByteString())
5152
if (!ok) {
@@ -119,30 +120,30 @@ class WebsocketBotClient(override var botId: Long, override var password: String
119120
bot.login()
120121
}
121122

122-
override suspend fun onRemoteApi(req: OnebotFrame.Frame): OnebotFrame.Frame {
123-
val respBuilder = OnebotFrame.Frame.newBuilder()
123+
override suspend fun onRemoteApi(req: BFrame): BFrame {
124+
val respBuilder = BFrame.newBuilder()
124125
respBuilder.echo = req.echo
125126
respBuilder.botId = botId
126-
when (req.messageType) {
127-
OnebotFrame.Frame.MessageType.SendPrivateMsgReq -> respBuilder.sendPrivateMsgResp = handleSendPrivateMsg(bot, req.sendPrivateMsgReq)
128-
OnebotFrame.Frame.MessageType.SendGroupMsgReq -> respBuilder.sendGroupMsgResp = handleSendGroupMsg(bot, req.sendGroupMsgReq)
129-
OnebotFrame.Frame.MessageType.SendMsgReq -> respBuilder.sendMsgResp = handleSendMsgReq(bot, req.sendMsgReq)
130-
OnebotFrame.Frame.MessageType.DeleteMsgReq -> respBuilder.deleteMsgResp = handleDeleteMsg(bot, req.deleteMsgReq)
131-
OnebotFrame.Frame.MessageType.SetGroupKickReq -> respBuilder.setGroupKickResp = handleSetGroupKick(bot, req.setGroupKickReq)
132-
OnebotFrame.Frame.MessageType.SetGroupBanReq -> respBuilder.setGroupBanResp = handleSetGroupBan(bot, req.setGroupBanReq)
133-
OnebotFrame.Frame.MessageType.SetGroupWholeBanReq -> respBuilder.setGroupWholeBanResp = handleSetGroupWholeBan(bot, req.setGroupWholeBanReq)
134-
OnebotFrame.Frame.MessageType.SetGroupCardReq -> respBuilder.setGroupCardResp = handleSetGroupCard(bot, req.setGroupCardReq)
135-
OnebotFrame.Frame.MessageType.SetGroupNameReq -> respBuilder.setGroupNameResp = handleSetGroupName(bot, req.setGroupNameReq)
136-
OnebotFrame.Frame.MessageType.SetGroupLeaveReq -> respBuilder.setGroupLeaveResp = handleSetGroupLeave(bot, req.setGroupLeaveReq)
137-
OnebotFrame.Frame.MessageType.SetGroupSpecialTitleReq -> respBuilder.setGroupSpecialTitleResp = handleSetGroupSpecialTitle(bot, req.setGroupSpecialTitleReq)
138-
OnebotFrame.Frame.MessageType.SetFriendAddRequestReq -> respBuilder.setFriendAddRequestResp = handleSetFriendAddRequest(bot, req.setFriendAddRequestReq)
139-
OnebotFrame.Frame.MessageType.SetGroupAddRequestReq -> respBuilder.setGroupAddRequestResp = handleSetGroupAddRequest(bot, req.setGroupAddRequestReq)
140-
OnebotFrame.Frame.MessageType.GetLoginInfoReq -> respBuilder.getLoginInfoResp = handleGetLoginInfo(bot, req.getLoginInfoReq)
141-
OnebotFrame.Frame.MessageType.GetFriendListReq -> respBuilder.getFriendListResp = handleGetFriendList(bot, req.getFriendListReq)
142-
OnebotFrame.Frame.MessageType.GetGroupInfoReq -> respBuilder.getGroupInfoResp = handleGetGroupInfo(bot, req.getGroupInfoReq)
143-
OnebotFrame.Frame.MessageType.GetGroupListReq -> respBuilder.getGroupListResp = handleGetGroupList(bot, req.getGroupListReq)
144-
OnebotFrame.Frame.MessageType.GetGroupMemberInfoReq -> respBuilder.getGroupMemberInfoResp = handleGetGroupMemberInfo(bot, req.getGroupMemberInfoReq)
145-
OnebotFrame.Frame.MessageType.GetGroupMemberListReq -> respBuilder.getGroupMemberListResp = handleGetGroupMemberList(bot, req.getGroupMemberListReq)
127+
when (req.frameType) {
128+
BFrameType.SendPrivateMsgReq -> respBuilder.sendPrivateMsgResp = handleSendPrivateMsg(bot, req.sendPrivateMsgReq)
129+
BFrameType.SendGroupMsgReq -> respBuilder.sendGroupMsgResp = handleSendGroupMsg(bot, req.sendGroupMsgReq)
130+
BFrameType.SendMsgReq -> respBuilder.sendMsgResp = handleSendMsgReq(bot, req.sendMsgReq)
131+
BFrameType.DeleteMsgReq -> respBuilder.deleteMsgResp = handleDeleteMsg(bot, req.deleteMsgReq)
132+
BFrameType.SetGroupKickReq -> respBuilder.setGroupKickResp = handleSetGroupKick(bot, req.setGroupKickReq)
133+
BFrameType.SetGroupBanReq -> respBuilder.setGroupBanResp = handleSetGroupBan(bot, req.setGroupBanReq)
134+
BFrameType.SetGroupWholeBanReq -> respBuilder.setGroupWholeBanResp = handleSetGroupWholeBan(bot, req.setGroupWholeBanReq)
135+
BFrameType.SetGroupCardReq -> respBuilder.setGroupCardResp = handleSetGroupCard(bot, req.setGroupCardReq)
136+
BFrameType.SetGroupNameReq -> respBuilder.setGroupNameResp = handleSetGroupName(bot, req.setGroupNameReq)
137+
BFrameType.SetGroupLeaveReq -> respBuilder.setGroupLeaveResp = handleSetGroupLeave(bot, req.setGroupLeaveReq)
138+
BFrameType.SetGroupSpecialTitleReq -> respBuilder.setGroupSpecialTitleResp = handleSetGroupSpecialTitle(bot, req.setGroupSpecialTitleReq)
139+
BFrameType.SetFriendAddRequestReq -> respBuilder.setFriendAddRequestResp = handleSetFriendAddRequest(bot, req.setFriendAddRequestReq)
140+
BFrameType.SetGroupAddRequestReq -> respBuilder.setGroupAddRequestResp = handleSetGroupAddRequest(bot, req.setGroupAddRequestReq)
141+
BFrameType.GetLoginInfoReq -> respBuilder.getLoginInfoResp = handleGetLoginInfo(bot, req.getLoginInfoReq)
142+
BFrameType.GetFriendListReq -> respBuilder.getFriendListResp = handleGetFriendList(bot, req.getFriendListReq)
143+
BFrameType.GetGroupInfoReq -> respBuilder.getGroupInfoResp = handleGetGroupInfo(bot, req.getGroupInfoReq)
144+
BFrameType.GetGroupListReq -> respBuilder.getGroupListResp = handleGetGroupList(bot, req.getGroupListReq)
145+
BFrameType.GetGroupMemberInfoReq -> respBuilder.getGroupMemberInfoResp = handleGetGroupMemberInfo(bot, req.getGroupMemberInfoReq)
146+
BFrameType.GetGroupMemberListReq -> respBuilder.getGroupMemberListResp = handleGetGroupMemberList(bot, req.getGroupMemberListReq)
146147
}
147148
return respBuilder.build()
148149
}

src/main/kotlin/net/lz1998/mirai/service/MyLoginSolver.kt

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import dto.HttpDto
55
import kotlinx.coroutines.CompletableDeferred
66
import net.mamoe.mirai.Bot
77
import net.mamoe.mirai.utils.LoginSolver
8-
import okio.ByteString.Companion.toByteString
98
import org.springframework.stereotype.Service
109

1110
@Service

0 commit comments

Comments
 (0)