package main

import (
	"flag"
	"github.com/goWxHook/goWxHook/api"
	WXHook "github.com/goWxHook/goWxHook/core"
	"log/slog"
	"time"
)

var (
	webPort int
	debug   bool
)

func init() {
	flag.IntVar(&webPort, "port", 19088, "web端口")
	flag.BoolVar(&debug, "debug", false, "debug模式")
	flag.Parse()
}

//	@title			WxHelper API
//	@version		3.9.10.19
//	@description	微信hook接口文档
func main() {
	err := WXHook.WxModuleInit(webPort, debug)
	if err != nil {
		panic(err)
	}
	wxApi := WXHook.WxApi{
		// 消息10秒无应答就超时
		TimeOut: 10, // 上传大文件时记得手动拉长超时
	}

	// 启动web服务
	go func() {
		_ = api.NewWebApi(&wxApi, webPort).StartWebApi()
	}()

	// 注入微信
	uinfo, err := wxApi.InjectWeChat()
	if err != nil {
		panic(err)
	}
	// 登录完成
	slog.Info("登录完成", "微信号", uinfo.Wxid, "昵称", uinfo.Nickname, "用户目录", uinfo.WxUserDir)
	// 保活检测
	for wxApi.Ping() == nil {
		time.Sleep(5 * time.Second)
	}
}
