From eeee9a72e39ef31fa10ff1ac0ed026d9dcd92bb4 Mon Sep 17 00:00:00 2001 From: Vladimir Hodakov Date: Thu, 29 Nov 2018 21:17:51 +0400 Subject: [PATCH] Add /help, fix Telegram multi-threaded start --- domains/commands/v1/exported.go | 1 + domains/commands/v1/help.go | 24 ++++++++++++++++++++++++ domains/commands/v1/start.go | 11 ++++++++++- internal/telegram/exported.go | 4 +++- 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 domains/commands/v1/help.go diff --git a/domains/commands/v1/exported.go b/domains/commands/v1/exported.go index 68ed697..4dd71b5 100644 --- a/domains/commands/v1/exported.go +++ b/domains/commands/v1/exported.go @@ -20,6 +20,7 @@ func New(cc *context.Context) { log = c.Logger.With().Str("domain", "commands").Int("version", 1).Logger() router.RegisterPrivateCommand("start", StartCommand) + router.RegisterPrivateCommand("help", HelpCommand) log.Info().Msg("Domain «commands» initialized") } diff --git a/domains/commands/v1/help.go b/domains/commands/v1/help.go new file mode 100644 index 0000000..b20de9c --- /dev/null +++ b/domains/commands/v1/help.go @@ -0,0 +1,24 @@ +// Fantasy World Zookeeper Bot +// Copyright (c) 2018 Vladimir "fat0troll" Hodakov + +package commandsv1 + +import ( + "gitlab.com/toby3d/telegram" + itelegram "lab.wtfteam.pro/fat0troll/fw_zookeeper/internal/telegram" +) + +// HelpCommand responds to /help message +func HelpCommand(update *telegram.Update) { + message := "Если ты нашёл агрессивную толпу животных и тебе нужны союзники — нажми на " + message += "кнопку «Позвать друзей» и выбирай в качестве получателя этого бота. " + message += "Дожидаться прогрузки инлайна от @FWorldBot не нужно — просто нажми Enter." + message += "У тебя должно получиться отправленное сообщение вида:\n\n" + message += "```\n@FWorldBot fight_9MvTxeleKMtP\nили\n@FWorldBot join_fight_9MvTxeleKMtP```\n\n" + message += "Если же ты сам ищешь приключений — подпишись на канал " + message += "https://t.me/nightcreatures. Смотритель отправляет туда призывы на помощь " + message += "автоматически.\n\n" + message += "*Доброй охоты!*" + + itelegram.RespondWithMarkdown(update.Message.Chat.ID, message) +} diff --git a/domains/commands/v1/start.go b/domains/commands/v1/start.go index 93e17de..565ab7c 100644 --- a/domains/commands/v1/start.go +++ b/domains/commands/v1/start.go @@ -10,7 +10,16 @@ import ( // StartCommand responds to /start message func StartCommand(update *telegram.Update) { - message := "*Hello, hello, hello*" + message := "*Hello, hello, hello*\n\n" + message += "Смотритель Зоопарка приветствует тебя!\n" + message += "Каждую ночь с 22:00 по 8:00 по Москве на поверхность вылезают опасные твари. " + message += "Огры, буйволы, кабаны — сотни их. Я присматриваю за ними, по мере возможности.\n\n" + message += "Если ты нашёл агрессивную толпу животных и тебе нужны союзники — нажми на " + message += "кнопку «Позвать друзей» и выбирай в качестве получателя этого бота. " + message += "Если же ты сам ищешь приключений — подпишись на канал " + message += "https://t.me/nightcreatures. Смотритель отправляет туда призывы на помощь " + message += "автоматически.\n\n" + message += "*Доброй охоты!*" itelegram.RespondWithMarkdown(update.Message.Chat.ID, message) } diff --git a/internal/telegram/exported.go b/internal/telegram/exported.go index 1cc5cbf..dbe2432 100644 --- a/internal/telegram/exported.go +++ b/internal/telegram/exported.go @@ -23,5 +23,7 @@ func New(cc *context.Context) { log.Info().Msg("Starting Telegram instance") - StartBot() + go func() { + StartBot() + }() }