好友 OneBotFriend
OneBotFriend
实现 Contact
, OneBotStrangerAware
和其他一些功能接口(后续 "更多能力" 中会介绍), 用于表示一个 OneBot11 协议中的 好友。
Contact
OneBotFriend
实现来自 Contact
定义的抽象属性或函数。
- id
QQ号。
- avatar
成员QQ头像。
- name
用户名。
SendSupport
OneBotFriend
拥有发送消息的能力。 使用 send
发送纯文本、消息或转发事件消息体。
val friend: OneBotFriend = ...
friend.send("text")
friend.send("text".toText() + Face(123.ID))
friend.send(messageContent)
OneBotFriend friend = ...;
friend.sendAsync("text");
friend.sendAsync(
Messages.builder()
.add("text")
.add(new Face(Identifies.of(123)))
.build()
);
friend.sendAsync(messageContent);
OneBotFriend friend = ...;
friend.sendBlocking("text");
friend.sendBlocking(
Messages.builder()
.add("text")
.add(new Face(Identifies.of(123)))
.build()
);
friend.sendBlocking(messageContent);
OneBotFriend friend = ...;
friend.sendReserve("text")
.transform(SuspendReserves.mono())
.subscribe();
friend.sendReserve(
Messages.builder()
.add("text")
.add(new Face(Identifies.of(123)))
.build()
)
.transform(SuspendReserves.mono())
.subscribe();
friend.sendReserve(messageContent)
.transform(SuspendReserves.mono())
.subscribe();
OneBotStrangerAware
OneBotFriend
实现 OneBotStrangerAware
, 可以通过 toStranger
查询并得到一个对应的 OneBotStranger
类型。
val friend: OneBotFriend = ...
val stranger = friend.toStranger()
OneBotFriend friend = ...;
friend.toStrangerAsync()
.thenAccept(stranger -> {
// ...
});
OneBotFriend friend = ...;
var stranger = friend.toStrangerBlocking();
OneBotFriend friend = ...;
friend.toStrangerReserve()
.transform(SuspendReserves.mono())
.subscribe(stranger -> {
// ...
});
更多能力
SendLinkSupport
OneBotFriend
实现 SendLinkSupport
接口, 支持使用 sendLike(Int)
来点赞用户。
参数代表次数,一般来说一人一天最多共计10次赞, 但是代码内无校验,交给OneBot服务端处理。
val friend: OneBotFriend = ...
friend.sendLike(5)
OneBotFriend friend = ...;
friend.sendLinkAsync(5);
OneBotFriend friend = ...;
friend.sendLinkBlocking(5);
OneBotFriend friend = ...;
friend.sendLinkReserve(5)
.transform(SuspendReserves.mono())
.subscribe();
获取 OneBotFriend
好友 OneBotFriend
通常来自 OneBotBot 或与好友相关的事件。
来自事件
大多数跟好友相关的事件中都可以直接获取到 OneBotFriend
。 通常来讲,如果事件主体与好友相关,那么就是 content
, 如果侧面相关,例如某个好友消息事件中, 消息才是重点,而好友则为 author
。
Last modified: 15 November 2024