36 lines
760 B
Go
36 lines
760 B
Go
package sircd
|
|
|
|
func (s *sircd) processIRCMessage(m *ircMessage) {
|
|
switch m.command {
|
|
case "CAP":
|
|
s.processCAPCommand(m)
|
|
case "NICK":
|
|
s.processNICKCommand(m)
|
|
case "USER":
|
|
s.processUSERCommand(m)
|
|
default:
|
|
s.processUnknownCommand(m)
|
|
}
|
|
s.log.Infof(m.String())
|
|
s.log.Infof("%+v", m)
|
|
}
|
|
|
|
func (s *sircd) processUnknownCommand(m *ircMessage) {
|
|
m.from.RespUnknownCommand(m.command)
|
|
}
|
|
|
|
func (s *sircd) processNICKCommand(m *ircMessage) {
|
|
//FIXME check if nick is in use
|
|
//FIXME check if nick is valid
|
|
m.from.session.SetNick(m.params[0])
|
|
}
|
|
|
|
func (s *sircd) processUSERCommand(m *ircMessage) {
|
|
m.from.session.SetUserInfo(m.params[0])
|
|
}
|
|
|
|
func (s *sircd) processCAPCommand(m *ircMessage) {
|
|
s.log.Debugln("ignoring CAP command, unsupported")
|
|
// pass
|
|
}
|