Первый прототип с основными возможностями

This commit is contained in:
2024-07-31 07:58:22 +03:00
parent 423cff473f
commit cf036565c4
41 changed files with 6969 additions and 2 deletions

45
handlers.go Normal file
View File

@@ -0,0 +1,45 @@
package main
import (
"context"
"fmt"
"net/url"
"code.gurenya.net/carlsmei/muninn-aio/services"
"github.com/go-telegram/bot"
"github.com/go-telegram/bot/models"
)
func generateLinkHandler(ctx context.Context, b *bot.Bot, update *models.Update) {
user, err := services.GetOrCreateUser(ctx, update.Message.From.ID)
if err != nil {
panic(err)
}
link, err := services.CreateLink(ctx, user, update.Message.Text, "")
if err != nil {
panic(err)
}
url, err := url.Parse("http://localhost:3000")
url.Path = link.Key
if err != nil {
panic(err)
}
b.SendMessage(ctx, &bot.SendMessageParams{
ChatID: update.Message.Chat.ID,
Text: fmt.Sprintf("Ваша короткая ссылка готова - %s", url.String()),
ParseMode: models.ParseModeHTML,
})
}
func startHandler(ctx context.Context, b *bot.Bot, update *models.Update) {
b.SendMessage(ctx, &bot.SendMessageParams{
ChatID: update.Message.Chat.ID,
Text: fmt.Sprintf("Привет! Я Muninn, бот для укорачивания ссылок.\n\nВ данный момент у меня нет особых возможностей, но в скором времени что-нибудь да появится.\n\nЭто быстренький прототип написанный за ночь, в оригинальной версии сервис делится на части и состоит из разных приложений взаимодействующих между собой :/\n\nVersion: %s\nRepository: https://code.gurenya.net/carlsmei/muninn-aio", Version),
})
}