MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    已解决 【求助】消息发送失败时,从代码上如何得知?

    开发交流
    2
    3
    317
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      CuteReimu 最后由 编辑

      例如:

      fun handle(e: GroupMessageEvent) {
          e.group.sendMessage(groupMsg)
      }
      

      但是 sendMessage 的定义是这样

      public interface Group {
          /**
           * 向这个对象发送消息.
           *
           * @throws EventCancelledException 当发送消息事件被取消时抛出
           * @throws BotIsBeingMutedException 发送群消息时若 [Bot] 被禁言抛出
           * @throws MessageTooLargeException 当消息过长时抛出
           * @throws IllegalArgumentException 当消息内容为空时抛出
           *
           * @return 消息回执. 可进行撤回 ([MessageReceipt.recall])
           */
          public override suspend fun sendMessage(message: Message): MessageReceipt<Group>
      }
      

      在被风控、或者协议被改了等原因导致发送失败的时候,并不会抛出异常。在这种情况下,我应该如何得知发送失败了?(例如我希望打印一个错误日志)

      1 条回复 最后回复 回复 引用 0
      • Topic has been marked as a question  C CuteReimu 
      • Cdm2883
        Cdm2883 最后由 编辑

        可以参考MrXiaoM的mirai-console-dev-qrlogin插件

        判断消息发送失败的代码在这里src/main/kotlin/QRLogin.kt#L63

        C 1 条回复 最后回复 回复 引用 1
        • C
          CuteReimu @Cdm2883 最后由 编辑

          @Cdm2883 在 【求助】消息发送失败时,从代码上如何得知? 中说:

          可以参考MrXiaoM的mirai-console-dev-qrlogin插件

          判断消息发送失败的代码在这里src/main/kotlin/QRLogin.kt#L63

          照这样的话,直接拿 sendMessage 函数返回的 MessageReceipt 可以不?例如:

          suspend fun handle(e: GroupMessageEvent) {
              val receipt: MessageReceipt<Group> = e.group.sendMessage(groupMsg)
              val ids = receipt.source.ids
              if (ids.isEmpty() || ids.any { it < 0 }) {
                  logger.warning("群消息发送失败,你的账号可能已被风控")
              }
          }
          
          1 条回复 最后回复 回复 引用 0
          • Topic has been marked as solved  C CuteReimu 
          • 1 / 1
          • First post
            Last post
          Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact