因为自己的需要,写了一个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是在同一台机器的话,一般也不会断线)