commit
1b926f3ee4
37
bot.go
37
bot.go
@ -29,6 +29,7 @@ type Bot struct {
|
|||||||
Storage *Storage
|
Storage *Storage
|
||||||
HotReloadStorage HotReloadStorage
|
HotReloadStorage HotReloadStorage
|
||||||
uuid string
|
uuid string
|
||||||
|
deviceId string // 设备Id
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alive 判断当前用户是否正常在线
|
// Alive 判断当前用户是否正常在线
|
||||||
@ -44,12 +45,21 @@ func (b *Bot) Alive() bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetDeviceId
|
||||||
|
// @description: 设置设备Id
|
||||||
|
// @receiver b
|
||||||
|
// @param deviceId
|
||||||
|
func (b *Bot) SetDeviceId(deviceId string) {
|
||||||
|
b.deviceId = deviceId
|
||||||
|
}
|
||||||
|
|
||||||
// GetCurrentUser 获取当前的用户
|
// GetCurrentUser 获取当前的用户
|
||||||
// self, err := bot.GetCurrentUser()
|
//
|
||||||
// if err != nil {
|
// self, err := bot.GetCurrentUser()
|
||||||
// return
|
// if err != nil {
|
||||||
// }
|
// return
|
||||||
// fmt.Println(self.NickName)
|
// }
|
||||||
|
// fmt.Println(self.NickName)
|
||||||
func (b *Bot) GetCurrentUser() (*Self, error) {
|
func (b *Bot) GetCurrentUser() (*Self, error) {
|
||||||
if b.self == nil {
|
if b.self == nil {
|
||||||
return nil, errors.New("user not login")
|
return nil, errors.New("user not login")
|
||||||
@ -59,9 +69,10 @@ func (b *Bot) GetCurrentUser() (*Self, error) {
|
|||||||
|
|
||||||
// HotLogin 热登录,可实现重复登录,
|
// HotLogin 热登录,可实现重复登录,
|
||||||
// retry设置为true可在热登录失效后进行普通登录行为
|
// retry设置为true可在热登录失效后进行普通登录行为
|
||||||
// Storage := NewJsonFileHotReloadStorage("Storage.json")
|
//
|
||||||
// err := bot.HotLogin(Storage, true)
|
// Storage := NewJsonFileHotReloadStorage("Storage.json")
|
||||||
// fmt.Println(err)
|
// err := bot.HotLogin(Storage, true)
|
||||||
|
// fmt.Println(err)
|
||||||
func (b *Bot) HotLogin(storage HotReloadStorage, retry ...bool) error {
|
func (b *Bot) HotLogin(storage HotReloadStorage, retry ...bool) error {
|
||||||
b.isHot = true
|
b.isHot = true
|
||||||
b.HotReloadStorage = storage
|
b.HotReloadStorage = storage
|
||||||
@ -172,12 +183,17 @@ func (b *Bot) HandleLogin(data []byte) error {
|
|||||||
// 将LoginInfo存到storage里面
|
// 将LoginInfo存到storage里面
|
||||||
b.Storage.LoginInfo = info
|
b.Storage.LoginInfo = info
|
||||||
|
|
||||||
|
// 处理设备Id
|
||||||
|
if b.deviceId == "" {
|
||||||
|
b.deviceId = GetRandomDeviceId()
|
||||||
|
}
|
||||||
|
|
||||||
// 构建BaseRequest
|
// 构建BaseRequest
|
||||||
request := &BaseRequest{
|
request := &BaseRequest{
|
||||||
Uin: info.WxUin,
|
Uin: info.WxUin,
|
||||||
Sid: info.WxSid,
|
Sid: info.WxSid,
|
||||||
Skey: info.SKey,
|
Skey: info.SKey,
|
||||||
DeviceID: GetRandomDeviceId(),
|
DeviceID: b.deviceId,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将BaseRequest存到storage里面方便后续调用
|
// 将BaseRequest存到storage里面方便后续调用
|
||||||
@ -374,7 +390,8 @@ func NewBot() *Bot {
|
|||||||
|
|
||||||
// DefaultBot 默认的Bot的构造方法,
|
// DefaultBot 默认的Bot的构造方法,
|
||||||
// mode不传入默认为 openwechat.Desktop,详情见mode
|
// mode不传入默认为 openwechat.Desktop,详情见mode
|
||||||
// bot := openwechat.DefaultBot(openwechat.Desktop)
|
//
|
||||||
|
// bot := openwechat.DefaultBot(openwechat.Desktop)
|
||||||
func DefaultBot(modes ...Mode) *Bot {
|
func DefaultBot(modes ...Mode) *Bot {
|
||||||
bot := NewBot()
|
bot := NewBot()
|
||||||
if len(modes) > 0 {
|
if len(modes) > 0 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user