mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-03 07:00:49 +08:00
Remove deprecated APIs
This commit is contained in:
parent
c1311f71b6
commit
b2f0424418
@ -25,7 +25,6 @@ import net.mamoe.mirai.network.LoginFailedException
|
||||
import net.mamoe.mirai.utils.BotConfiguration
|
||||
import net.mamoe.mirai.utils.MiraiExperimentalApi
|
||||
import net.mamoe.mirai.utils.MiraiLogger
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
/**
|
||||
@ -95,12 +94,6 @@ public interface Bot : CoroutineScope, ContactOrBot, UserOrBot {
|
||||
*/
|
||||
public val asFriend: Friend
|
||||
|
||||
@Deprecated("Use asFriend instead", ReplaceWith("asFriend"))
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public val selfQQ: Friend
|
||||
get() = asFriend
|
||||
|
||||
|
||||
/**
|
||||
* 好友列表. 与服务器同步更新.
|
||||
*/
|
||||
@ -205,50 +198,6 @@ public interface Bot : CoroutineScope, ContactOrBot, UserOrBot {
|
||||
*/
|
||||
@JvmStatic
|
||||
public fun findInstance(qq: Long): Bot? = _instances[qq]
|
||||
|
||||
|
||||
// deprecated
|
||||
|
||||
/**
|
||||
* 遍历每一个 [Bot] 实例
|
||||
*/
|
||||
@Deprecated(
|
||||
"""
|
||||
In Kotlin, use Sequence.forEach on instancesSequence.
|
||||
In Java, use List.forEach on instances
|
||||
""",
|
||||
ReplaceWith("Bot.instancesSequence.forEach(block)", "net.mamoe.mirai.Bot.Companion"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public fun forEachInstance(block: (Bot) -> Unit): Unit = instancesSequence.forEach(block)
|
||||
|
||||
/**
|
||||
* 复制一份此时的 [Bot] 实例列表.
|
||||
*/
|
||||
@JvmStatic
|
||||
@Deprecated(
|
||||
"Use instances for shorter name.",
|
||||
ReplaceWith("Bot.instances", "net.mamoe.mirai.Bot.Companion"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public val botInstances: List<Bot>
|
||||
get() = instances
|
||||
|
||||
/**
|
||||
* 复制一份此时的 [Bot] 实例列表.
|
||||
*/
|
||||
@JvmStatic
|
||||
@Deprecated(
|
||||
"Use instancesSequence for shorter name.",
|
||||
ReplaceWith("Bot.instancesSequence", "net.mamoe.mirai.Bot.Companion"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public val botInstancesSequence: Sequence<Bot>
|
||||
get() = instancesSequence
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -290,30 +239,4 @@ public inline fun Bot.containsFriend(id: Long): Boolean = this.friends.contains(
|
||||
* 当 [Bot] 拥有 [Group.id] 为 [id] 的群时返回 `true`.
|
||||
*/
|
||||
@JvmSynthetic
|
||||
public inline fun Bot.containsGroup(id: Long): Boolean = this.groups.contains(id)
|
||||
|
||||
|
||||
// deprecated
|
||||
|
||||
@Suppress("EXTENSION_SHADOWED_BY_MEMBER") // source compatibility
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@JvmSynthetic
|
||||
public suspend inline fun Bot.join(): Unit = join()
|
||||
|
||||
@Suppress("EXTENSION_SHADOWED_BY_MEMBER") // source compatibility
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@JvmSynthetic
|
||||
public suspend inline fun Bot.closeAndJoin(cause: Throwable? = null) {
|
||||
close(cause)
|
||||
coroutineContext[Job]?.join()
|
||||
}
|
||||
|
||||
@Deprecated("Use getFriend", ReplaceWith("this.getFriend(id)"))
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@JvmSynthetic
|
||||
public inline fun Bot.getFriendOrNull(id: Long): Friend? = this.getFriend(id)
|
||||
|
||||
@Deprecated("Use getGroup", ReplaceWith("this.getGroup(id)"))
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@JvmSynthetic
|
||||
public inline fun Bot.getGroupOrNull(id: Long): Group? = this.getGroup(id)
|
||||
public inline fun Bot.containsGroup(id: Long): Boolean = this.groups.contains(id)
|
@ -111,36 +111,6 @@ public interface BotFactory {
|
||||
*/
|
||||
public fun newBot(qq: Long, passwordMd5: ByteArray): Bot = newBot(qq, passwordMd5, BotConfiguration.Default)
|
||||
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use newBot(qq, password, configuration)",
|
||||
ReplaceWith("newBot(qq, password, configuration)"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: BotConfiguration = BotConfiguration.Default
|
||||
): Bot = newBot(qq, password, configuration)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use newBot(qq, password, configuration)",
|
||||
ReplaceWith("newBot(qq, password, configuration)"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: BotConfiguration = BotConfiguration.Default
|
||||
): Bot = newBot(qq, passwordMd5, configuration)
|
||||
|
||||
public companion object INSTANCE : BotFactory {
|
||||
override fun newBot(qq: Long, password: String, configuration: BotConfiguration): Bot {
|
||||
return Mirai.BotFactory.newBot(qq, password, configuration)
|
||||
@ -173,322 +143,3 @@ public inline fun BotFactory.newBot(qq: Long, password: String, configuration: (
|
||||
@PlannedRemoval("2.0-RC")
|
||||
public inline fun BotFactory.newBot(qq: Long, password: ByteArray, configuration: (BotConfiguration.() -> Unit)): Bot =
|
||||
this.newBot(qq, password, BotConfiguration().apply(configuration))
|
||||
|
||||
|
||||
// deprecated:
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password, configuration)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password, configuration)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
"net.mamoe.mirai.newBot"
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = this.newBot(qq, password, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5, configuration)",
|
||||
ReplaceWith("BotFactory.newBot(qq, passwordMd5, configuration)", "net.mamoe.mirai.BotFactory"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = this.newBot(qq, passwordMd5, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password, configuration)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password, configuration)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
"net.mamoe.mirai.newBot"
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = BotFactory.newBot(qq, password, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password, configuration)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password, configuration)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: BotConfiguration
|
||||
): Bot = BotFactory.newBot(qq, password, configuration)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5, configuration)",
|
||||
ReplaceWith("BotFactory.newBot(qq, passwordMd5, configuration)", "net.mamoe.mirai.BotFactory"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = BotFactory.newBot(qq, passwordMd5, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5, configuration)",
|
||||
ReplaceWith("BotFactory.newBot(qq, passwordMd5, configuration)", "net.mamoe.mirai.BotFactory"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: BotConfiguration
|
||||
): Bot = BotFactory.newBot(qq, passwordMd5, configuration)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password, configuration)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password, configuration)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
"net.mamoe.mirai.newBot"
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = this.newBot(qq, password, BotConfiguration().apply(configuration))
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5, configuration)",
|
||||
ReplaceWith("BotFactory.newBot(qq, passwordMd5, configuration)", "net.mamoe.mirai.BotFactory"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = this.newBot(qq, passwordMd5, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password, configuration)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password, configuration)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
"net.mamoe.mirai.newBot"
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = BotFactory.newBot(qq, password, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password, configuration)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password, configuration)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
qq: Long,
|
||||
password: String,
|
||||
configuration: BotConfiguration
|
||||
): Bot = BotFactory.newBot(qq, password, configuration)
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5, configuration)",
|
||||
ReplaceWith("BotFactory.newBot(qq, passwordMd5, configuration)", "net.mamoe.mirai.BotFactory"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: (BotConfiguration.() -> Unit)
|
||||
): Bot = BotFactory.newBot(qq, passwordMd5, BotConfiguration().apply(configuration))
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5, configuration)",
|
||||
ReplaceWith("BotFactory.newBot(qq, passwordMd5, configuration)", "net.mamoe.mirai.BotFactory"),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
configuration: BotConfiguration
|
||||
): Bot = BotFactory.newBot(qq, passwordMd5, configuration)
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
password: String,
|
||||
): Bot = this.newBot(qq, password)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, passwordMd5)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
): Bot = this.newBot(qq, passwordMd5)
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
qq: Long,
|
||||
password: String,
|
||||
): Bot = this.newBot(qq, password)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, passwordMd5)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun BotFactory.Bot(
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
): Bot = this.newBot(qq, passwordMd5)
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
password: String,
|
||||
): Bot = BotFactory.newBot(qq, password)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, passwordMd5)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
context: Any?,
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
): Bot = BotFactory.newBot(qq, passwordMd5)
|
||||
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, password)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, password)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
qq: Long,
|
||||
password: String,
|
||||
): Bot = BotFactory.newBot(qq, password)
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"For migration. Use BotFactory.newBot(qq, passwordMd5)",
|
||||
ReplaceWith(
|
||||
"BotFactory.newBot(qq, passwordMd5)",
|
||||
"net.mamoe.mirai.BotFactory",
|
||||
),
|
||||
DeprecationLevel.ERROR
|
||||
)
|
||||
public inline fun Bot(
|
||||
qq: Long,
|
||||
passwordMd5: ByteArray,
|
||||
): Bot = BotFactory.newBot(qq, passwordMd5)
|
||||
|
||||
|
@ -9,24 +9,30 @@
|
||||
|
||||
package net.mamoe.mirai.contact
|
||||
|
||||
import net.mamoe.mirai.message.action.MemberNudge
|
||||
import net.mamoe.mirai.message.data.Image
|
||||
import net.mamoe.mirai.message.data.Message
|
||||
import net.mamoe.mirai.utils.MemberDeprecatedApi
|
||||
import net.mamoe.mirai.utils.ExternalResource
|
||||
|
||||
/**
|
||||
* 匿名
|
||||
*
|
||||
* 代表匿名群成员
|
||||
*/
|
||||
@Suppress("DeprecatedCallableAddReplaceWith")
|
||||
public interface AnonymousMember : Member {
|
||||
/** 该匿名群成员 ID */
|
||||
public val anonymousId: String
|
||||
|
||||
@MemberDeprecatedApi(message = "无法发送信息至 AnonymousMember")
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "无法发送信息至 AnonymousMember")
|
||||
public override suspend fun sendMessage(message: Message): Nothing
|
||||
public override suspend fun sendMessage(message: Message): Nothing =
|
||||
throw UnsupportedOperationException("Cannot send message to AnonymousMember")
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "无法发送信息至 AnonymousMember")
|
||||
@MemberDeprecatedApi(message = "无法发送信息至 AnonymousMember")
|
||||
public override suspend fun sendMessage(message: String): Nothing
|
||||
public override suspend fun sendMessage(message: String): Nothing =
|
||||
throw UnsupportedOperationException("Cannot send message to AnonymousMember")
|
||||
|
||||
override fun nudge(): MemberNudge = throw UnsupportedOperationException("Cannot nudge AnonymousMember")
|
||||
override suspend fun uploadImage(resource: ExternalResource): Image =
|
||||
throw UnsupportedOperationException("Cannot upload image to AnonymousMember")
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ package net.mamoe.mirai.contact
|
||||
|
||||
import net.mamoe.mirai.utils.LockFreeLinkedList
|
||||
import net.mamoe.mirai.utils.MiraiInternalApi
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import java.util.concurrent.ConcurrentLinkedQueue
|
||||
|
||||
|
||||
@ -29,10 +28,6 @@ internal constructor(@JvmField @MiraiInternalApi public val delegate: Concurrent
|
||||
internal constructor(collection: Collection<C>) : this(ConcurrentLinkedQueue(collection))
|
||||
internal constructor() : this(ConcurrentLinkedQueue())
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated("Use get", ReplaceWith("get(id)"))
|
||||
public fun getOrNull(id: Long): C? = get(id)
|
||||
|
||||
public operator fun get(id: Long): C? = delegate.firstOrNull { it.id == id }
|
||||
public fun getOrFail(id: Long): C = get(id) ?: throw NoSuchElementException("Contact $id not found.")
|
||||
public fun remove(id: Long): Boolean = delegate.removeAll { it.id == id }
|
||||
@ -43,9 +38,6 @@ internal constructor(@JvmField @MiraiInternalApi public val delegate: Concurrent
|
||||
override fun hashCode(): Int = delegate.hashCode()
|
||||
}
|
||||
|
||||
@Deprecated("x", ReplaceWith("this.add(c)"))
|
||||
internal fun <C : Any?> ConcurrentLinkedQueue<C>.addLast(c: C): Boolean = this.add(c)
|
||||
|
||||
/**
|
||||
* ID 列表的字符串表示.
|
||||
* 如:
|
||||
|
@ -20,7 +20,6 @@ import net.mamoe.mirai.message.MessageReceipt.Companion.recall
|
||||
import net.mamoe.mirai.message.data.*
|
||||
import net.mamoe.mirai.utils.MiraiExperimentalApi
|
||||
import net.mamoe.mirai.utils.OverFileSizeMaxException
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import java.io.InputStream
|
||||
|
||||
/**
|
||||
@ -97,14 +96,6 @@ public interface Group : Contact, CoroutineScope {
|
||||
*/
|
||||
public operator fun get(id: Long): NormalMember?
|
||||
|
||||
@Deprecated("Use get", ReplaceWith("get(id)"))
|
||||
@PlannedRemoval("2.0-M2")
|
||||
/**
|
||||
* 获取群成员实例, 不存在则 null
|
||||
* 当 [id] 为 [Bot.id] 时返回 [botAsMember]
|
||||
*/
|
||||
public fun getOrNull(id: Long): NormalMember? = get(id)
|
||||
|
||||
/**
|
||||
* 获取群成员实例. 不存在时抛出 [kotlin.NoSuchElementException].
|
||||
*
|
||||
|
@ -12,15 +12,15 @@
|
||||
package net.mamoe.mirai.contact
|
||||
|
||||
import net.mamoe.kjbb.JvmBlockingBridge
|
||||
import net.mamoe.mirai.event.events.BotMuteEvent
|
||||
import net.mamoe.mirai.event.events.MemberMuteEvent
|
||||
import net.mamoe.mirai.event.events.MemberPermissionChangeEvent
|
||||
import net.mamoe.mirai.Bot
|
||||
import net.mamoe.mirai.event.events.*
|
||||
import net.mamoe.mirai.message.MessageReceipt
|
||||
import net.mamoe.mirai.message.MessageReceipt.Companion.recall
|
||||
import net.mamoe.mirai.message.action.MemberNudge
|
||||
import net.mamoe.mirai.message.action.Nudge
|
||||
import net.mamoe.mirai.message.data.Message
|
||||
import net.mamoe.mirai.utils.MemberDeprecatedApi
|
||||
import net.mamoe.mirai.message.data.isContentEmpty
|
||||
import net.mamoe.mirai.utils.MiraiExperimentalApi
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import net.mamoe.mirai.utils.WeakRefProperty
|
||||
|
||||
/**
|
||||
@ -66,10 +66,6 @@ public interface Member : User {
|
||||
*/
|
||||
public val specialTitle: String
|
||||
|
||||
@MemberDeprecatedApi("仅 NormalMember 支持 muteTimeRemaining. 请先检查类型为 NormalMember.")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public val muteTimeRemaining: Int
|
||||
|
||||
/**
|
||||
* 禁言这个群成员 [durationSeconds] 秒, 在机器人无权限操作时抛出 [PermissionDeniedException].
|
||||
*
|
||||
@ -90,22 +86,43 @@ public interface Member : User {
|
||||
@JvmBlockingBridge
|
||||
public suspend fun mute(durationSeconds: Int)
|
||||
|
||||
@MemberDeprecatedApi("仅 NormalMember 支持 unmute. 请先检查类型为 NormalMember.")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public suspend fun unmute()
|
||||
|
||||
@MemberDeprecatedApi("仅 NormalMember 支持 kick. 请先检查类型为 NormalMember.")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public suspend fun kick(message: String = "")
|
||||
|
||||
@MemberDeprecatedApi("仅 NormalMember 支持 sendMessage. 请先检查类型为 NormalMember.")
|
||||
/**
|
||||
* 向群成员发送消息.
|
||||
* 若群成员同时是好友, 则会发送好友消息. 否则发送临时会话消息.
|
||||
*
|
||||
* 单条消息最大可发送 4500 字符或 50 张图片.
|
||||
*
|
||||
* 注意: 只可以向 [NormalMember] 发送消息. 向 [AnonymousMember] 发送时将会得到异常.
|
||||
*
|
||||
* @see FriendMessagePreSendEvent 当此成员是好友时发送消息前事件
|
||||
* @see FriendMessagePostSendEvent 当此成员是好友时发送消息后事件
|
||||
*
|
||||
* @see TempMessagePreSendEvent 当此成员不是好友时发送消息前事件
|
||||
* @see TempMessagePostSendEvent 当此成员不是好友时发送消息后事件
|
||||
*
|
||||
* @throws EventCancelledException 当发送消息事件被取消时抛出
|
||||
* @throws BotIsBeingMutedException 发送群消息时若 [Bot] 被禁言抛出
|
||||
* @throws MessageTooLargeException 当消息过长时抛出
|
||||
* @throws IllegalArgumentException 当消息内容为空时抛出 (详见 [Message.isContentEmpty])
|
||||
*
|
||||
* @return 消息回执. 可进行撤回 ([MessageReceipt.recall])
|
||||
*/
|
||||
public override suspend fun sendMessage(message: Message): MessageReceipt<Member>
|
||||
|
||||
@MemberDeprecatedApi("仅 NormalMember 支持 sendMessage. 请先检查类型为 NormalMember.")
|
||||
/**
|
||||
* 发送纯文本消息
|
||||
*
|
||||
* @see sendMessage
|
||||
*/
|
||||
public override suspend fun sendMessage(message: String): MessageReceipt<Member>
|
||||
|
||||
@MemberDeprecatedApi("仅 NormalMember 支持 nudge. 请先检查类型为 NormalMember.")
|
||||
@PlannedRemoval("2.0-M2")
|
||||
/**
|
||||
* 创建一个 "戳一戳" 消息
|
||||
*
|
||||
* 注意: 只可以戳 [NormalMember]. 向 [AnonymousMember] 操作时将会得到异常.
|
||||
*
|
||||
* @see Nudge.sendTo 发送这个戳一戳消息
|
||||
*/
|
||||
@MiraiExperimentalApi
|
||||
public override fun nudge(): MemberNudge
|
||||
}
|
||||
@ -128,19 +145,6 @@ public fun Member.asFriendOrNull(): Friend? = this.bot.getFriend(this.id)
|
||||
public inline val Member.isFriend: Boolean
|
||||
get() = this.bot.friends.contains(this.id)
|
||||
|
||||
/**
|
||||
* 如果此成员是好友, 则执行 [block] 并返回其返回值. 否则返回 `null`
|
||||
*/
|
||||
@Deprecated(
|
||||
"Ambiguous function name and its behaviour. Use asFriendOrNull and let manually.",
|
||||
ReplaceWith("this.asFriendOrNull()?.let(block)"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public inline fun <R> Member.takeIfIsFriend(block: (Friend) -> R): R? {
|
||||
return this.asFriendOrNull()?.let(block)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取非空群名片或昵称.
|
||||
*
|
||||
|
@ -19,9 +19,7 @@ import net.mamoe.mirai.message.action.Nudge
|
||||
import net.mamoe.mirai.message.data.Message
|
||||
import net.mamoe.mirai.message.data.isContentEmpty
|
||||
import net.mamoe.mirai.message.data.toPlainText
|
||||
import net.mamoe.mirai.utils.MemberDeprecatedApi
|
||||
import net.mamoe.mirai.utils.MiraiExperimentalApi
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.ExperimentalTime
|
||||
|
||||
@ -34,7 +32,6 @@ import kotlin.time.ExperimentalTime
|
||||
* ## 相关的操作
|
||||
* [Member.isFriend] 判断此成员是否为好友
|
||||
*/
|
||||
@OptIn(MemberDeprecatedApi::class)
|
||||
public interface NormalMember : Member {
|
||||
/**
|
||||
* 群名片. 可能为空.
|
||||
@ -69,21 +66,21 @@ public interface NormalMember : Member {
|
||||
* @see mute 设置禁言
|
||||
* @see unmute 取消禁言
|
||||
*/
|
||||
public override val muteTimeRemaining: Int
|
||||
public val muteTimeRemaining: Int
|
||||
|
||||
/**
|
||||
* 解除禁言.
|
||||
*
|
||||
* 管理员可解除成员的禁言, 群主可解除管理员和群员的禁言.
|
||||
*
|
||||
* @see Member.isMuted 判断此成员是否正处于禁言状态中
|
||||
* @see NormalMember.isMuted 判断此成员是否正处于禁言状态中
|
||||
*
|
||||
* @see MemberUnmuteEvent 成员被取消禁言事件
|
||||
*
|
||||
* @throws PermissionDeniedException 无权限修改时抛出
|
||||
*/
|
||||
@JvmBlockingBridge
|
||||
public override suspend fun unmute()
|
||||
public suspend fun unmute()
|
||||
|
||||
/**
|
||||
* 踢出该成员.
|
||||
@ -94,7 +91,7 @@ public interface NormalMember : Member {
|
||||
* @throws PermissionDeniedException 无权限修改时
|
||||
*/
|
||||
@JvmBlockingBridge
|
||||
public override suspend fun kick(message: String)
|
||||
public suspend fun kick(message: String)
|
||||
|
||||
/**
|
||||
* 向群成员发送消息.
|
||||
@ -116,14 +113,14 @@ public interface NormalMember : Member {
|
||||
* @return 消息回执. 可进行撤回 ([MessageReceipt.recall])
|
||||
*/
|
||||
@JvmBlockingBridge
|
||||
public override suspend fun sendMessage(message: Message): MessageReceipt<Member>
|
||||
public override suspend fun sendMessage(message: Message): MessageReceipt<NormalMember>
|
||||
|
||||
/**
|
||||
* 发送纯文本消息
|
||||
* @see sendMessage
|
||||
*/
|
||||
@JvmBlockingBridge
|
||||
public override suspend fun sendMessage(message: String): MessageReceipt<Member> =
|
||||
public override suspend fun sendMessage(message: String): MessageReceipt<NormalMember> =
|
||||
this.sendMessage(message.toPlainText())
|
||||
|
||||
/**
|
||||
@ -164,10 +161,3 @@ public suspend inline fun NormalMember.mute(duration: Duration) {
|
||||
require(duration.inSeconds > 0) { "duration must be greater than 0 second" }
|
||||
this.mute(duration.inSeconds.toInt())
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Member.mute
|
||||
*/
|
||||
@Deprecated("Convert duration to int manually.", ReplaceWith("this.mute(durationSeconds.toInt())"))
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public suspend inline fun NormalMember.mute(durationSeconds: Long): Unit = this.mute(durationSeconds.toInt())
|
||||
|
@ -15,13 +15,11 @@
|
||||
package net.mamoe.mirai.message.data
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import net.mamoe.mirai.LowLevelApi
|
||||
import net.mamoe.mirai.contact.Group
|
||||
import net.mamoe.mirai.contact.Member
|
||||
import net.mamoe.mirai.contact.UserOrBot
|
||||
import net.mamoe.mirai.contact.nameCardOrNick
|
||||
import net.mamoe.mirai.message.code.CodableMessage
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
|
||||
|
||||
/**
|
||||
@ -39,12 +37,6 @@ public data class At(
|
||||
public override fun toString(): String = "[mirai:at:$target]"
|
||||
public override fun contentToString(): String = "@$target"
|
||||
|
||||
@Suppress("DeprecatedCallableAddReplaceWith")
|
||||
@Deprecated("Use getDisplay", ReplaceWith("this.getDisplay()"), DeprecationLevel.ERROR)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
val display: Nothing
|
||||
get() = error("At.display is no longer supported")
|
||||
|
||||
/**
|
||||
* 获取 [At] 发送于指定 [Group] 时会显示的内容.
|
||||
*
|
||||
@ -59,17 +51,7 @@ public data class At(
|
||||
builder.append("[mirai:at:").append(target).append(']')
|
||||
}
|
||||
|
||||
public companion object {
|
||||
/**
|
||||
* 构造一个 [At], 仅供内部使用, 否则可能造成消息无法发出的问题.
|
||||
*/
|
||||
@Suppress("FunctionName", "UNUSED_PARAMETER")
|
||||
@JvmStatic
|
||||
@LowLevelApi
|
||||
@Deprecated("Use constructor instead", ReplaceWith("At(target)", "net.mamoe.mirai.message.data.At"))
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public fun _lowLevelConstructAtInstance(target: Long, display: String): At = At(target)
|
||||
}
|
||||
public companion object;
|
||||
|
||||
// 自动为消息补充 " "
|
||||
public override fun followedBy(tail: Message): MessageChain {
|
||||
|
@ -22,7 +22,6 @@ import net.mamoe.mirai.contact.nameCardOrNick
|
||||
import net.mamoe.mirai.event.events.MessageEvent
|
||||
import net.mamoe.mirai.message.data.ForwardMessage.DisplayStrategy
|
||||
import net.mamoe.mirai.utils.MiraiExperimentalApi
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import net.mamoe.mirai.utils.currentTimeSeconds
|
||||
import net.mamoe.mirai.utils.safeCast
|
||||
|
||||
@ -110,29 +109,6 @@ public data class ForwardMessage(
|
||||
return "[mirai:forward:NOT_IMPLEMENTED]" // TODO: 2020/12/3 ForwardMessage.contentToString()
|
||||
}
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Use RawForwardMessage and render manually or use buildForwardMessage",
|
||||
ReplaceWith(
|
||||
"RawForwardMessage(nodeList).render(displayStrategy)",
|
||||
"net.mamoe.mirai.message.data.RawForwardMessage"
|
||||
)
|
||||
)
|
||||
@JvmOverloads
|
||||
public constructor(
|
||||
/**
|
||||
* 消息列表
|
||||
*/
|
||||
nodeList: Collection<INode>,
|
||||
displayStrategy: DisplayStrategy = DisplayStrategy.Default
|
||||
) : this(
|
||||
preview = displayStrategy.generatePreview(RawForwardMessage(nodeList.map(INode::toNode))),
|
||||
title = displayStrategy.generateTitle(RawForwardMessage(nodeList.map(INode::toNode))),
|
||||
brief = displayStrategy.generateBrief(RawForwardMessage(nodeList.map(INode::toNode))),
|
||||
source = displayStrategy.generateSource(RawForwardMessage(nodeList.map(INode::toNode))),
|
||||
summary = displayStrategy.generateSummary(RawForwardMessage(nodeList.map(INode::toNode))),
|
||||
nodeList = nodeList.map(INode::toNode),
|
||||
)
|
||||
|
||||
/**
|
||||
* @see ForwardMessage
|
||||
|
@ -19,7 +19,6 @@ import net.mamoe.mirai.message.code.CodableMessage
|
||||
import net.mamoe.mirai.message.code.internal.appendAsMiraiCode
|
||||
import net.mamoe.mirai.message.data.VipFace.Kind
|
||||
import net.mamoe.mirai.utils.MiraiInternalApi
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import net.mamoe.mirai.utils.castOrNull
|
||||
import net.mamoe.mirai.utils.safeCast
|
||||
|
||||
@ -62,11 +61,6 @@ public data class PokeMessage @MiraiInternalApi constructor(
|
||||
get() = Key
|
||||
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated("Use pokeType", ReplaceWith("pokeType"), DeprecationLevel.ERROR)
|
||||
val type: Int
|
||||
get() = pokeType
|
||||
|
||||
public companion object Key :
|
||||
AbstractPolymorphicMessageKey<HummerMessage, PokeMessage>(HummerMessage, { it.castOrNull() }) {
|
||||
|
||||
|
@ -31,7 +31,6 @@ import net.mamoe.mirai.message.data.MessageSource.Key.isAboutGroup
|
||||
import net.mamoe.mirai.message.data.MessageSource.Key.isAboutTemp
|
||||
import net.mamoe.mirai.message.data.MessageSource.Key.quote
|
||||
import net.mamoe.mirai.utils.LazyProperty
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import net.mamoe.mirai.utils.safeCast
|
||||
|
||||
/**
|
||||
@ -425,13 +424,6 @@ public abstract class OfflineMessageSource : MessageSource() {
|
||||
* 消息种类
|
||||
*/
|
||||
public abstract val kind: MessageSourceKind
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Use MessageSourceKind",
|
||||
ReplaceWith("MessageSourceKind", "net.mamoe.mirai.message.data.MessageSourceKind")
|
||||
)
|
||||
private enum class Kind
|
||||
}
|
||||
|
||||
@Serializable
|
||||
|
@ -17,7 +17,6 @@ import kotlinx.serialization.Serializable
|
||||
import net.mamoe.mirai.message.code.CodableMessage
|
||||
import net.mamoe.mirai.message.code.internal.appendAsMiraiCode
|
||||
import net.mamoe.mirai.utils.MiraiExperimentalApi
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
import net.mamoe.mirai.utils.safeCast
|
||||
import kotlin.annotation.AnnotationTarget.*
|
||||
|
||||
@ -162,15 +161,6 @@ public interface ServiceMessage : RichMessage, CodableMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("FunctionName")
|
||||
@Deprecated(
|
||||
"Use SimpleServiceMessage.",
|
||||
ReplaceWith("SimpleServiceMessage(serviceId, content)", "net.mamoe.mirai.message.data.SimpleServiceMessage")
|
||||
)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public fun ServiceMessage(serviceId: Int, content: String): SimpleServiceMessage =
|
||||
SimpleServiceMessage(serviceId, content)
|
||||
|
||||
@MiraiExperimentalApi
|
||||
@Serializable
|
||||
public abstract class AbstractServiceMessage : ServiceMessage {
|
||||
|
@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Copyright 2019-2020 Mamoe Technologies and contributors.
|
||||
*
|
||||
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
|
||||
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
|
||||
*
|
||||
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
package net.mamoe.mirai.message
|
||||
|
||||
import net.mamoe.mirai.utils.PlannedRemoval
|
||||
|
||||
// internal 定义可以通过全名引用, 用户就能看到 ReplaceWith. 新用户则看不到这些旧类型的 import.
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("FriendMessageEvent", "net.mamoe.mirai.event.events.FriendMessageEvent"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias FriendMessageEvent = net.mamoe.mirai.event.events.FriendMessageEvent
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("GroupAwareMessageEvent", "net.mamoe.mirai.event.events.GroupAwareMessageEvent"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias GroupAwareMessageEvent = net.mamoe.mirai.event.events.GroupAwareMessageEvent
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("GroupMessageEvent", "net.mamoe.mirai.event.events.GroupMessageEvent"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias GroupMessageEvent = net.mamoe.mirai.event.events.GroupMessageEvent
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("MessageEvent", "net.mamoe.mirai.event.events.MessageEvent"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias MessageEvent = net.mamoe.mirai.event.events.MessageEvent
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("TempMessageEvent", "net.mamoe.mirai.event.events.TempMessageEvent"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias TempMessageEvent = net.mamoe.mirai.event.events.TempMessageEvent
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("UserMessageEvent", "net.mamoe.mirai.event.events.UserMessageEvent"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias UserMessageEvent = net.mamoe.mirai.event.events.UserMessageEvent
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("MessageEventExtensions", "net.mamoe.mirai.event.events.MessageEventExtensions"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias MessageEventExtensions<TSender, TSubject> = net.mamoe.mirai.event.events.MessageEventExtensions<TSender, TSubject>
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Deprecated(
|
||||
"Replace with new package.",
|
||||
ReplaceWith("MessageEventPlatformExtensions", "net.mamoe.mirai.event.events.MessageEventPlatformExtensions"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
private typealias MessageEventPlatformExtensions<TSender, TSubject> = net.mamoe.mirai.event.events.MessageEventPlatformExtensions<TSender, TSubject>
|
@ -50,15 +50,6 @@ public annotation class MiraiExperimentalApi(
|
||||
@MustBeDocumented
|
||||
internal annotation class PlannedRemoval(val version: String)
|
||||
|
||||
/**
|
||||
* 标记已过时的 Member API
|
||||
*/
|
||||
@Target(CLASS, PROPERTY, FIELD, CONSTRUCTOR, FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER, TYPEALIAS)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
@RequiresOptIn(level = RequiresOptIn.Level.ERROR)
|
||||
@MustBeDocumented
|
||||
@PlannedRemoval("2.0-M2")
|
||||
internal annotation class MemberDeprecatedApi(val message: String)
|
||||
|
||||
/**
|
||||
* 该注解仅用于测试 EventHandler
|
||||
|
@ -17,42 +17,6 @@ import net.mamoe.mirai.Bot
|
||||
import kotlin.contracts.InvocationKind.AT_MOST_ONCE
|
||||
import kotlin.contracts.contract
|
||||
|
||||
@Suppress("DEPRECATION", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||
@Deprecated(
|
||||
"Use MiraiLogger.create",
|
||||
level = DeprecationLevel.ERROR,
|
||||
replaceWith = ReplaceWith(
|
||||
"{ identity: String? -> MiraiLogger.create(identity) }",
|
||||
"net.mamoe.mirai.utils.MiraiLogger"
|
||||
)
|
||||
)
|
||||
@PlannedRemoval("2.0-M2")
|
||||
public var DefaultLogger: (identity: String?) -> MiraiLogger
|
||||
@Deprecated(
|
||||
"Create lambda by yourself.",
|
||||
ReplaceWith("{ identity: String? -> MiraiLogger.create(identity) }", "net.mamoe.mirai.utils.MiraiLogger"),
|
||||
level = DeprecationLevel.ERROR,
|
||||
)
|
||||
get() = { MiraiLogger.create(it) }
|
||||
@Deprecated(
|
||||
"Use MiraiLogger.setDefaultLoggerCreator",
|
||||
replaceWith = ReplaceWith("MiraiLogger.setDefaultLoggerCreator(value)", "net.mamoe.mirai.utils.MiraiLogger"),
|
||||
level = DeprecationLevel.ERROR,
|
||||
)
|
||||
set(value) = MiraiLogger.setDefaultLoggerCreator(value)
|
||||
|
||||
|
||||
@PlannedRemoval("2.0-M2")
|
||||
@Suppress("DEPRECATION", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE", "NOTHING_TO_INLINE", "FunctionName")
|
||||
@Deprecated(
|
||||
"Use MiraiLogger.create",
|
||||
level = DeprecationLevel.ERROR,
|
||||
replaceWith = ReplaceWith("MiraiLogger.create(identity)", "net.mamoe.mirai.utils.MiraiLogger")
|
||||
)
|
||||
@kotlin.internal.HidesMembers
|
||||
@JvmSynthetic
|
||||
public inline fun DefaultLogger(identity: String?): MiraiLogger = MiraiLogger.create(identity)
|
||||
|
||||
/**
|
||||
* 给这个 logger 添加一个开关, 用于控制是否记录 log
|
||||
*/
|
||||
|
@ -15,14 +15,8 @@ import net.mamoe.mirai.contact.AnonymousMember
|
||||
import net.mamoe.mirai.contact.MemberPermission
|
||||
import net.mamoe.mirai.data.MemberInfo
|
||||
import net.mamoe.mirai.internal.MiraiImpl
|
||||
import net.mamoe.mirai.message.action.MemberNudge
|
||||
import net.mamoe.mirai.message.data.Image
|
||||
import net.mamoe.mirai.message.data.Message
|
||||
import net.mamoe.mirai.utils.ExternalResource
|
||||
import net.mamoe.mirai.utils.MemberDeprecatedApi
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
|
||||
@OptIn(MemberDeprecatedApi::class)
|
||||
internal class AnonymousMemberImpl(
|
||||
override val group: GroupImpl,
|
||||
override val coroutineContext: CoroutineContext,
|
||||
@ -34,26 +28,13 @@ internal class AnonymousMemberImpl(
|
||||
override val permission: MemberPermission get() = memberInfo.permission
|
||||
override val bot: Bot get() = group.bot
|
||||
override val id: Long get() = memberInfo.uin
|
||||
override val muteTimeRemaining: Int get() = -1
|
||||
override val nick: String get() = memberInfo.nick
|
||||
override val remark: String get() = memberInfo.remark
|
||||
|
||||
override fun nudge(): MemberNudge = notSupported("Nudge")
|
||||
override suspend fun uploadImage(resource: ExternalResource): Image = notSupported("Upload image to")
|
||||
override suspend fun unmute() {
|
||||
}
|
||||
|
||||
override suspend fun mute(durationSeconds: Int) {
|
||||
checkBotPermissionHigherThanThis("mute")
|
||||
MiraiImpl._lowLevelMuteAnonymous(bot, anonymousId, nameCard, group.uin, durationSeconds)
|
||||
}
|
||||
|
||||
override fun toString(): String = "AnonymousMember($nameCard, $anonymousId)"
|
||||
|
||||
private fun notSupported(action: String): Nothing =
|
||||
throw IllegalStateException("$action anonymous is not allowed")
|
||||
|
||||
override suspend fun sendMessage(message: Message): Nothing = notSupported("Send message to")
|
||||
override suspend fun sendMessage(message: String): Nothing = notSupported("Send message to")
|
||||
override suspend fun kick(message: String): Unit = notSupported("Kick")
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ internal class NormalMemberImpl constructor(
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@JvmSynthetic
|
||||
override suspend fun sendMessage(message: Message): MessageReceipt<Member> {
|
||||
override suspend fun sendMessage(message: Message): MessageReceipt<NormalMember> {
|
||||
require(message.isContentNotEmpty()) { "message is empty" }
|
||||
|
||||
val asFriend = this.asFriendOrNull()
|
||||
@ -62,7 +62,7 @@ internal class NormalMemberImpl constructor(
|
||||
) ?: sendMessageImpl(message)).also { logMessageSent(message) }
|
||||
}
|
||||
|
||||
private suspend fun sendMessageImpl(message: Message): MessageReceipt<Member> {
|
||||
private suspend fun sendMessageImpl(message: Message): MessageReceipt<NormalMember> {
|
||||
val chain = kotlin.runCatching {
|
||||
TempMessagePreSendEvent(this, message).broadcast()
|
||||
}.onSuccess {
|
||||
|
Loading…
Reference in New Issue
Block a user