chirpnest/client.go
2019-05-30 13:56:35 +08:00

50 lines
1.1 KiB
Go

package main
import (
"log"
"strings"
)
func clientSendCWMsg(userID64 int64, s string) {
c := TGCommand{
Type: commandSendMsg,
Text: s,
FromUserID64: userID64,
ToChatID64: userID64ChtWrsBot,
}
MQTGCmdQueue <- c
}
func clientMsgMeAck(m *ChatWarsMessageMeAck) {
log.Printf("clientMsgMeAck\n")
if _, ok := clientsQueue[m.UserID64]; ok {
log.Printf("Client in clientsQueue\n")
t, err := getObjMsgDate(m.ObjID64)
logOnError(err, "clientMsgMe : getObjMsgDate")
if c, ok := clientsCW[m.UserID64]; ok {
if c.LastUpdate.Before(t) {
c.GuildID64 = m.GuildID64
c.State = m.State
c.LastUpdate = t
if cacheObjGuild[``].ObjID64 != m.GuildID64 && strings.Compare(c.Role, ``) == 0 {
clientSendCWMsg(m.UserID64, "/g_roles")
}
}
} else {
c := ChatWarsClient{
GuildID64: m.GuildID64,
State: m.State,
LastUpdate: t,
}
clientsCW[m.UserID64] = &c
if cacheObjGuild[``].ObjID64 != m.GuildID64 {
clientSendCWMsg(m.UserID64, "/g_roles")
} else {
clientSendCWMsg(m.UserID64, "/g_roles")
}
}
} else {
log.Printf("Client not in clientsQueue\n")
}
}