mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-11 21:30:11 +08:00
Force message to be in single line
This commit is contained in:
parent
f6cc90a893
commit
09dca31a6b
18
CHANGELOG.md
18
CHANGELOG.md
@ -2,6 +2,24 @@
|
||||
|
||||
开发版本. 频繁更新, 不保证高稳定性
|
||||
|
||||
## `0.34.0` 2020/4/6
|
||||
|
||||
- 修复长消息判定.
|
||||
- 为 `selectMessages`, `selectMessagesUnit` 添加可选筛选 context 的参数: `filterContext: Boolean`
|
||||
- 统一消息日志
|
||||
|
||||
`Message` 改动 (二进制兼容):
|
||||
|
||||
- 添加 `Message.contentToString` 以转换为最接近官方消息的字符串
|
||||
- 添加 `ConstrainSingle` 的 `Message` 类型以保证一个消息链中只存在一个 `QuoteReply` 和一个 `MessageSource`
|
||||
- `CombinedMessage` 现在实现接口 `MessageChian` 并变为 `internal` 以降低复杂度 (使用 `MessageChain` 替换 `CombinedMessage` 的引用).
|
||||
- `Message.plus` 现在返回 `MessageChain` 而不是 `CombinedMessage`
|
||||
- 弃用 `NullMessageChain` (使用 `null` 替代)
|
||||
- `Message` 中 `eq`, `contains` 等函数移动至 `SingleMessage` 以避免歧义.
|
||||
- 更名 `MessageChain.any<reified M>` 到 `MessageChain.anyInInstance<reified M>` 以与标准库的 `Iterable.any` 区分
|
||||
- 更名 `MessageChain.first<reified M>` 到 `MessageChain.firstIsInstance<reified M>` 以与标准库的 `Iterable.first` 区分
|
||||
- 更名 `MessageChain.firstOrNull<reified M>` 到 `MessageChain.firstIsInstanceOrNull<reified M>` 以与标准库的 `Iterable.firstOrNull` 区分
|
||||
|
||||
## `0.33.0` 2020/4/4
|
||||
- 重构 [`MessageSource`](https://github.com/mamoe/mirai/blob/master/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/MessageSource.kt), 支持直接获取相关对象, 支持所有类型的引用.
|
||||
- 简化引用回复, 现在只需要 `source.quote()` 即可创建引用 (而不需要 `sender` 参数)
|
||||
|
@ -52,6 +52,11 @@ internal suspend fun QQ.sendMessageImpl(message: Message): MessageReceipt<QQ> {
|
||||
@OptIn(MiraiInternalAPI::class, MiraiExperimentalAPI::class)
|
||||
internal fun Contact.logMessageSent(message: Message) {
|
||||
if (message !is LongMessage) {
|
||||
bot.logger.verbose("$this <- $message")
|
||||
bot.logger.verbose("$this <- ${message.toString().singleLine()}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
internal fun String.singleLine(): String {
|
||||
return this.replace("\n", """\n""").replace("\r", "")
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import net.mamoe.mirai.qqandroid.QQAndroidBot
|
||||
import net.mamoe.mirai.qqandroid.contact.FriendInfoImpl
|
||||
import net.mamoe.mirai.qqandroid.contact.GroupImpl
|
||||
import net.mamoe.mirai.qqandroid.contact.QQImpl
|
||||
import net.mamoe.mirai.qqandroid.contact.singleLine
|
||||
import net.mamoe.mirai.qqandroid.event.PacketReceivedEvent
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.data.proto.MsgSvc
|
||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.*
|
||||
@ -447,10 +448,6 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
||||
) {
|
||||
// highest priority: pass to listeners (attached by sendAndExpect).
|
||||
if (packet != null && (bot.logger.isEnabled || logger.isEnabled)) {
|
||||
fun String.singleLine(): String {
|
||||
return this.replace("\n", """\n""").replace("\r", "")
|
||||
}
|
||||
|
||||
when (packet) {
|
||||
is GroupMessage -> bot.logger.verbose(
|
||||
"[${packet.group.name}(${packet.group.id})] ${packet.senderName}(${packet.sender.id}) -> ${packet.message.toString()
|
||||
|
Loading…
Reference in New Issue
Block a user