Первый прототип с основными возможностями
This commit is contained in:
45
handlers.go
Normal file
45
handlers.go
Normal 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),
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user