QGGroupRelation

QQ组件中与QQ群相关的操作。 QQ平台尚不提供机器人已加入群的完整列表,因此:

  • groups 始终为空。

  • ID查询将是一种“伪”操作,会直接将提供的 id 包装为一个 QGGroup 返回。 如果此ID不是真实存在的,则进行某些操作时(比如主动发送消息)将会抛出异常。

Author

ForteScarlet

Properties

Link copied to clipboard
open override val groups: Collectable<QGGroup>

无法获取列表,将始终得到空结果。

Functions

Link copied to clipboard
open suspend fun addMemberMute(groupId: ID, memberId: ID, expireAt: Instant)

增加指定成员的单独禁言。

Link copied to clipboard
open suspend fun addMemberMuteAtMilliseconds(groupId: ID, memberId: ID, expireAtMilliseconds: Long)

使用自 Unix epoch 起的毫秒数增加指定成员的单独禁言。

Link copied to clipboard
abstract suspend fun approveJoinRequest(groupId: ID, memberId: ID, joinRequestId: ID? = null, vararg options: AcceptOption)

通过 groupId 对应群中 memberId 的入群申请。

Link copied to clipboard
abstract suspend override fun group(id: ID): QGGroup?

使用 id 直接包装为一个伪 QGGroup, 不会校验其真实性。 如果此ID对应的群不是真实存在的, 则进行某些操作时(比如主动发送消息)将会抛出异常。

Link copied to clipboard
abstract suspend fun groupBotState(groupId: ID): GroupBotState

每次通过 API 查询机器人在 groupId 对应 QQ 群内的原始状态快照。 查询失败时透传平台或网络异常,不缓存查询结果。

Link copied to clipboard
open suspend override fun groupCount(): Int

无法得知已加入的群的总数,始终得到 -1。

Link copied to clipboard
abstract suspend fun groupInfo(groupId: ID): GroupInfo

每次通过 API 查询 groupId 对应的 QQ 群基本信息。 查询失败时透传平台或网络异常,不将不存在或无权限转换为空值。

Link copied to clipboard

拉取 groupId 对应群的入群申请列表的收集器。返回冷集合,收集时按平台游标分页请求并翻页。

Link copied to clipboard
abstract suspend fun muteSetting(groupId: ID): GroupMuteSetting

查询 groupId 对应群的禁言状态信息。

Link copied to clipboard
abstract suspend fun rejectJoinRequest(groupId: ID, memberId: ID, joinRequestId: ID? = null, vararg options: RejectOption)

拒绝 groupId 对应群中 memberId 的入群申请。

Link copied to clipboard
abstract suspend fun setMemberMutes(groupId: ID, changes: List<QGGroupMemberMuteChange>)

提交成员禁言变更请求。一次提交的数量应当在 1~20 项之内。

Link copied to clipboard
open suspend fun unmuteMember(groupId: ID, memberId: ID)

解除指定成员的单独禁言。

Link copied to clipboard
open suspend fun updateMemberMute(groupId: ID, memberId: ID, expireAt: Instant)

更新指定成员的单独禁言。

Link copied to clipboard
open suspend fun updateMemberMuteAtMilliseconds(groupId: ID, memberId: ID, expireAtMilliseconds: Long)

使用自 Unix epoch 起的毫秒数更新指定成员的单独禁言。

Inherited functions

Link copied to clipboard
suspend fun QGGroupRelation.addMemberMuteFor(groupId: ID, memberId: ID, duration: Duration, now: Instant = Clock.System.now())

为指定群的成员增加指定时长的禁言。

Link copied to clipboard
suspend fun QGGroupRelation.updateMemberMuteFor(groupId: ID, memberId: ID, duration: Duration, now: Instant = Clock.System.now())

更新指定群成员已有禁言的时长。