mirai-core / net.mamoe.mirai.contact / Member

Member

abstract class Member : MemberJavaFriendlyAPI

群成员.

群成员可能也是好友, 但他们在对象类型上不同. 群成员可以通过 asFriend 得到相关好友对象.

Constructors

<init>

群成员.

Member()

Properties

group

所在的群.

abstract val group: Group

muteTimeRemaining

被禁言剩余时长. 单位为秒.

abstract val muteTimeRemaining: Int

nameCard

群名片. 可能为空.

abstract var nameCard: String

permission

成员的权限, 动态更新.

abstract val permission: MemberPermission

specialTitle

群头衔.

abstract var specialTitle: String

Functions

kick

踢出该成员.

abstract suspend fun kick(message: String = ""): Unit

mute

禁言.

abstract suspend fun mute(durationSeconds: Int): Unit

sendMessage

向群成员发送消息. 若群成员同时是好友, 则会发送好友消息. 否则发送临时会话消息.

abstract suspend fun sendMessage(message: Message): MessageReceipt<Member>suspend fun sendMessage(message: String): MessageReceipt<Member>

toString

fun toString(): String

unmute

解除禁言.

abstract suspend fun unmute(): Unit

Extension Properties

isFriend

判断此成员是否为好友

val Member.isFriend: Boolean

isMuted

判断群成员是否处于禁言状态.

val Member.isMuted: Boolean

nameCardOrNick

获取非空群名片或昵称.

val Member.nameCardOrNick: String

Extension Functions

asFriend

得到此成员作为好友的对象.

fun Member.asFriend(): Friend

asFriendOrNull

得到此成员作为好友的对象.

fun Member.asFriendOrNull(): Friend?

at

At 这个成员

fun Member.at(): At

isAdministrator

判断权限是否为管理员

fun Member.isAdministrator(): Boolean

isMuted

判断改成员是否处于禁言状态.

fun Member.isMuted(): Boolean

isOperator

判断权限是否为管理员或群主

fun Member.isOperator(): Boolean

isOwner

判断权限是否为群主

fun Member.isOwner(): Boolean

mute

suspend fun Member.mute(duration: Duration): Unit
suspend fun Member.mute(durationSeconds: Long): Unit

recall

suspend fun Contact.recall(source: MessageChain): Unit
suspend fun Contact.recall(source: MessageSource): Unit

recallIn

fun Contact.recallIn(message: MessageChain, millis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job
fun Contact.recallIn(source: MessageSource, millis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job

sendImage

Dispatchers.IO 中将图片发送到指定联系人. 不会保存临时文件

suspend fun <C : Contact> C.sendImage(bufferedImage: BufferedImage): MessageReceipt<C>

Dispatchers.IO 中下载 URL 到临时文件并将其作为图片发送到指定联系人

suspend fun <C : Contact> C.sendImage(imageUrl: URL): MessageReceipt<C>

Dispatchers.IO 中读取 Input 到临时文件并将其作为图片发送到指定联系人

suspend fun <C : Contact> C.sendImage(imageInput: Input): MessageReceipt<C>

Dispatchers.IO 中读取 InputStream 到临时文件并将其作为图片发送到指定联系人

suspend fun <C : Contact> C.sendImage(imageStream: InputStream): MessageReceipt<C>

Dispatchers.IO 中将文件作为图片发送到指定联系人

suspend fun <C : Contact> C.sendImage(file: File): MessageReceipt<C>

sendImage

将图片作为单独的消息发送给 this

suspend fun <C : Contact> C.sendImage(image: ExternalImage): MessageReceipt<C>

takeIfIsFriend

如果此成员是好友, 则执行 block 并返回其返回值. 否则返回 null

fun <R> Member.takeIfIsFriend(block: (Friend) -> R): R?

uploadImage

Dispatchers.IO 中将图片上传, 但不发送. 不会保存临时文件

suspend fun Contact.uploadImage(bufferedImage: BufferedImage): OfflineImage

Dispatchers.IO 中下载 URL 到临时文件并将其作为图片上传, 但不发送

suspend fun Contact.uploadImage(imageUrl: URL): OfflineImage

Dispatchers.IO 中读取 Input 到临时文件并将其作为图片上传, 但不发送

suspend fun Contact.uploadImage(imageInput: Input): OfflineImage

Dispatchers.IO 中读取 InputStream 到临时文件并将其作为图片上传, 但不发送

suspend fun Contact.uploadImage(imageStream: InputStream): OfflineImage

Dispatchers.IO 中将文件作为图片上传, 但不发送

suspend fun Contact.uploadImage(file: File): OfflineImage