MiraiForum

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

    Go语言的SDK

    HTTP API和第三方SDK
    go http-api
    1
    1
    299
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      CuteReimu 最后由 编辑

      因为自己的需要,写了一个Go的SDK:https://github.com/CuteReimu/mirai-sdk-http ,欢迎自取
      相较于直接使用mirai-core和mirai-console而言,mirai-api-http的好处是,在你更新代码时,你无需重新登录QQ,减少登录次数在最近非常容易风控的环境下是一个非常好的优点。
      目前实现了常用的 (我可能会用到的) 功能,后续慢慢补充吧。

      用法也非常简单:

      package main
      
      import (
          . "github.com/CuteReimu/mirai-sdk-http"
          "github.com/CuteReimu/mirai-sdk-http/utils"
          "github.com/sirupsen/logrus"
      )
      
      func main() {
          logrus.SetLevel(logrus.DebugLevel)
          utils.InitLogger("./logs", utils.LogDebugLevel, utils.LogWithStack)
          log := utils.GetModuleLogger("robot")
          b, _ := Connect("localhost", 8080, WsChannelAll, "ABCDEFGHIJK", 123456789, false)
          b.ListenGroupMessage(func(message *GroupMessage) bool {
              _, err := b.SendGroupMessage(message.Sender.Group.Id, 0,
                  append(MessageChain(&Plain{Text: "你说了:\n"}), message.MessageChain[1:]...),
              )
              if err != nil {
                  log.Println("发送失败: ", err)
              }
              return true
          })
          select {}
      }
      

      断线重连还没做,后续会做 (不过如果机器人和mirai是在同一台机器的话,一般也不会断线)

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • First post
        Last post
      Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact