群成员 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
。