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


Golang Conn.Join方法代码示例

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


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

示例1: connected

func connected(conn *irc.Conn, line *irc.Line) {
	println("Connected!")
	conn.Pass(config.Password)
	conn.Join(config.Channel)
	conn.Privmsg(config.Channel, "¡Saludos!")
	constantlyReadTwitter(conn)
}
开发者ID:sadasant,项目名称:Go,代码行数:7,代码来源:VEbot.go

示例2: bot_connected

func bot_connected(irc *client.Conn, line *client.Line) {
	bot := getState(irc)
	for _, c := range bot.channels {
		bot.l.Info("Joining %s on startup.\n", c)
		irc.Join(c)
	}
}
开发者ID:b33f,项目名称:sp0rkle,代码行数:7,代码来源:handlers.go

示例3: AutoJoin

func AutoJoin(conn *irc.Conn, channel string) {
	autoJoinLock.Lock()
	defer autoJoinLock.Unlock()
	if autoJoinChannels[channel] {
		return
	}
	autoJoinChannels[channel] = true
	conn.AddHandler("CONNECTED", func(c *irc.Conn, l *irc.Line) {
		conn.Join(channel)
	})
}
开发者ID:broady,项目名称:gobby,代码行数:11,代码来源:util.go

示例4: autojoin

func autojoin(conn *irc.Conn) {
	for _, s := range sections {
		split := strings.SplitN(s, " ", 2)
		if len(split) == 2 && split[0] == conn.Network {
			// found a channel
			if readConfBool(s, "autojoin") {
				fmt.Printf("Joining %s on %s\n", split[1], conn.Network)
				conn.Join(split[1])
			}
		}
	}
	go BanManager(conn)
}
开发者ID:thevermi,项目名称:rbot,代码行数:13,代码来源:rbot.go

示例5: ui

func ui(con *irc.Conn, in chan string) {
	curr_chan := ""

	for input := range in {
		if input[0] == '/' {
			// is a command
			var cmd string
			cmdend := strings.Index(input, " ")
			if cmdend > 0 {
				cmd = input[:cmdend]
			} else {
				cmd = input
			}

			switch cmd {
			case "/join":
				if len(input) > cmdend {
					channel := input[cmdend+1:]
					if channel[0] != '#' {
						channel = "#" + channel
					}
					curr_chan = channel
					con.Join(channel)
				} else {
					fmt.Println("Please specify the channel")
				}
			case "/quit":
				fmt.Println("Bye!")
				con.Quit()
			case "/goto":
				curr_chan = input[cmdend+1:]
			case "/list":
				break
			case "/nick":
				if cmdend > 0 {
					con.Nick(input[cmdend+1:])
				} else {
					fmt.Println("Too few arguments")
				}
			default:
				fmt.Println("Unknown command")
			}
			fmt.Printf("\n%s: ", curr_chan)
		} else {
			con.Privmsg(curr_chan, input)
			fmt.Printf("%s: ", curr_chan)
		}
	}
	fmt.Println("Closing connection. kthxbai!")
	con.Quit()
}
开发者ID:sternenseemann,项目名称:rumpelkiste,代码行数:51,代码来源:gopherchat.go

示例6: handleInvite

func handleInvite(conn *irc.Conn, line *irc.Line) {
	if line.Args[0] != conn.Me.Nick {
		return
	}

	user := line.Src[strings.Index(line.Src, "!")+1:]
	if user[0] == '~' {
		user = user[1:]
	}

	owner, _ := auth.String(conn.Network, "owner")
	if user == owner {
		conn.Join(line.Args[1])
	}
}
开发者ID:thevermi,项目名称:rbot,代码行数:15,代码来源:handler.go

示例7: onInvite

func onInvite(irc *client.Conn, line *client.Line) {
	who, channel := line.Args[0], line.Args[1]
	log.Println(line.Nick, "invited bot to", channel)
	if who == irc.Me.Nick {
		// some IRCds only allow operators to INVITE, and on registered channels normally only identified users are operators
		// check anyway, since there are some corner cases where that doesn't happen
		if checkIdentified(irc, line.Nick) {
			log.Println("Accepting invite to", channel)
			irc.Join(channel)
		} else {
			irc.Notice(line.Nick, "you must be identified to invite")
			log.Println("Ignoring invite, user is not identified")
		}
	}
}
开发者ID:nbyouri,项目名称:go-lastfm-bot,代码行数:15,代码来源:bot.go

示例8: Connect

func (s InBandSource) Connect(c *irc.Conn) (err error) {
	if c.Connected {
		return nil
	}

	c.AddHandler(irc.CONNECTED, func(c *irc.Conn, line *irc.Line) {
		c.Join(s.Host().Channel)
	})

	if err := c.Connect(s.Host().Server); err != nil {
		return err
	}

	return nil
}
开发者ID:sumanvyj,项目名称:packrat,代码行数:15,代码来源:inband_source.go

示例9: autojoin

func autojoin(conn *irc.Conn) {
	for _, s := range sections {
		split := strings.SplitN(s, " ", 2)
		if len(split) == 2 && split[0] == conn.Network {
			// found a channel
			if readConfBool(s, "autojoin") {
				fmt.Printf("Joining %s on %s\n", split[1], conn.Network)
				conn.Join(split[1])
			}

			if annstream, _ := conf.Bool(s, "stream"); annstream {
				announceJustinTv(conn, split[1])
			}
		}
	}
}
开发者ID:raylu,项目名称:rbot,代码行数:16,代码来源:rbot.go

示例10: setupClient

func setupClient(c *irc.Conn, chConnected chan bool) {
	c.AddHandler(irc.CONNECTED, func(conn *irc.Conn, line *irc.Line) {
		chConnected <- true
	})
	c.AddHandler(irc.DISCONNECTED, func(conn *irc.Conn, line *irc.Line) {
		chConnected <- false
	})
	c.AddHandler("PRIVMSG", func(conn *irc.Conn, line *irc.Line) {
		if len(line.Args) < 2 || !strings.HasPrefix(line.Args[1], "!") {
			return
		}
		to := line.Args[0]
		sender := to
		if to == c.Me.Nick {
			// TODO: check if sender is in main chan, else return
			log.Println("Got ! via PM from " + line.Src)
			sender = line.Src // replies go via PM too.
		} else {
			log.Println("Got ! via chan: " + line.Args[0] + " from " + line.Src)
		}
		log.Println(line.Args)
		switch line.Args[0] {
		case "!join":
			if len(line.Args) == 2 {
				c.Join(line.Args[1])
			} else if len(line.Args) == 3 {
				c.Join(line.Args[1] + " " + line.Args[2])
			} else {
				c.Privmsg(sender, "Usage: !join #chan  or  !join #chan key")
			}
		case "!part":
			if len(line.Args) == 2 {
				c.Part(line.Args[1])
			} else {
				c.Privmsg(sender, "Usage: !part #chan")
			}
		default:
			c.Privmsg(sender, "Invalid command: "+strings.Join(line.Args[1:], " "))
			return
		}
	})

}
开发者ID:RJ,项目名称:gocat,代码行数:43,代码来源:gocat.go

示例11: onConnected

func (p *IRCPlug) onConnected(c *client.Conn, l *client.Line) {
	for _, ch := range p.config.Channels {
		c.Join(ch)
	}
}
开发者ID:lime-tech,项目名称:go-chat-relay,代码行数:5,代码来源:irc.go

示例12: postConnect

func postConnect(conn *irc.Conn, line *irc.Line) {
	conn.Join(channel)
}
开发者ID:cmende,项目名称:gmb0t,代码行数:3,代码来源:irc.go

示例13: connect

func (ei *EndpointIRC) connect(c *irc.Conn, l *irc.Line) {
	for _, channel := range ei.Config.Channels {
		c.Join(channel)
	}
}
开发者ID:andyleap,项目名称:srvbot,代码行数:5,代码来源:endpoint_irc.go

示例14: onConnect

func (i *IRC) onConnect(conn *client.Conn, line *client.Line) {
	for _, c := range i.channels {
		conn.Join(c)
	}
}
开发者ID:iopred,项目名称:bruxism,代码行数:5,代码来源:irc.go


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