本文整理汇总了Golang中github.com/abourget/slick.Bot.LoadConfig方法的典型用法代码示例。如果您正苦于以下问题:Golang Bot.LoadConfig方法的具体用法?Golang Bot.LoadConfig怎么用?Golang Bot.LoadConfig使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/abourget/slick.Bot
的用法示例。
在下文中一共展示了Bot.LoadConfig方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: InitWebServerAuth
func (p *OAuthPlugin) InitWebServerAuth(bot *slick.Bot, webserver slick.WebServer) {
p.webserver = webserver
var config struct {
WebAuthConfig OAuthConfig
}
bot.LoadConfig(&config)
conf := config.WebAuthConfig
webserver.SetAuthMiddleware(func(handler http.Handler) http.Handler {
return &OAuthMiddleware{
handler: handler,
plugin: p,
webserver: webserver,
bot: bot,
oauthCfg: &oauth2.Config{
ClientID: conf.ClientID,
ClientSecret: conf.ClientSecret,
RedirectURL: conf.RedirectURL + "/oauth2callback",
Scopes: []string{"identify"},
Endpoint: oauth2.Endpoint{
AuthURL: "https://slack.com/oauth/authorize",
TokenURL: "https://slack.com/api/oauth.access",
},
},
}
})
webserver.SetAuthenticatedUserFunc(p.AuthenticatedUser)
}
示例2: InitWebServer
func (webapp *Webapp) InitWebServer(bot *slick.Bot, enabledPlugins []string) {
var conf struct {
Webapp WebappConfig
}
bot.LoadConfig(&conf)
webapp.bot = bot
webapp.enabledPlugins = enabledPlugins
webapp.config = &conf.Webapp
webapp.store = sessions.NewCookieStore([]byte(conf.Webapp.SessionAuthKey), []byte(conf.Webapp.SessionEncryptKey))
webapp.privateRouter = mux.NewRouter()
webapp.publicRouter = mux.NewRouter()
webapp.privateRouter.HandleFunc("/", webapp.handleRoot)
web = webapp
}
示例3: InitPlugin
func (healthy *Healthy) InitPlugin(bot *slick.Bot) {
var conf struct {
HealthCheck struct {
Urls []string
}
}
bot.LoadConfig(&conf)
healthy.urls = conf.HealthCheck.Urls
bot.ListenFor(&slick.Conversation{
MentionsMeOnly: true,
ContainsAny: []string{"health", "healthy?", "health_check"},
HandlerFunc: healthy.ChatHandler,
})
}
示例4: InitPlugin
func (wicked *Wicked) InitPlugin(bot *slick.Bot) {
wicked.bot = bot
wicked.meetings = make(map[string]*Meeting)
var conf struct {
Wicked struct {
Confrooms []string `json:"conf_rooms"`
}
}
bot.LoadConfig(&conf)
for _, confroom := range conf.Wicked.Confrooms {
wicked.confRooms = append(wicked.confRooms, confroom)
}
bot.ListenFor(&slick.Conversation{
HandlerFunc: wicked.ChatHandler,
})
}
示例5: InitPlugin
func (p *Plugin) InitPlugin(bot *slick.Bot) {
p.bot = bot
err := bot.DB.Update(func(tx *bolt.Tx) error {
_, err := tx.CreateBucketIfNotExists(bucketName)
return err
})
if err != nil {
log.Fatalln("Couldn't create the `recognition` bucket")
}
var conf struct {
Recognition Config
}
bot.LoadConfig(&conf)
p.config = conf.Recognition
p.store = &boltStore{db: bot.DB}
p.listenRecognize()
p.listenUpvotes()
}
示例6: InitPlugin
func (bugger *Bugger) InitPlugin(bot *slick.Bot) {
/*
* Get an array of issues matching Filters
*/
bugger.bot = bot
var conf struct {
Github github.Conf
}
bot.LoadConfig(&conf)
bugger.ghclient = github.Client{
Conf: conf.Github,
}
bot.Listen(&slick.Listener{
MessageHandlerFunc: bugger.ChatHandler,
})
}
示例7: InitWebPlugin
func (tabula *TabulaRasa) InitWebPlugin(bot *slick.Bot, privRouter *mux.Router, pubRouter *mux.Router) {
var asanaConf struct {
Asana struct {
APIKey string `json:"api_key"`
Workspace string `json:"workspace"`
}
}
bot.LoadConfig(&asanaConf)
asanaClient := asana.NewClient(asanaConf.Asana.APIKey, asanaConf.Asana.Workspace)
tabula.bot = bot
tabula.asanaClient = asanaClient
privRouter.HandleFunc("/plugins/tabularasa", func(w http.ResponseWriter, r *http.Request) {
tabula.TabulaRasta()
})
}
示例8: InitPlugin
func (dep *Deployer) InitPlugin(bot *slick.Bot) {
var conf struct {
Deployer DeployerConfig
}
bot.LoadConfig(&conf)
dep.bot = bot
dep.pubsub = pubsub.New(100)
dep.config = &conf.Deployer
dep.env = os.Getenv("PLOTLY_ENV")
if dep.env == "" {
dep.env = "debug"
}
dep.loadInternalAPI()
go dep.pubsubForwardReply()
bot.ListenFor(&slick.Conversation{
HandlerFunc: dep.ChatHandler,
MentionsMeOnly: true,
})
}
示例9: InitWebPlugin
func (hooker *Hooker) InitWebPlugin(bot *slick.Bot, privRouter *mux.Router, pubRouter *mux.Router) {
hooker.bot = bot
var conf struct {
Hooker HookerConfig
}
bot.LoadConfig(&conf)
hooker.config = conf.Hooker
pubRouter.HandleFunc("/public/updated_slick_repo", hooker.updatedSlickRepo)
stripeUrl := fmt.Sprintf("/public/stripehook/%s", hooker.config.StripeSecret)
pubRouter.HandleFunc(stripeUrl, hooker.onPayingUser)
pubRouter.HandleFunc("/public/monit", hooker.onMonit)
privRouter.HandleFunc("/plugins/hooker.json", func(w http.ResponseWriter, r *http.Request) {
if r.Method != "GET" {
http.Error(w, "Method not accepted", 405)
return
}
})
}