Add logout command

This commit is contained in:
bodqhrohro 2019-12-05 01:10:08 +02:00
parent c22008d991
commit eeba07eeb0

View file

@ -1,15 +1,20 @@
package telegram package telegram
import ( import (
"strconv"
"strings" "strings"
"dev.narayana.im/narayana/telegabber/xmpp/gateway"
log "github.com/sirupsen/logrus"
) )
const notEnoughArguments string = "Not enough arguments" const notEnoughArguments string = "Not enough arguments"
const telegramNotInitialized string = "Telegram connection is not initialized yet" const telegramNotInitialized string = "Telegram connection is not initialized yet"
var transportCommands = map[string]command{ var transportCommands = map[string]command{
"login": command{"phone", "sign in"}, "login": command{"phone", "sign in"},
//"logout": command{"", "sign out"}, "logout": command{"", "sign out"},
"code": command{"", "check one-time code"}, "code": command{"", "check one-time code"},
"password": command{"", "check 2fa password"}, "password": command{"", "check 2fa password"},
//"setusername": command{"", "update @username"}, //"setusername": command{"", "update @username"},
@ -120,14 +125,34 @@ func (c *Client) ProcessTransportCommand(cmdline string) string {
} }
switch cmd { switch cmd {
// sign in
case "login": case "login":
c.authorizer.PhoneNumber <- args[0] c.authorizer.PhoneNumber <- args[0]
c.Session.Login = args[0] c.Session.Login = args[0]
// check auth code
case "code": case "code":
c.authorizer.Code <- args[0] c.authorizer.Code <- args[0]
// check auth password
case "password": case "password":
c.authorizer.Password <- args[0] c.authorizer.Password <- args[0]
} }
// sign out
case "logout":
_, err := c.client.LogOut()
if err != nil {
log.Errorf("Logout error: %v", err)
}
for id := range c.cache.chats {
gateway.SendPresence(
c.xmpp,
c.jid,
gateway.SPFrom(strconv.FormatInt(id, 10)),
gateway.SPType("unsubscribed"),
)
}
c.Session.Login = ""
case "help": case "help":
return helpString(helpTypeTransport) return helpString(helpTypeTransport)
} }