群 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 的可选值通常有:
alltalkativeperformerlegendstrong_newbieemotion
设置匿名聊天
可以通过 setAnonymous(Boolean) 来设置是否允许匿名聊天, true 为开启。
获取 OneBotGroup
OneBotGroup 主要来自 OneBotBot 获取或与群相关的事件。
来自Bot
使用 OneBotBot 的 GroupRelation 获取群列表或寻找某个指定的群。
前往 OneBotBot 了解更多。
来自事件
大多数跟群相关的事件中都可以直接获取到 OneBotGroup。 通常来讲,如果事件主体与群相关,那么就是 content, 如果侧面相关(例如某个群成员事件,这里群成员才是主体), 那么通常是 source 或 group。