Simple Robot | OneBot v1.0.0 Help

好友 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: 26 July 2024