群 OneBotGroup
OneBotGroup
实现 ChatGroup
和 DeleteSupport
, 用于表示一个 OneBot11 协议中的 群聊。
ChatGroup
OneBotGroup
实现来自 ChatGroup
定义的抽象属性或函数。
- id
群号。
- name
群名称。
- roles
群可用角色列表。此处将始终得到枚举类型
OneBotMemberRole
的元素列表。- members
获取群成员列表。
- member(...)
根据参数(例如ID)寻找指定的群成员。
- botAsMember()
将当前Bot作为在群中的成员。
- memberCount
成员数。
- maxMemberCount
最大成员数(群容量)。
SendSupport
OneBotGroup
拥有发送消息的能力。 使用 send
发送纯文本、消息或转发事件消息体。
DeleteSupport
OneBotGroup
实现接口 DeleteSupport
,代表其支持"删除"能力。 在这里,删除即表示使Bot离开/退出这个群。
可以注意到, delete
支持可变参数 options
。 在 OneBotGroup
中,它支持如下的可选属性:
- StandardDeleteOption.IGNORE_ON_FAILURE
忽略调用过程中可能会产生的任何异常。
- OneBotGroupDeleteOption.*
OneBotGroupDeleteOption
的所有子类型。- Dismiss
是否为解散群。如果bot为群主, 则需要提供此参数来使
delete
解散群, 否则无法解散或退出。
更多能力
全群禁言
可以通过 ban(Boolean)
来设置群名称。 通常需要bot拥有管理权限。
设置群名
可以通过 setName(String)
来设置群名称。 通常需要bot拥有管理权限。
设置bot群备注
可以通过 setBotGroupNick(String?)
来设置bot在群内的群备注。
设置管理员
可以通过 setAdmin(ID, Boolean)
来设置群内的管理。 通常需要bot拥有群主权限。
获取荣誉信息
可以通过 getHonorInfo(String)
和 getAllHonorInfo()
来获取群内的荣誉信息。
getHonorInfo
的参数 type
的可选值通常有:
all
talkative
performer
legend
strong_newbie
emotion
设置匿名聊天
可以通过 setAnonymous(Boolean)
来设置是否允许匿名聊天, true
为开启。
获取 OneBotGroup
OneBotGroup
主要来自 OneBotBot
获取或与群相关的事件。
来自Bot
使用 OneBotBot
的 GroupRelation
获取群列表或寻找某个指定的群。
前往 OneBotBot 了解更多。
来自事件
大多数跟群相关的事件中都可以直接获取到 OneBotGroup
。 通常来讲,如果事件主体与群相关,那么就是 content
, 如果侧面相关(例如某个群成员事件,这里群成员才是主体), 那么通常是 source
或 group
。