ticket-pimp/telegram/handler/handle_folder.go

49 lines
912 B
Go

package handler
import (
"context"
"errors"
"strings"
"github.com/mr-linch/go-tg"
"github.com/mr-linch/go-tg/tgb"
)
func (h *Handler) NewFolderHandler(ctx context.Context, mu *tgb.MessageUpdate) error {
str := strings.Replace(mu.Text, "/folder", "", 1)
if str == "" {
return errors.New("empty command provided")
}
resp := h.cloud.CreateFolder(str)
if resp.ErrMessage != nil {
answer := errorAnswer(resp.ErrMessage.Error())
h.LogMessage(ctx, mu, answer)
return mu.Answer(answer).ParseMode(tg.HTML).DoVoid(ctx)
}
answer := tg.HTML.Text(
tg.HTML.Line(
"✨ Shiny folder",
tg.HTML.Link(resp.Folder.Title, resp.Folder.PrivateURL),
"has been created!",
),
)
h.LogMessage(ctx, mu, answer)
return mu.Answer(answer).
ParseMode(tg.HTML).
DoVoid(ctx)
}
func errorAnswer(errorMsg string) string {
return tg.HTML.Text(
tg.HTML.Line(
tg.HTML.Italic(errorMsg),
),
)
}