GithubHelp home page GithubHelp logo

Comments (14)

Redmomn avatar Redmomn commented on August 12, 2024

如果不手动传入sigSigInfo会在登录时自动初始化,待登录完成之后可以通过QQClientSig()方法获取SigInfo

from lagrangego.

WindowsSov8forUs avatar WindowsSov8forUs commented on August 12, 2024

我使用如下代码尝试进行初次登录:

func main() {
	appInfo := auth.AppList["linux"]

	deviceInfo := auth.NewDeviceInfo(rand.Int())

	qqclient := client.NewClient(
		uint32(qqId),
		signAddress,
		appInfo,
	)
	qqclient.UseDevice(deviceInfo)

	qqclient.GroupMessageEvent.Subscribe(func(client *client.QQClient, event *message.GroupMessage) {
		if event.ToString() == "lgrping" {
			_, err := client.SendGroupMessage(event.GroupCode, []message.IMessageElement{&message.TextElement{Content: "pong"}})
			if err != nil {
				fmt.Printf("SendGroupMessage failed: %v\n", err)
				return
			}
		}
	})

	qrcode, url, err := qqclient.FetchQRCodeDefault()
	if err != nil {
		fmt.Printf("FetchQRCodeDefault failed: %v\n", err)
		panic(err)
	}
	reader := bytes.NewReader(qrcode)

	image, format, err := image.Decode(reader)
	if err != nil {
		fmt.Printf("Decode QRCode failed: %v\n", err)
		panic(err)
	}
	fmt.Println("QRCode format:", format)
	fmt.Println("QRCode url:", url)

	file, err := os.Create("qrcode.png")
	if err != nil {
		fmt.Printf("Create QRCode file failed: %v\n", err)
		panic(err)
	}
	defer file.Close()

	err = png.Encode(file, image)
	if err != nil {
		fmt.Printf("Encode QRCode file failed: %v\n", err)
		panic(err)
	}

	err = qqclient.Login(password, "qrcode.png")
	if err != nil {
		fmt.Printf("Login failed: %v\n", err)
		panic(err)
	}
	defer qqclient.Release()

	sigInfo := qqclient.Sig()
	data, err := sigInfo.Marshal()
	if err != nil {
		fmt.Printf("Marshal SigInfo failed: %v\n", err)
		panic(err)
	}
	err = os.WriteFile("sig.bin", data, 0644)
	if err != nil {
		fmt.Printf("Write SigInfo file failed: %v\n", err)
		panic(err)
	}

	// setup the main stop channel
	mc := make(chan os.Signal, 2)
	signal.Notify(mc, os.Interrupt, syscall.SIGTERM)
	for {
		switch <-mc {
		case os.Interrupt, syscall.SIGTERM:
			return
		}
	}
}

在扫码登录后,一段时间无响应输出后出现如下错误:

Login failed: Packet timed out
panic: Packet timed out

goroutine 1 [running]:
main.main()
        F:/VS Code File/go-test/main.go:81 +0x719
exit status 2

这是什么情况?

from lagrangego.

WindowsSov8forUs avatar WindowsSov8forUs commented on August 12, 2024

password 置空重新尝试后出现了如下错误:

Login failed: login fail on oicq (0x2d): [禁止登录]>[登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈与我们联系。]
panic: login fail on oicq (0x2d): [禁止登录]>[登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈与我们联系。]

goroutine 1 [running]:
main.main()
        F:/VS Code File/go-test/main.go:76 +0x70d
exit status 2

尝试改用文档中镜像地址也没用

from lagrangego.

Redmomn avatar Redmomn commented on August 12, 2024

你是不是用的昨天的提交,那个版本太新和sign对不上,你再pull一下代码,把appInfo := auth.AppList["linux"]改成appInfo := auth.AppList["linux"]["3.2.10-25765"]

from lagrangego.

Redmomn avatar Redmomn commented on August 12, 2024

不好意思,AppList这应该是3.1.2-13107不是3.2.10-25765

from lagrangego.

WindowsSov8forUs avatar WindowsSov8forUs commented on August 12, 2024

添加后确实能够成功登录了,但是在生成 sig.bin 文件后,尝试读取该文件并通过 UseSig 使用来重复登录时,出现了如下错误:
(除添加使用 sig.bin 文件代码外其余代码没有进行更改)

FetchQRCodeDefault failed: Packet timed out
panic: Packet timed out

goroutine 1 [running]:
main.main()
        F:/VS Code File/go-test/main.go:68 +0xbb9
exit status 2

是我的什么步骤进行错了吗?

from lagrangego.

Redmomn avatar Redmomn commented on August 12, 2024

你这个登录流程不对,fetchqrcode和login不可以一起用,login方法里面自带了二维码登录,把fetchqrcode删掉试试

from lagrangego.

Redmomn avatar Redmomn commented on August 12, 2024

在main.go也有登录示例,可以参考一下

from lagrangego.

WindowsSov8forUs avatar WindowsSov8forUs commented on August 12, 2024

你这个登录流程不对,fetchqrcode和login不可以一起用,login方法里面自带了二维码登录,把fetchqrcode删掉试试

二维码生成是在哪一步进行的?

from lagrangego.

WindowsSov8forUs avatar WindowsSov8forUs commented on August 12, 2024

我在文档的 main.go 里只看到了使用 "qrcode.png" 的地方,但是没有看到在什么时候生成这个二维码。它是只需要在初次使用的时候生成,还是在 sig.bin 失效或不存在的时候生成?生成的二维码需要保留吗?

from lagrangego.

Redmomn avatar Redmomn commented on August 12, 2024

login里面会自动生成二维码,扫完码之后就不用保留二维码了,在siginfo有效的情况下会自动使用快速登录,无需扫码

from lagrangego.

Redmomn avatar Redmomn commented on August 12, 2024

https://lagrangedev.github.io/LagrangeGo/
文档里都有写的

from lagrangego.

2mf8 avatar 2mf8 commented on August 12, 2024

添加后确实能够成功登录了,但是在生成 sig.bin 文件后,尝试读取该文件并通过 UseSig 使用来重复登录时,出现了如下错误: (除添加使用 sig.bin 文件代码外其余代码没有进行更改)

FetchQRCodeDefault failed: Packet timed out
panic: Packet timed out

goroutine 1 [running]:
main.main()
        F:/VS Code File/go-test/main.go:68 +0xbb9
exit status 2

是我的什么步骤进行错了吗?

可以参看Go-Lagrange-Client

from lagrangego.

2mf8 avatar 2mf8 commented on August 12, 2024

添加后确实能够成功登录了,但是在生成 sig.bin 文件后,尝试读取该文件并通过 UseSig 使用来重复登录时,出现了如下错误: (除添加使用 sig.bin 文件代码外其余代码没有进行更改)

FetchQRCodeDefault failed: Packet timed out
panic: Packet timed out

goroutine 1 [running]:
main.main()
        F:/VS Code File/go-test/main.go:68 +0xbb9
exit status 2

是我的什么步骤进行错了吗?

可以参看Go-Lagrange-Client

https://github.com/2mf8/Go-Lagrange-Client

from lagrangego.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.