|
|
@ -159,8 +159,12 @@ func (c *Client) ProcessTransportCommand(cmdline string) string { |
|
|
|
cmd, args := parseCommand(cmdline) |
|
|
|
switch cmd { |
|
|
|
case "login", "code", "password": |
|
|
|
if cmd == "login" && c.Session.Login != "" { |
|
|
|
return "" |
|
|
|
if cmd == "login" { |
|
|
|
if c.Session.Login != "" { |
|
|
|
return "" |
|
|
|
} else if !c.Online() { |
|
|
|
c.Connect() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if len(args) < 1 { |
|
|
@ -184,15 +188,16 @@ func (c *Client) ProcessTransportCommand(cmdline string) string { |
|
|
|
} |
|
|
|
// sign out
|
|
|
|
case "logout": |
|
|
|
for id := range c.cache.chats { |
|
|
|
c.unsubscribe(id) |
|
|
|
} |
|
|
|
|
|
|
|
_, err := c.client.LogOut() |
|
|
|
if err != nil { |
|
|
|
c.forceClose() |
|
|
|
return errors.Wrap(err, "Logout error").Error() |
|
|
|
} |
|
|
|
|
|
|
|
for id := range c.cache.chats { |
|
|
|
c.unsubscribe(id) |
|
|
|
} |
|
|
|
|
|
|
|
c.Session.Login = "" |
|
|
|
// set @username
|
|
|
|
case "setusername": |
|
|
|