github.com/wtfutil/wtf@v0.43.0/modules/twitter/settings.go (about) 1 package twitter 2 3 import ( 4 "os" 5 6 "github.com/olebedev/config" 7 "github.com/wtfutil/wtf/cfg" 8 ) 9 10 const ( 11 defaultFocusable = true 12 defaultTitle = "Twitter" 13 ) 14 15 type Settings struct { 16 *cfg.Common 17 18 bearerToken string 19 consumerKey string 20 consumerSecret string 21 count int 22 screenNames []interface{} 23 } 24 25 func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { 26 settings := Settings{ 27 Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), 28 29 bearerToken: ymlConfig.UString("bearerToken", os.Getenv("WTF_TWITTER_BEARER_TOKEN")), 30 consumerKey: ymlConfig.UString("consumerKey", os.Getenv("WTF_TWITTER_CONSUMER_KEY")), 31 consumerSecret: ymlConfig.UString("consumerSecret", os.Getenv("WTF_TWITTER_CONSUMER_SECRET")), 32 count: ymlConfig.UInt("count", 5), 33 screenNames: ymlConfig.UList("screenName"), 34 } 35 36 settings.SetDocumentationPath("twitter/tweets") 37 38 return &settings 39 }