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


Golang BotEvent.Channel方法代碼示例

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


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

示例1: DoAction

func (r plugin) DoAction(event plugins.BotEvent, message string) bool {
	// Contextを取得
	redisKey := buildRoomContextKey(event.Channel())
	dialogueCtx, _ := r.repository.Load(redisKey)

	// 雑談API叩く
	name := event.SenderName()
	req := docomo.DialogueRequest{
		Utt:      &message,
		Context:  &dialogueCtx,
		Nickname: &name,
	}
	res, err := r.client.Dialogue.Get(req, false)
	if err != nil {
		event.Reply("はて?")
		return true
	} else if res.RequestError.PolicyException.MessageID != "" {
		event.Reply(fmt.Sprintf("%s: %s",
			res.RequestError.PolicyException.MessageID,
			res.RequestError.PolicyException.Text),
		)
		return true
	}

	// 結果を返す
	event.Reply(res.Utt)

	// Contextを保存
	if dialogueCtx == "" {
		r.repository.Save(redisKey, res.Context)
	}

	return false // next ok
}
開發者ID:135yshr,項目名稱:slackbot,代碼行數:34,代碼來源:docomo.go

示例2: DoAction

func (p *plugin) DoAction(event plugins.BotEvent, message string) bool {
	c := CronCommand{}
	if err := c.Scan(message); err != nil {
		log.Printf("error %s", err)
		return false
	}

	switch c.Action {
	case AddAction, RandomAddAction:
		message := p.cron.AddCronCommand(event.Channel(), c)
		p.cron.RefreshCron(&event, event.Channel())
		event.Reply(message)
	case DelAction, DeleteAction, StopAction:
		message := p.cron.DelCronCommand(event.Channel(), c)
		p.cron.RefreshCron(&event, event.Channel())
		event.Reply(message)
	case ListAction:
		message := p.cron.ListCronCommand(event.Channel(), c)
		event.Reply(message)
	case RefreshAction:
		p.cron.RefreshCron(&event, event.Channel())
		event.Reply("```\nrefresh ok\n```")
	case HelpAction:
		message := p.cron.HelpCronCommand(event.Channel(), c)
		event.Reply(message)
	}
	return false
}
開發者ID:135yshr,項目名稱:slackbot,代碼行數:28,代碼來源:cron.go


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