当前位置: 首页>>代码示例>>Golang>>正文


Golang Message.Contains方法代码示例

本文整理汇总了Golang中github.com/abourget/slick.Message.Contains方法的典型用法代码示例。如果您正苦于以下问题:Golang Message.Contains方法的具体用法?Golang Message.Contains怎么用?Golang Message.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/abourget/slick.Message的用法示例。


在下文中一共展示了Message.Contains方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: ChatHandler

func (standup *Standup) ChatHandler(conv *slick.Conversation, msg *slick.Message) {
	res := sectionRegexp.FindAllStringSubmatchIndex(msg.Text, -1)
	if res != nil {
		for _, section := range extractSectionAndText(msg.Text, res) {
			standup.TriggerReminders(msg, section.name)
			err := standup.StoreLine(msg, section.name, section.text)
			if err != nil {
				log.Println(err)
			}
		}
	} else if msg.MentionsMe && msg.Contains("standup report") {
		daysAgo := util.GetDaysFromQuery(msg.Text)
		smap, err := standup.getRange(getStandupDate(-daysAgo), getStandupDate(TODAY))
		if err != nil {
			log.Println(err)
			conv.Reply(msg, standup.bot.WithMood("Sorry, could not retrieve your report...",
				"I am the eggman and the walrus ate your report - Fzaow!"))
		} else {
			if msg.Contains(" my ") {
				conv.Reply(msg, "/quote "+smap.filterByEmail(msg.FromUser.Profile.Email).String())
			} else {
				conv.Reply(msg, "/quote "+smap.String())
			}
		}
	}
}
开发者ID:plotly,项目名称:slick,代码行数:26,代码来源:standup.go

示例2: ChatHandler

func (bugger *Bugger) ChatHandler(listen *slick.Listener, msg *slick.Message) {

	if !msg.MentionsMe {
		return
	}

	if msg.ContainsAny([]string{"bug report", "bug count"}) && msg.ContainsAny([]string{"how", "help"}) {

		var report string

		if msg.Contains("bug report") {
			report = "bug report"
		} else {
			report = "bug count"
		}
		mention := bugger.bot.Config.Nickname

		msg.Reply(fmt.Sprintf(
			`Usage: %s, [give me a | insert demand]  <%s>  [from the | syntax filler] [last | past] [n] [days | weeks]
examples: %s, please give me a %s over the last 5 days
%s, produce a %s   (7 day default)
%s, I want a %s from the past 2 weeks
%s, %s from the past week`, mention, report, mention, report, mention, report, mention, report, mention, report))

	} else if msg.Contains("bug report") {

		days := util.GetDaysFromQuery(msg.Text)
		bugger.messageReport(days, msg, listen, func() string {
			reporter := bugger.makeBugReporter(days)
			return reporter.printReport(days)
		})

	} else if msg.Contains("bug count") {

		days := util.GetDaysFromQuery(msg.Text)
		bugger.messageReport(days, msg, listen, func() string {
			reporter := bugger.makeBugReporter(days)
			return reporter.printCount(days)
		})

	}

	return

}
开发者ID:Skarlso,项目名称:slick,代码行数:45,代码来源:bugger.go

示例3: ChatHandler

func (funny *Funny) ChatHandler(listen *slick.Listener, msg *slick.Message) {
	bot := listen.Bot

	if msg.Contains("mama") {
		listen.Bot.Listen(&slick.Listener{
			ListenDuration: time.Duration(10 * time.Second),
			MessageHandlerFunc: func(listen *slick.Listener, msg *slick.Message) {
				if strings.Contains(msg.Text, "papa") {
					msg.Reply("3s", "yo rocker").DeleteAfter("3s")
					msg.AddReaction("wink")
					go func() {
						time.Sleep(3 * time.Second)
						msg.AddReaction("beer")
						time.Sleep(1 * time.Second)
						msg.RemoveReaction("wink")
					}()
				}
			},
		})
	}

	if msg.MentionsMe {
		if msg.Contains("you're funny") {

			if bot.Mood == slick.Happy {
				msg.Reply("/me blushes")
			} else {
				msg.Reply("here's another one")
				msg.Reply(slick.RandomString("robot jokes"))
			}

		} else if msg.ContainsAny([]string{"dumb ass", "dumbass"}) {

			msg.Reply("don't say such things")

		} else if msg.ContainsAny([]string{"thanks", "thank you", "thx", "thnks"}) {
			msg.Reply(bot.WithMood("my pleasure", "any time, just ask, I'm here for you, ffiieeewww!get a life"))

		} else if msg.Contains("how are you") && msg.MentionsMe {
			msg.ReplyMention(bot.WithMood("good, and you ?", "I'm wild today!! wadabout you ?"))
			bot.Listen(&slick.Listener{
				ListenDuration: 60 * time.Second,
				FromUser:       msg.FromUser,
				FromChannel:    msg.FromChannel,
				MentionsMeOnly: true,
				MessageHandlerFunc: func(listen *slick.Listener, msg *slick.Message) {
					msg.ReplyMention(bot.WithMood("glad to hear it!", "zwweeeeeeeeet !"))
					listen.Close()
				},
				TimeoutFunc: func(listen *slick.Listener) {
					msg.ReplyMention("well, we can catch up later")
					listen.Close()
				},
			})
		}
	}

	if msg.ContainsAny([]string{"lot of excitement", "that's exciting", "how exciting", "much excitement"}) {

		msg.Reply("http://static.fjcdn.com/gifs/Japanese+kids+spongebob+toys_0ad21b_3186721.gif")

	} else if msg.ContainsAny([]string{"what is your problem", "what's your problem", "is there a problem", "which problem"}) {

		msg.Reply("http://media4.giphy.com/media/19hU0m3TJe6I/200w.gif")

	} else if msg.Contains("force push") {

		url := slick.RandomString("forcePush")
		msg.Reply(url)

	} else if msg.ContainsAny([]string{"there is a bug", "there's a bug"}) {

		msg.Reply("https://s3.amazonaws.com/pushbullet-uploads/ujy7DF0U8wm-9YYvLZkmSM8pMYcxCXXig8LjJORE9Xzt/The-life-of-a-coder.jpg")

	} else if msg.ContainsAny([]string{"oh yeah", "approved"}) {

		msg.Reply("https://i.chzbgr.com/maxW250/4496881920/h9C58F860.gif")

	} else if msg.Contains("ice cream") {

		msg.Reply("http://i.giphy.com/IGyLuFXIGSJj2.gif")
		msg.Reply("I love ice cream too")

	} else if msg.ContainsAny([]string{"lot of tension", "some tension", " tensed"}) {

		msg.Reply("http://thumbpress.com/wp-content/uploads/2014/01/funny-gif-meeting-strangers-girl-scared1.gif")
		msg.Reply("tensed, like that ?")

	} else if msg.Contains("quick fix") {

		msg.Reply("http://blog.pgi.com/wp-content/uploads/2013/02/jim-carey.gif")
		msg.Reply("make it real quick")

	} else if msg.ContainsAny([]string{"crack an egg", "crack something", "to crack"}) {

		msg.Reply("http://s3-ec.buzzfed.com/static/enhanced/webdr02/2012/11/8/18/anigif_enhanced-buzz-31656-1352415875-9.gif")
		msg.Reply("crack an egg, yeah")

	} else if msg.ContainsAny([]string{"i'm stuck", "I'm stuck", "we're stuck"}) {

//.........这里部分代码省略.........
开发者ID:Skarlso,项目名称:slick,代码行数:101,代码来源:funny.go

示例4: ChatHandler

func (dep *Deployer) ChatHandler(conv *slick.Conversation, msg *slick.Message) {
	bot := conv.Bot

	// Discard non "mention_name, " prefixed messages
	if !strings.HasPrefix(msg.Text, fmt.Sprintf("%s, ", bot.Config.Nickname)) {
		return
	}

	if match := deployFormat.FindStringSubmatch(msg.Text); match != nil {
		if dep.lockedBy != "" {
			conv.Reply(msg, fmt.Sprintf("Deployment was locked by %s.  Unlock with '%s, unlock deployment' if they're OK with it.", dep.lockedBy, dep.bot.Config.Nickname))
			return
		}
		if dep.runningJob != nil {
			params := dep.runningJob.params
			conv.Reply(msg, fmt.Sprintf("@%s Deploy currently running: %s", msg.FromUser.Name, params))
			return
		} else {
			params := &DeployParams{
				Environment:      match[3],
				Branch:           match[2],
				Tags:             match[8],
				DeploymentBranch: match[5],
				InitiatedBy:      msg.FromUser.RealName,
				From:             "chat",
				initiatedByChat:  msg,
			}
			go dep.handleDeploy(params)
		}
		return

	} else if msg.Contains("cancel deploy") {

		if dep.runningJob == nil {
			conv.Reply(msg, "No deploy running, sorry man..")
		} else {
			if dep.runningJob.killing == true {
				conv.Reply(msg, "deploy: Interrupt signal already sent, waiting to die")
				return
			} else {
				conv.Reply(msg, "deploy: Sending Interrupt signal...")
				dep.runningJob.killing = true
				dep.runningJob.kill <- true
			}
		}
		return
	} else if msg.Contains("in the pipe") {
		url := dep.getCompareUrl("prod", dep.config.DefaultStreambedBranch)
		mention := msg.FromUser.Name
		if url != "" {
			conv.Reply(msg, fmt.Sprintf("@%s in %s branch, waiting to reach prod: %s", mention, dep.config.DefaultStreambedBranch, url))
		} else {
			conv.Reply(msg, fmt.Sprintf("@%s couldn't get current revision on prod", mention))
		}
	} else if msg.Contains("unlock deploy") {
		dep.lockedBy = ""
		conv.Reply(msg, fmt.Sprintf("Deployment is now unlocked."))
		bot.Notify(dep.config.AnnounceRoom, "purple", "text", fmt.Sprintf("%s has unlocked deployment", msg.FromUser.Name), true)
	} else if msg.Contains("lock deploy") {
		dep.lockedBy = msg.FromUser.Name
		conv.Reply(msg, fmt.Sprintf("Deployment is now locked.  Unlock with '%s, unlock deployment' ASAP!", dep.bot.Config.Nickname))
		bot.Notify(dep.config.AnnounceRoom, "purple", "text", fmt.Sprintf("%s has locked deployment", dep.lockedBy), true)
	} else if msg.Contains("deploy") || msg.Contains("push to") {
		mention := dep.bot.Config.Nickname
		conv.Reply(msg, fmt.Sprintf(`Usage: %s, [please|insert reverence] deploy [<branch-name>] to <environment> [using <deployment-branch>][, tags: <ansible-playbook tags>, ..., ...]
examples: %s, please deploy to prod
%s, deploy thing-to-test to stage
%s, deploy complicated-thing to stage, tags: updt_streambed, blow_up_the_sun
other commands: %s, what's in the pipe? - show what's waiting to be deployed to prod
%s, lock deployment - prevent deployment until it's unlocked`, mention, mention, mention, mention, mention, mention))
	}
}
开发者ID:plotly,项目名称:slick,代码行数:72,代码来源:deployer.go

示例5: ChatHandler

func (plotberry *PlotBerry) ChatHandler(conv *slick.Conversation, msg *slick.Message) {
	if msg.MentionsMe && msg.Contains("how many user") {
		conv.Reply(msg, fmt.Sprintf("We got %d users!", plotberry.totalUsers))
	}
	return
}
开发者ID:plotly,项目名称:slick,代码行数:6,代码来源:plotberry.go

示例6: ChatHandler

func (plotberry *PlotBerry) ChatHandler(listen *slick.Listener, msg *slick.Message) {
	if msg.MentionsMe && msg.Contains("how many user") {
		msg.Reply(fmt.Sprintf("We got %d users!", plotberry.totalUsers))
	}
	return
}
开发者ID:Skarlso,项目名称:slick,代码行数:6,代码来源:plotberry.go


注:本文中的github.com/abourget/slick.Message.Contains方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。