package tg import ( "fmt" "github.com/NicoNex/echotron/v3" "github.com/davecgh/go-spew/spew" ) // Help Выводит в чат сообщение с основными командами бота. func Help(cmd *echotron.Update) (bool, error) { help := "```\n" help += fmt.Sprintf("%shelp | %sпомощь - список команд", Config.Csign, Config.Csign) help += fmt.Sprintf("%sanek | %sанек | %sанекдот - рандомный анекдот с anekdot.ru", Config.Csign, Config.Csign, Config.Csign) help += fmt.Sprintf("%sbuni - рандомный стрип hapi buni", Config.Csign) help += fmt.Sprintf("%sbunny | %srabbit | %sкролик - кролик", Config.Csign, Config.Csign, Config.Csign) help += fmt.Sprintf("%scat | %sкис - кошечка", Config.Csign, Config.Csign) help += fmt.Sprintf("%scoin | %sмонетка - подбросить монетку - орёл или решка?", Config.Csign, Config.Csign) help += fmt.Sprintf("%sdig | %sкопать - заняться археологией", Config.Csign, Config.Csign) help += fmt.Sprintf("%sdrink | %sпраздник - какой сегодня праздник?", Config.Csign, Config.Csign) help += fmt.Sprintf("%sfish | %sрыба | %sрыбка - порыбачить", Config.Csign, Config.Csign, Config.Csign) help += fmt.Sprintf("%sfishing | %sрыбалка - порыбачить", Config.Csign, Config.Csign) help += fmt.Sprintf("%sf | %sф - рандомная фраза из сборника цитат fortune_mod", Config.Csign, Config.Csign) help += fmt.Sprintf("%sfortune | %sфортунка - рандомная фраза из сборника цитат fortune_mod", Config.Csign, Config.Csign) help += fmt.Sprintf("%sfox | %sлис - лисичка", Config.Csign, Config.Csign) help += fmt.Sprintf("%sfriday | %sпятница - а не пятница ли сегодня?", Config.Csign, Config.Csign) help += fmt.Sprintf("%sfrog | %sлягушка - лягушка", Config.Csign, Config.Csign) help += fmt.Sprintf("%shorse | %sлошадка - лошадка", Config.Csign, Config.Csign) help += fmt.Sprintf("%slat | %sлат - сгенерить фразу из крылатых латинских выражений", Config.Csign, Config.Csign) help += fmt.Sprintf("%smonkeyuser - рандомный стрип MonkeyUser", Config.Csign) help += fmt.Sprintf("%sowl | %sсова | %sсыч - сова", Config.Csign, Config.Csign, Config.Csign) help += fmt.Sprintf("%sproverb | %sпословица - рандомная русская пословица", Config.Csign, Config.Csign) help += fmt.Sprintf("%sping | %sпинг - попинговать бота", Config.Csign, Config.Csign) help += fmt.Sprintf("%sroll | %sdice | %sкости - бросить кости", Config.Csign, Config.Csign, Config.Csign) help += fmt.Sprintf("%ssnail | %sулитка - улитка", Config.Csign, Config.Csign) help += fmt.Sprintf("%sver | %sversion | %sверсия - что-то про версию ПО", Config.Csign, Config.Csign, Config.Csign) help += fmt.Sprintf("%sw <город> | %sп <город> - погода в указанном городе", Config.Csign, Config.Csign) help += fmt.Sprintf("%sweather <город> - погода в указанном городе", Config.Csign) help += fmt.Sprintf("%sпогода <город> - погода в указанном городе", Config.Csign) help += fmt.Sprintf("%sпогодка <город> - погода в указанном городе", Config.Csign) help += fmt.Sprintf("%sпогадка <город> - погода в указанном городе", Config.Csign) help += fmt.Sprintf("%sxkcd - рандомный стрип с сайта xkcd.ru", Config.Csign) help += fmt.Sprintf("%skarma фраза | %sкарма фраза - посмотреть карму фразы", Config.Csign, Config.Csign) help += "```\n" help += "Но на самом деле я бот больше для общения, чем для исполнения команд.\n" help += "Поговоришь со мной?" resp, err := tg.SendMessage( help, cmd.Message.Chat.ID, &echotron.MessageOptions{ParseMode: "MarkdownV2"}, ) if err != nil || !resp.Ok { // TODO: поддержать миграцию группы в супергруппу, поддержать вариант, когда бот замьючен. // Красиво оформить ошибку, с полями итд, как tracedump, только ошибка. // N.B. тут может быть сообщение о том, что группа превратилась в супергруппу, или что бот не имеет прав писать // сообщения в чятик. Это надо бы отслеживать и хэндлить. return true, fmt.Errorf( "unable to send message to telegram api: %w\nResponse dump: %s", err, spew.Sdump(resp), ) } return true, nil } /* vim: set ft=go noet ai ts=4 sw=4 sts=4: */