Changeset 117 in code for trunk/downstream.go


Ignore:
Timestamp:
Mar 18, 2020, 11:23:08 AM (5 years ago)
Author:
contact
Message:

Add basic infrastructure for bouncer service

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/downstream.go

    r114 r117  
    327327        switch msg.Command {
    328328        case "NICK":
    329                 if err := parseMessageParams(msg, &dc.nick); err != nil {
    330                         return err
    331                 }
     329                var nick string
     330                if err := parseMessageParams(msg, &nick); err != nil {
     331                        return err
     332                }
     333                if nick == serviceNick {
     334                        return ircError{&irc.Message{
     335                                Command: irc.ERR_NICKNAMEINUSE,
     336                                Params:  []string{dc.nick, nick, "Nickname reserved for bouncer service"},
     337                        }}
     338                }
     339                dc.nick = nick
    332340        case "USER":
    333                 var username string
    334                 if err := parseMessageParams(msg, &username, nil, nil, &dc.realname); err != nil {
    335                         return err
    336                 }
    337                 dc.rawUsername = username
     341                if err := parseMessageParams(msg, &dc.rawUsername, nil, nil, &dc.realname); err != nil {
     342                        return err
     343                }
    338344        case "PASS":
    339345                if err := parseMessageParams(msg, &dc.password); err != nil {
     
    891897
    892898                for _, name := range strings.Split(targetsStr, ",") {
     899                        if name == serviceNick {
     900                                handleServicePRIVMSG(dc, text)
     901                                continue
     902                        }
     903
    893904                        uc, upstreamName, err := dc.unmarshalChannel(name)
    894905                        if err != nil {
Note: See TracChangeset for help on using the changeset viewer.