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

Group

abstract class Group : Contact, CoroutineScope

群.

Constructors

<init>

群.

Group()

Properties

avatarUrl

群头像下载链接.

val avatarUrl: String

botAsMember

Bot 在群内的 Member 实例

abstract val botAsMember: Member

botMuteRemaining

机器人被禁言还剩余多少秒

abstract val botMuteRemaining: Int

botPermission

机器人在这个群里的权限

abstract val botPermission: MemberPermission

id

同为 groupCode, 用户看到的群号码.

abstract val id: Long

members

群成员列表, 不含机器人自己, 含群主. 在 Group 实例创建的时候查询一次. 并与事件同步事件更新

abstract val members: ContactList<Member>

name

群名称.

abstract var name: String

owner

群主.

abstract val owner: Member

settings

群设置

abstract val settings: GroupSettings

Functions

__quitBlockingForJava__

fun __quitBlockingForJava__(): Boolean

contains

检查此 id 的群成员是否存在 当 idBot.id 时返回 true

abstract operator fun contains(id: Long): Boolean

get

获取群成员实例. 不存在时抛出 kotlin.NoSuchElementExceptionidBot.id 时返回 botAsMember

abstract operator fun get(id: Long): Member

getOrNull

获取群成员实例, 不存在则 null 当 idBot.id 时返回 botAsMember

abstract fun getOrNull(id: Long): Member?

newMember

构造一个 Member. 非特殊情况请不要使用这个函数. 优先使用 get.

abstract fun newMember(memberInfo: MemberInfo): Member

quit

让机器人退出这个群.

abstract suspend fun quit(): Boolean

sendMessage

向这个对象发送消息.

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

uploadImage

上传一个图片以备发送.

abstract suspend fun uploadImage(image: ExternalImage): OfflineGroupImage

Extension Properties

isBotMuted

返回机器人是否正在被禁言

val Group.isBotMuted: Boolean

Extension Functions

checkBotPermission

要求 Bot 在这个群里的权限为 required, 否则抛出异常 PermissionDeniedException

fun Group.checkBotPermission(required: MemberPermission, lazyMessage: () -> String = { "Permission denied: required $required, got actual $botPermission for $bot in group $id" }): Unit

checkBotPermissionOperator

要求 Bot 在这个群里的权限为 管理员或群主, 否则抛出异常 PermissionDeniedException

fun Group.checkBotPermissionOperator(lazyMessage: () -> String = { "Permission denied: required ${MemberPermission.ADMINISTRATOR} or ${MemberPermission.OWNER}, got actual $botPermission for $bot in group $id" }): 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>

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