add save game
This commit is contained in:
35
bot.go
35
bot.go
@@ -91,7 +91,8 @@ func (b *Bot) BotHandlers() {
|
||||
b.bot.Handle("/help", botHelp)
|
||||
|
||||
b.bot.Handle("/version", botVersion)
|
||||
b.bot.Handle("/save", botSave)
|
||||
b.bot.Handle("/save_config", botSaveConfig)
|
||||
b.bot.Handle("/save_game", botSaveGame)
|
||||
|
||||
b.bot.Handle("/reset", botReset)
|
||||
b.bot.Handle("/ready", botReady)
|
||||
@@ -162,6 +163,8 @@ func botHelp(m *tb.Message) {
|
||||
msg = fmt.Sprintf("%s/lorries - lorries graph\r\n", msg)
|
||||
msg = fmt.Sprintf("%s/ships - ships graph\r\n", msg)
|
||||
msg = fmt.Sprintf("%s/version - version\r\n", msg)
|
||||
msg = fmt.Sprintf("%s/save_config - save configuration\r\n", msg)
|
||||
msg = fmt.Sprintf("%s/save_game - save game\r\n", msg)
|
||||
msg = fmt.Sprintf("%s/help - this\r\n", msg)
|
||||
|
||||
bot.SendChat(m.Chat.ID, msg)
|
||||
@@ -320,7 +323,7 @@ func botActuallyDelete(m *tb.Message) {
|
||||
func botCompanies(m *tb.Message) {
|
||||
str := "Companies :"
|
||||
for k, v := range srv.Status.Companies {
|
||||
str = str + "\r\n" + fmt.Sprintf(" - %s (%d - %t)", v.Name, k, v.Protected)
|
||||
str = str + "\r\n" + fmt.Sprintf(" - %s (id:%d - protected:%t)", v.Name, k, v.Protected)
|
||||
}
|
||||
bot.SendChat(m.Chat.ID, str)
|
||||
}
|
||||
@@ -394,6 +397,7 @@ func botActuallyReset(m *tb.Message) {
|
||||
cc.Online = false
|
||||
cc.TimeLeft = 0
|
||||
}
|
||||
cfg.Clients = make(map[int]*ClientConfig)
|
||||
bot.SendChat(m.Chat.ID, "Game resetted.")
|
||||
}
|
||||
delete(botActionMap, ref)
|
||||
@@ -636,13 +640,13 @@ func botVersion(m *tb.Message) {
|
||||
return
|
||||
}
|
||||
|
||||
func botSave(m *tb.Message) {
|
||||
func botSaveConfig(m *tb.Message) {
|
||||
if m.Sender.ID != int(cfg.Telegram.AdminID) {
|
||||
bot.SendChat(m.Chat.ID, "Only the admin can use this command.")
|
||||
return
|
||||
}
|
||||
|
||||
r := regexp.MustCompile("^\\/save (?P<Filename>[a-zA-Z0-9._\\/]+)")
|
||||
r := regexp.MustCompile("^\\/save_config (?P<Filename>[a-zA-Z0-9._\\/]+)")
|
||||
|
||||
if !r.MatchString(m.Text) {
|
||||
bot.SendChat(m.Chat.ID, "Wrong usage.")
|
||||
@@ -661,6 +665,29 @@ func botSave(m *tb.Message) {
|
||||
return
|
||||
}
|
||||
|
||||
func botSaveGame(m *tb.Message) {
|
||||
if m.Sender.ID != int(cfg.Telegram.AdminID) {
|
||||
bot.SendChat(m.Chat.ID, "Only the admin can use this command.")
|
||||
return
|
||||
}
|
||||
|
||||
r := regexp.MustCompile("^\\/savge (?P<Number>[0-9]+)")
|
||||
|
||||
if !r.MatchString(m.Text) {
|
||||
bot.SendChat(m.Chat.ID, "Wrong usage.")
|
||||
return
|
||||
}
|
||||
|
||||
px := PacketAdminRCon{
|
||||
Packet: Packet{PType: AdminPacketAdminRCon},
|
||||
Command: fmt.Sprintf("save %d", r.ReplaceAllString(m.Text, "${Number}")),
|
||||
}
|
||||
|
||||
srv.Send(px.Bytes())
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func botTransfer(m *tb.Message) {
|
||||
r := regexp.MustCompile("^\\/transfer @(?P<Username>[a-zA-Z0-9]+) (?P<Duration>[a-z0-9]+)")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user