Init barebones Go Telegram bot with commands folder similar to the JS bot

This commit is contained in:
2025-05-28 12:08:44 +02:00
parent f5302c3dbf
commit 2c4ac42019
7 changed files with 124 additions and 1 deletions

29
commands/help.go Normal file
View File

@ -0,0 +1,29 @@
package commands
import (
"strings"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
type HelpCommand struct{}
func (h HelpCommand) Name() string {
return "help"
}
func (h HelpCommand) Help() string {
return "Shows available commands."
}
func (h HelpCommand) Execute(update tgbotapi.Update, bot *tgbotapi.BotAPI) {
var helpText strings.Builder
for _, cmd := range All() {
helpText.WriteString("/" + cmd.Name() + " - " + cmd.Help() + "\n")
}
msg := tgbotapi.NewMessage(update.Message.Chat.ID, helpText.String())
bot.Send(msg)
}
func init() {
Register(HelpCommand{})
}