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


Golang State.Message方法代码示例

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


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

示例1: fieldsFunc

func fieldsFunc(s victor.State) {
	var fStr string
	for _, f := range s.Fields() {
		fStr += f + "\n"
	}
	s.Chat().Send(s.Message().Channel().ID(), fStr)
}
开发者ID:ereyes01,项目名称:victor,代码行数:7,代码来源:simpleSlack.go

示例2: warrantyFunc

func (w Warranty) warrantyFunc(s victor.State) {
	warrantyCmd := exec.Command(w.Path, "--quit-on-error")

	// only accept 1 serial number in chat
	if len(s.Fields()) > 1 {
		msg := "Please only input one serial number at a time."
		s.Chat().Send(s.Message().Channel().ID(), msg)
		return
	}

	for _, arg := range s.Fields() {
		warrantyCmd.Args = append(warrantyCmd.Args, arg)
	}

	var stdout bytes.Buffer
	var stderr bytes.Buffer
	warrantyCmd.Stdout = &stdout
	warrantyCmd.Stderr = &stderr
	err := warrantyCmd.Run()
	if err != nil {
		log.Println(err)
	}

	// Combine output and wrap stdout in code tags.
	output := fmt.Sprintf("```%s```\n%s", stdout.String(), stderr.String())

	// Send output and stderr to chat.
	s.Chat().Send(s.Message().Channel().ID(), output)
}
开发者ID:robmurtha,项目名称:radigast,代码行数:29,代码来源:warranty.go

示例3: autopkgFunc

func (a Autopkg) autopkgFunc(s victor.State) {
	autopkgCmd := exec.Command(a.Path)
	for _, arg := range s.Fields() {
		autopkgCmd.Args = append(autopkgCmd.Args, arg)
	}
	var out bytes.Buffer
	autopkgCmd.Stdout = &out
	err := autopkgCmd.Run()
	if err != nil {
		log.Println(err)
	}
	s.Chat().Send(s.Message().Channel().ID(), out.String())
}
开发者ID:robmurtha,项目名称:radigast,代码行数:13,代码来源:autopkg.go

示例4: phoneLine

func (c Phone) phoneLine(s victor.State) {
	var line bool
	phoneFlagSet := flag.NewFlagSet("phone", flag.ExitOnError)
	phoneFlagSet.BoolVar(&line, "line", false, "")
	phoneFlagSet.Parse(s.Fields())
	args := phoneFlagSet.Args()
	name := strings.Join(args, " ")
	if len(args) == 0 {
		msg := "You must add a name after the `phone` command."
		s.Chat().Send(s.Message().Channel().ID(), msg)
		return
	}
	c.phoneLineReply(s, name, line)

}
开发者ID:robmurtha,项目名称:radigast,代码行数:15,代码来源:commportal.go

示例5: phoneLineReply

func (c Phone) phoneLineReply(s victor.State, name string, line bool) {
	subscribers, err := c.phones()
	if err != nil {
		s.Chat().Send(s.Message().Channel().ID(), fmt.Sprintf("ERROR: `%s`", err))
		log.Println(err)
	}

	phones := subscribers.Find(name)
	for _, phone := range phones {
		var msg string
		if line {
			msg = fmt.Sprintf("%v %v", phone.Name.Name, phone.DirectoryNumber.Line)
		} else {
			msg = fmt.Sprintf("%v %v", phone.Name.Name, phone.IntercomDialingCode.Extension)
		}
		s.Chat().Send(s.Message().Channel().ID(), fmt.Sprintf("%v", msg))
	}
}
开发者ID:robmurtha,项目名称:radigast,代码行数:18,代码来源:commportal.go

示例6: rotationFunc

func (a VeracrossAPI) rotationFunc(s victor.State) {
	var date time.Time
	var err error
	input := strings.Join(s.Fields(), " ")
	switch input {
	case "today":
		date = time.Now()
	case "tomorrow":
		date = time.Now().Add(24 * time.Hour)
	default:
		date, err = time.Parse(vcapi.VCTimeFormat, input)
		if err != nil {
			log.Println(err)
		}
	}
	rotation, err := a.getRotation(&date)
	if err != nil {
		log.Println(err)
	}
	s.Chat().Send(s.Message().Channel().ID(), rotation.Description)
}
开发者ID:whitbyschool,项目名称:radigast-plugins,代码行数:21,代码来源:main.go

示例7: handleFunc

func (p rpcPlugin) handleFunc(s victor.State) {
	// args is the argument sent to the plugin.
	type Args struct {
		// Chat user calling the plugin.
		User string
		// The arguments a user passes to the bot.
		Fields []string
	}
	args := &Args{User: s.Message().User().Name(), Fields: s.Fields()}

	var msg string
	// start a new client.
	err := p.newClient()
	if err != nil {
		log.Fatal(err)
	}
	defer p.client.Close()
	err = p.client.Call(fmt.Sprintf("%v.Handle", p.name), args, &msg)
	if err != nil {
		log.Println(err)
		msg = fmt.Sprintf("Plugin encountered an error, %v", err)
	}
	s.Reply(string(msg))
}
开发者ID:robmurtha,项目名称:radigast,代码行数:24,代码来源:rpc.go

示例8: scheduleFunc

func (a Veracross) scheduleFunc(s victor.State) {
	name := s.Fields()
	if len(name) < 2 {
		msg := "You must enter a first and last name as arguments"
		s.Chat().Send(s.Message().Channel().ID(), msg)
		return
	}

	schedules, err := a.getSchedule()
	if err != nil {
		log.Println(err)
		return
	}
	for _, schedule := range *schedules {
		if schedule.First != name[0] {
			continue
		}
		if schedule.Last != name[1] {
			continue
		}
		s.Chat().Send(s.Message().Channel().ID(), schedule.First+" "+schedule.Last+":\n"+schedule.ScheduleView)
		return
	}
}
开发者ID:whitbyschool,项目名称:radigast-plugins,代码行数:24,代码来源:veracross.go

示例9: byeFunc

// another handler for the hello plugin
func (h Hello) byeFunc(s victor.State) {
	msg := fmt.Sprintf("Bye %s!", s.Message().User().Name())
	s.Reply(msg)
}
开发者ID:robmurtha,项目名称:radigast,代码行数:5,代码来源:hello.go

示例10: helloFunc

// Bot Handler
// write your plugin logic here.
func (h Hello) helloFunc(s victor.State) {
	msg := fmt.Sprintf("Hello %s!", s.Message().User().Name())
	s.Chat().Send(s.Message().Channel().ID(), msg)
}
开发者ID:robmurtha,项目名称:radigast,代码行数:6,代码来源:hello.go

示例11: defaultFunc

func defaultFunc(s victor.State) {
	s.Chat().Send(s.Message().Channel().ID(),
		"Unrecognized command. Type `help` to see supported commands.")
}
开发者ID:ereyes01,项目名称:victor,代码行数:4,代码来源:simpleSlack.go

示例12: thanksFunc

func thanksFunc(s victor.State) {
	msg := fmt.Sprintf("You're welcome %s!", s.Message().User().Name())
	s.Chat().Send(s.Message().Channel().ID(), msg)
}
开发者ID:ereyes01,项目名称:victor,代码行数:4,代码来源:simpleSlack.go

示例13: echoFunc

func echoFunc(s victor.State) {
	s.Chat().Send(s.Message().Channel().ID(), s.Message().Text())
}
开发者ID:ereyes01,项目名称:victor,代码行数:3,代码来源:simpleSlack.go

示例14: byeFunc

func byeFunc(s victor.State) {
	msg := fmt.Sprintf("Bye %s!", s.Message().User().Name())
	s.Chat().Send(s.Message().Channel().ID(), msg)
}
开发者ID:ereyes01,项目名称:victor,代码行数:4,代码来源:simpleSlack.go

示例15: fieldsFunc

func fieldsFunc(s victor.State) {
	for _, f := range s.Fields() {
		s.Chat().Send(s.Message().Channel().ID(), f)
	}
}
开发者ID:ereyes01,项目名称:victor,代码行数:5,代码来源:simpleShell.go


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