當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Bot.LoadConfig方法代碼示例

本文整理匯總了Golang中github.com/plotly/plotbot.Bot.LoadConfig方法的典型用法代碼示例。如果您正苦於以下問題:Golang Bot.LoadConfig方法的具體用法?Golang Bot.LoadConfig怎麽用?Golang Bot.LoadConfig使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/plotly/plotbot.Bot的用法示例。


在下文中一共展示了Bot.LoadConfig方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: InitWebServerAuth

func (p *OAuthPlugin) InitWebServerAuth(bot *plotbot.Bot, webserver plotbot.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)
}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:29,代碼來源:auth.go

示例2: InitPlugin

func (plotberry *PlotBerry) InitPlugin(bot *plotbot.Bot) {

	var conf struct {
		Plotberry PlotberryConf
	}
	err := bot.LoadConfig(&conf)
	if err != nil {
		log.Fatalln("Error loading PlotBerry config section: ", err)
		return
	}

	plotberry.bot = bot
	plotberry.pingTime = time.Duration(conf.Plotberry.PingTime) * time.Second
	plotberry.eraLength = conf.Plotberry.EraLength
	plotberry.endpoint = conf.Plotberry.EndPoint

	// if plotberry.eraLength is 0 we will get a divide by zero error - lets abort first
	if plotberry.eraLength == 0 {
		log.Fatal("Plotberry.eraLength may not be zero (divide by zero error), please set the configuration")
		return
	}

	statchan := make(chan TotalUsers, 100)

	go plotberry.launchWatcher(statchan)
	go plotberry.launchCounter(statchan)

	bot.ListenFor(&plotbot.Conversation{
		HandlerFunc: plotberry.ChatHandler,
	})
}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:31,代碼來源:plotberry.go

示例3: InitWebServer

func (webapp *Webapp) InitWebServer(bot *plotbot.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
}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:17,代碼來源:webapp.go

示例4: InitPlugin

func (healthy *Healthy) InitPlugin(bot *plotbot.Bot) {
	var conf struct {
		HealthCheck struct {
			Urls []string
		}
	}

	bot.LoadConfig(&conf)

	healthy.urls = conf.HealthCheck.Urls

	bot.ListenFor(&plotbot.Conversation{
		MentionsMeOnly: true,
		ContainsAny:    []string{"health", "healthy?", "health_check"},
		HandlerFunc:    healthy.ChatHandler,
	})
}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:17,代碼來源:healthy.go

示例5: InitPlugin

func (bugger *Bugger) InitPlugin(bot *plotbot.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.ListenFor(&plotbot.Conversation{
		HandlerFunc: bugger.ChatHandler,
	})

}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:22,代碼來源:bugger.go

示例6: InitWebPlugin

func (tabula *TabulaRasa) InitWebPlugin(bot *plotbot.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()

	})

}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:22,代碼來源:tabularasa.go

示例7: InitPlugin

func (dep *Deployer) InitPlugin(bot *plotbot.Bot) {
	var conf struct {
		Deployer DeployerConfig
	}
	bot.LoadConfig(&conf)

	dep.bot = bot
	dep.progress = make(chan string, 1000)
	dep.config = &conf.Deployer
	dep.env = os.Getenv("PLOTLY_ENV")

	if dep.env == "" {
		dep.env = "debug"
	}

	dep.loadInternalAPI()

	go dep.forwardProgress()

	bot.ListenFor(&plotbot.Conversation{
		HandlerFunc:    dep.ChatHandler,
		MentionsMeOnly: true,
	})
}
開發者ID:cemoulto,項目名稱:plotbot,代碼行數:24,代碼來源:deployer.go

示例8: InitWebPlugin

func (hooker *Hooker) InitWebPlugin(bot *plotbot.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_plotbot_repo", hooker.updatedPlotbotRepo)

	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
		}

	})
}
開發者ID:pkdevboxy,項目名稱:plotbot,代碼行數:24,代碼來源:hooker.go


注:本文中的github.com/plotly/plotbot.Bot.LoadConfig方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。