2020-04-18 19:32:33 +00:00
|
|
|
package commands
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"git.dragon-labs.de/alphyron/group_helper/cli"
|
|
|
|
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
|
|
|
|
"strings"
|
|
|
|
)
|
|
|
|
|
|
|
|
type helpCommand struct {
|
|
|
|
commandManager *cli.CommandManager
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewHelpCommand(commandManager *cli.CommandManager) cli.Command {
|
|
|
|
return &helpCommand{commandManager: commandManager}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) GetUsage() string {
|
|
|
|
return "/help"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) GetCommand() string {
|
|
|
|
return "/help"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) GetDescription() string {
|
|
|
|
return "Information about all commands"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) ExecuteCommand(bot *tgbotapi.BotAPI, update *tgbotapi.Update) (bool, error) {
|
|
|
|
var builder strings.Builder
|
|
|
|
|
|
|
|
builder.WriteString("All supported Commands:\n")
|
|
|
|
for _, cmd := range h.commandManager.Commands {
|
|
|
|
builder.WriteString(fmt.Sprintf("%s - %s\n", cmd.GetUsage(), cmd.GetDescription()))
|
|
|
|
}
|
|
|
|
|
|
|
|
msg := tgbotapi.NewMessage(update.Message.Chat.ID, builder.String())
|
|
|
|
msg.ParseMode = "Markdown"
|
|
|
|
|
|
|
|
_, err := bot.Send(msg)
|
|
|
|
|
2020-04-25 21:21:57 +00:00
|
|
|
return err == nil, nil
|
2020-04-18 19:32:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) AllowChatType(chat *tgbotapi.Chat) bool {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) AllowMember(member *tgbotapi.ChatMember) bool {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h helpCommand) AllowEveryMember() bool {
|
|
|
|
return true
|
|
|
|
}
|