Browse Source

include link validity in sharing message

master
Nicolas Massé 6 years ago
parent
commit
a187feb9cc
  1. 9
      bot.go
  2. 6
      main.go

9
bot.go

@ -18,7 +18,10 @@ type PhotoBot struct {
} }
type TelegramBackend struct { type TelegramBackend struct {
TokenGenerator *TokenGenerator TokenGenerator *TokenGenerator
GlobalTokenValidity int
PerAlbumTokenValidity int
WebPublicURL string WebPublicURL string
ChatDB *ChatDB ChatDB *ChatDB
AuthorizedUsers map[string]bool AuthorizedUsers map[string]bool
@ -283,7 +286,7 @@ func (bot *PhotoBot) handleShareCommand(message *tgbotapi.Message) {
tokenData.Entitlement = "" tokenData.Entitlement = ""
token := bot.Telegram.TokenGenerator.NewToken(tokenData) 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)) 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) bot.Telegram.replyWithMessage(message, url)
} else { } else {
// Album share // Album share
@ -291,7 +294,7 @@ func (bot *PhotoBot) handleShareCommand(message *tgbotapi.Message) {
tokenData.Entitlement = albumName tokenData.Entitlement = albumName
token := bot.Telegram.TokenGenerator.NewToken(tokenData) 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)) 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) bot.Telegram.replyWithMessage(message, url)
} }
} }

6
main.go

@ -41,8 +41,8 @@ func initConfig() {
viper.SetDefault("Telegram.Messages.InfoNoAlbum", "There is no album started, yet.") 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.NoUsername", "You need to set your Telegram username first!")
viper.SetDefault("Telegram.Messages.ThankYouMedia", "Got it, thanks!") viper.SetDefault("Telegram.Messages.ThankYouMedia", "Got it, thanks!")
viper.SetDefault("Telegram.Messages.SharedAlbum", "Album %s shared:") 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", "Link to all albums:") viper.SetDefault("Telegram.Messages.SharedGlobal", "All albums can be reached with the following link. Link is valid for %d days.")
// Telegram Commands // Telegram Commands
viper.SetDefault("Telegram.Commands.Help", "help") viper.SetDefault("Telegram.Commands.Help", "help")
@ -229,6 +229,8 @@ func main() {
panic(err) panic(err)
} }
photoBot.Telegram.TokenGenerator = tokenGenerator photoBot.Telegram.TokenGenerator = tokenGenerator
photoBot.Telegram.GlobalTokenValidity = viper.GetInt("Telegram.TokenGenerator.GlobalValidity")
photoBot.Telegram.PerAlbumTokenValidity = viper.GetInt("Telegram.TokenGenerator.PerAlbumValidity")
// Setup the web interface // Setup the web interface
var oidc OpenIdSettings = OpenIdSettings{ var oidc OpenIdSettings = OpenIdSettings{

Loading…
Cancel
Save