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 {
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)
}
}

6
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{

Loading…
Cancel
Save