From a187feb9cc840a0c2ca3a6e4683c324de9d08196 Mon Sep 17 00:00:00 2001 From: Nicolas MASSE Date: Wed, 6 May 2020 13:09:43 +0200 Subject: [PATCH] include link validity in sharing message --- bot.go | 9 ++++++--- main.go | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/bot.go b/bot.go index a511d81..dd60a37 100644 --- a/bot.go +++ b/bot.go @@ -18,7 +18,10 @@ type PhotoBot struct { } type TelegramBackend struct { - TokenGenerator *TokenGenerator + TokenGenerator *TokenGenerator + GlobalTokenValidity int + PerAlbumTokenValidity int + WebPublicURL string ChatDB *ChatDB AuthorizedUsers map[string]bool @@ -283,7 +286,7 @@ func (bot *PhotoBot) handleShareCommand(message *tgbotapi.Message) { tokenData.Entitlement = "" token := bot.Telegram.TokenGenerator.NewToken(tokenData) url := fmt.Sprintf("%s/s/%s/%s/album/", bot.Telegram.WebPublicURL, url.PathEscape(message.From.UserName), url.PathEscape(token)) - bot.Telegram.replyWithMessage(message, bot.Telegram.Messages.SharedGlobal) + bot.Telegram.replyWithMessage(message, fmt.Sprintf(bot.Telegram.Messages.SharedGlobal, bot.Telegram.GlobalTokenValidity)) bot.Telegram.replyWithMessage(message, url) } else { // Album share @@ -291,7 +294,7 @@ func (bot *PhotoBot) handleShareCommand(message *tgbotapi.Message) { tokenData.Entitlement = albumName token := bot.Telegram.TokenGenerator.NewToken(tokenData) url := fmt.Sprintf("%s/s/%s/%s/album/%s/", bot.Telegram.WebPublicURL, url.PathEscape(message.From.UserName), url.PathEscape(token), url.PathEscape(albumName)) - bot.Telegram.replyWithMessage(message, fmt.Sprintf(bot.Telegram.Messages.SharedAlbum, albumName)) + bot.Telegram.replyWithMessage(message, fmt.Sprintf(bot.Telegram.Messages.SharedAlbum, albumName, bot.Telegram.PerAlbumTokenValidity)) bot.Telegram.replyWithMessage(message, url) } } diff --git a/main.go b/main.go index 15af711..25e1f50 100644 --- a/main.go +++ b/main.go @@ -41,8 +41,8 @@ func initConfig() { viper.SetDefault("Telegram.Messages.InfoNoAlbum", "There is no album started, yet.") viper.SetDefault("Telegram.Messages.NoUsername", "You need to set your Telegram username first!") viper.SetDefault("Telegram.Messages.ThankYouMedia", "Got it, thanks!") - viper.SetDefault("Telegram.Messages.SharedAlbum", "Album %s shared:") - viper.SetDefault("Telegram.Messages.SharedGlobal", "Link to all albums:") + viper.SetDefault("Telegram.Messages.SharedAlbum", "The album %s can be reached with the following link. Link is valid for %d days.") + viper.SetDefault("Telegram.Messages.SharedGlobal", "All albums can be reached with the following link. Link is valid for %d days.") // Telegram Commands viper.SetDefault("Telegram.Commands.Help", "help") @@ -229,6 +229,8 @@ func main() { panic(err) } photoBot.Telegram.TokenGenerator = tokenGenerator + photoBot.Telegram.GlobalTokenValidity = viper.GetInt("Telegram.TokenGenerator.GlobalValidity") + photoBot.Telegram.PerAlbumTokenValidity = viper.GetInt("Telegram.TokenGenerator.PerAlbumValidity") // Setup the web interface var oidc OpenIdSettings = OpenIdSettings{