群成员 OneBotMember
OneBotMember
实现 Member
, OneBotStrangerAware
以及其他一些功能接口(后续 "更多能力" 中会介绍), 用于表示一个 OneBot11 协议中的 群成员。
Member
OneBotMember
实现来自 Member
定义的抽象属性或函数。
- id
QQ号。
- avatar
成员QQ头像。
- name
用户名。
- nick
在群内的昵称, 一些地方(比如协议中)也会称其为
card
。
SendSupport
OneBotMember
拥有发送消息的能力。 使用 send
发送纯文本、消息或转发事件消息体。
DeleteSupport
OneBotMember
实现接口 DeleteSupport
,代表其支持"删除"能力。 在这里,删除即表示将这个成员踢出群。
可以注意到, delete
支持可变参数 options
。 在 OneBotGroup
中,它支持如下的可选属性:
- StandardDeleteOption.IGNORE_ON_FAILURE
忽略调用过程中可能会产生的任何异常。
- OneBotMemberDeleteOption.*
OneBotMemberDeleteOption
的所有子类型。- RejectRequest
拒绝此人的加群请求,也就是踢出后将其屏蔽。
OneBotStrangerAware
OneBotMember
实现 OneBotStrangerAware
, 可以通过 toStranger
查询并得到一个对应的 OneBotStranger
类型。
更多能力
设置昵称
可以通过 setNick(String)
设置此成员在群内的昵称。
设置管理员
可以通过 setAdmin(Boolean)
设置此成员为管理或取消管理。
参数为 true
设置为管理, false
取消管理
获取原始类型
有些时候可能需要获取OneBot11协议中的 Member
类型的内容。 OneBotMember
的实现并不唯一,因此并不一定是来自API所获取的。
可以通过 getSourceMemberInfo
得到 GetGroupMemberInfoApi
接口的请求结果。
禁言
可以使用 ban(...)
或 unban()
对成员禁言或解除禁言。
通常来讲禁言时间应该大于等于1分钟、小于30天。 但是代码内未作校验,这交给了OneBot服务端处理。
设置头衔
可以通过 setSpecialTitle(String?)
设置此成员在群内的特殊头衔。
获取 OneBotMember
群成员 OneBotMember
通常来自 群 OneBotGroup 或与群成员相关的事件。
来自事件
大多数跟群成员相关的事件中都可以直接获取到 OneBotMember
。 通常来讲,如果事件主体与群成员相关,那么就是 content
, 如果侧面相关,例如某个群成员消息事件中, 消息才是重点,而群成员则为 author
。