示例#1
0
文件: action.go 项目: hamo/gorobot
func Action(msg *proto.Message, conn irc.ConnInterface) {
	switch msg.Code {
	case "001":
		conn.SetServerHost(msg.Source)
	case "NICK":
		if msg.Nick == conn.GetCurrentNick() {
			conn.SetCurrentNick(msg.Content)
		}
	case "PING":
		conn.Pong(msg.Content)
		conn.SetLastAlive(time.Now())
	// case "PRIVMSG":
	// 	for _, v := range msg.Arguments {
	// 		if strings.HasPrefix(v, "#") {
	// 			conn.ChanMap.RLock()
	// 			if v, ok := conn.ChanMap.CM[v]; ok {
	// 				v.output.Printf("<%s> %s\n", msg.Nick, msg.Content)
	// 			}
	// 			conn.ChanMap.RUnlock()
	// 		} else {
	// 			conn.output.Printf("PRIVMSG <%s> %s\n", msg.Nick, msg.Content)
	// 		}
	// 	}
	case "PONG":
		conn.SetServerHost(msg.Arguments[0])
		conn.SetLastAlive(time.Now())
	case "NOTICE":
		fallthrough
	default:
	}
	fmt.Printf("%+v\n", msg)
}