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
d51678fa
Commit
d51678fa
authored
Jul 30, 2020
by
Him188
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Misc improvements
parent
474e5481
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
27 deletions
+20
-27
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/QQAndroidBot.common.kt
...n/kotlin/net/mamoe/mirai/qqandroid/QQAndroidBot.common.kt
+2
-5
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt
...n/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt
+2
-3
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/voice/PttStore.kt
.../qqandroid/network/protocol/packet/chat/voice/PttStore.kt
+12
-17
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Voice.kt
...c/commonMain/kotlin/net.mamoe.mirai/message/data/Voice.kt
+4
-2
No files found.
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/QQAndroidBot.common.kt
View file @
d51678fa
...
...
@@ -12,8 +12,7 @@
package
net.mamoe.mirai.qqandroid
import
io.ktor.client.request.*
import
io.ktor.client.request.forms.MultiPartFormDataContent
import
io.ktor.client.request.forms.formData
import
io.ktor.client.request.forms.*
import
kotlinx.coroutines.CoroutineName
import
kotlinx.coroutines.async
import
kotlinx.coroutines.sync.Mutex
...
...
@@ -56,7 +55,6 @@ import kotlin.coroutines.CoroutineContext
import
kotlin.jvm.JvmField
import
kotlin.jvm.JvmSynthetic
import
kotlin.math.absoluteValue
import
kotlin.math.log
import
kotlin.random.Random
import
net.mamoe.mirai.qqandroid.network.protocol.data.jce.FriendInfo
as
JceFriendInfo
...
...
@@ -793,8 +791,7 @@ internal abstract class QQAndroidBotBase constructor(
}
}
@ExperimentalStdlibApi
@MiraiExperimentalAPI
@OptIn
(
ExperimentalStdlibApi
::
class
)
@LowLevelAPI
override
suspend
fun
_lowLevelQueryGroupVoiceDownloadUrl
(
md5
:
ByteArray
,
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt
View file @
d51678fa
...
...
@@ -230,14 +230,13 @@ internal fun MsgComm.Msg.toMessageChain(
isTemp
:
Boolean
=
false
):
MessageChain
{
val
elements
=
this
.
msgBody
.
richText
.
elems
val
ptt
=
this
.
msgBody
.
richText
.
ptt
val
pptMsg
=
ptt
?.
run
{
val
pptMsg
=
msgBody
.
richText
.
ptt
?.
run
{
// when (fileType) {
// 4 -> Voice(String(fileName), fileMd5, fileSize.toLong(),String(downPara))
// else -> null
// }
Voice
(
String
(
fileName
),
fileMd5
,
fileSize
.
toLong
(),
String
(
downPara
))
Voice
(
String
(
fileName
),
fileMd5
,
fileSize
.
toLong
(),
String
(
downPara
))
}
return
buildMessageChain
(
elements
.
size
+
1
+
if
(
pptMsg
==
null
)
0
else
1
)
{
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/voice/PttStore.kt
View file @
d51678fa
...
...
@@ -9,13 +9,9 @@ import net.mamoe.mirai.qqandroid.network.protocol.data.proto.Cmd0x388
import
net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket
import
net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacketFactory
import
net.mamoe.mirai.qqandroid.network.protocol.packet.buildOutgoingUniPacket
import
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image.ImgStore
import
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image.getRandomString
import
net.mamoe.mirai.qqandroid.utils._miraiContentToString
import
net.mamoe.mirai.qqandroid.utils.encodeToString
import
net.mamoe.mirai.qqandroid.utils.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.utils.io.serialization.writeProtoBuf
import
net.mamoe.mirai.qqandroid.utils.toUHexString
internal
class
PttStore
{
object
GroupPttUp
:
OutgoingPacketFactory
<
GroupPttUp
.
Response
>(
"PttStore.GroupPttUp"
)
{
...
...
@@ -35,15 +31,14 @@ internal class PttStore {
}
}
@ExperimentalStdlibApi
@OptIn
(
ExperimentalStdlibApi
::
class
)
operator
fun
invoke
(
client
:
QQAndroidClient
,
uin
:
Long
,
groupCode
:
Long
,
md5
:
ByteArray
,
size
:
Long
,
voiceLength
:
Int
,
size
:
Long
=
0
,
voiceLength
:
Int
=
0
,
fileId
:
Long
=
0
):
OutgoingPacket
{
val
pack
=
Cmd0x388
.
ReqBody
(
...
...
@@ -96,13 +91,13 @@ internal class PttStore {
object
GroupPttDown
:
OutgoingPacketFactory
<
GroupPttDown
.
Response
>(
"PttStore.GroupPttDown"
)
{
sealed
class
Response
()
:
Packet
{
sealed
class
Response
:
Packet
{
class
DownLoadInfo
(
val
downDomain
:
ByteArray
,
val
downPara
:
ByteArray
,
val
strDomain
:
String
,
val
uint32DownIp
:
List
<
Int
>,
val
uint32DownPort
:
List
<
Int
>
val
downPara
:
ByteArray
,
val
strDomain
:
String
,
val
uint32DownIp
:
List
<
Int
>,
val
uint32DownPort
:
List
<
Int
>
)
:
GroupPttDown
.
Response
()
{
override
fun
toString
():
String
{
return
"GroupPttDown(downPara=${downPara.encodeToString()},strDomain=$strDomain})"
...
...
@@ -111,11 +106,11 @@ internal class PttStore {
}
@
ExperimentalStdlibApi
@
OptIn
(
ExperimentalStdlibApi
::
class
)
operator
fun
invoke
(
client
:
QQAndroidClient
,
groupCode
:
Long
,
dstUin
:
Long
,
dstUin
:
Long
,
md5
:
ByteArray
):
OutgoingPacket
=
buildOutgoingUniPacket
(
client
)
{
...
...
@@ -144,7 +139,7 @@ internal class PttStore {
val
resp0
=
readProtoBuf
(
Cmd0x388
.
RspBody
.
serializer
())
resp0
.
msgGetpttUrlRsp
?:
error
(
"cannot find `msgGetpttUrlRsp` from `Cmd0x388.RspBody`"
)
val
resp
=
resp0
.
msgGetpttUrlRsp
.
first
()
if
(!
resp
.
failMsg
.
contentEquals
(
EMPTY_BYTE_ARRAY
)){
if
(!
resp
.
failMsg
.
contentEquals
(
EMPTY_BYTE_ARRAY
))
{
throw
IllegalStateException
(
resp
.
failMsg
.
encodeToString
())
}
return
Response
.
DownLoadInfo
(
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Voice.kt
View file @
d51678fa
package
net.mamoe.mirai.message.data
import
net.mamoe.mirai.utils.MiraiExperimentalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.SinceMirai
/**
* 需要通过上传到服务器的消息,如语音、文件
...
...
@@ -22,8 +24,8 @@ public abstract class PttMessage : MessageContent {
/**
* 语音消息, 目前只支持接收和转发
*/
@
MiraiExperimentalAPI
public
class
Voice
(
@
SinceMirai
(
"1.2.0"
)
public
class
Voice
@MiraiInternalAPI
constructor
(
public
override
val
fileName
:
String
,
public
override
val
md5
:
ByteArray
,
public
override
val
fileSize
:
Long
,
...
...
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