Comments (14)
如果不手动传入sig,SigInfo
会在登录时自动初始化,待登录完成之后可以通过QQClient
的Sig()
方法获取SigInfo
from lagrangego.
我使用如下代码尝试进行初次登录:
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.
将 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.
你是不是用的昨天的提交,那个版本太新和sign对不上,你再pull一下代码,把appInfo := auth.AppList["linux"]
改成appInfo := auth.AppList["linux"]["3.2.10-25765"]
from lagrangego.
不好意思,AppList这应该是3.1.2-13107不是3.2.10-25765
from lagrangego.
添加后确实能够成功登录了,但是在生成 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.
你这个登录流程不对,fetchqrcode和login不可以一起用,login方法里面自带了二维码登录,把fetchqrcode删掉试试
from lagrangego.
在main.go也有登录示例,可以参考一下
from lagrangego.
你这个登录流程不对,fetchqrcode和login不可以一起用,login方法里面自带了二维码登录,把fetchqrcode删掉试试
二维码生成是在哪一步进行的?
from lagrangego.
我在文档的 main.go 里只看到了使用 "qrcode.png"
的地方,但是没有看到在什么时候生成这个二维码。它是只需要在初次使用的时候生成,还是在 sig.bin 失效或不存在的时候生成?生成的二维码需要保留吗?
from lagrangego.
login里面会自动生成二维码,扫完码之后就不用保留二维码了,在siginfo有效的情况下会自动使用快速登录,无需扫码
from lagrangego.
https://lagrangedev.github.io/LagrangeGo/
文档里都有写的
from lagrangego.
添加后确实能够成功登录了,但是在生成 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.
添加后确实能够成功登录了,但是在生成 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)
- 目前只能扫码嘛 后续是不是无望密码登录了 HOT 4
- [Bug] GroupMemberLeaveEvent 的 OperatorUid 解析错误 HOT 2
- 关于许可证问题及其解决办法 HOT 6
- 代码能不能加个注释啥的 HOT 7
- 优先将消息实现IMessage接口? HOT 1
- 如何使用大佬 我不会对接go-cqhttp HOT 9
- 这是新开一个协议库? HOT 3
- 不支持“扩展API-上传群文件”? HOT 7
- 使用Windows 9.9.12-25493版本登录提示低版本了 HOT 1
- 协议登录后能支持扫描二维码吗 HOT 3
- 登录之后获取Cookie HOT 4
- [bug] LagrangeGo解析的图片,语音等媒体文件链接的rkey不正确
- 大佬, 为什么群聊消息好像没发送出去?? HOT 3
- 禁止登录 HOT 9
- 应该使用什么版本的qq HOT 16
- 新增API 修复BUG HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lagrangego.