Changeset 535 in code for trunk/user.go


Ignore:
Timestamp:
May 25, 2021, 2:42:51 PM (4 years ago)
Author:
contact
Message:

Introduce the soju.im/bouncer-networks-notify capability

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/user.go

    r532 r535  
    519519                                dc.updateSupportedCaps()
    520520
    521                                 if dc.caps["soju.im/bouncer-networks"] {
     521                                if dc.caps["soju.im/bouncer-networks-notify"] {
    522522                                        dc.SendMessage(&irc.Message{
    523523                                                Prefix:  dc.srv.prefix(),
     
    658658                dc.updateSupportedCaps()
    659659
    660                 if dc.caps["soju.im/bouncer-networks"] {
     660                if dc.caps["soju.im/bouncer-networks-notify"] {
    661661                        dc.SendMessage(&irc.Message{
    662662                                Prefix:  dc.srv.prefix(),
     
    726726        u.addNetwork(network)
    727727
    728         // TODO: broadcast network status
    729728        idStr := fmt.Sprintf("%v", network.ID)
     729        attrs := getNetworkAttrs(network)
    730730        u.forEachDownstream(func(dc *downstreamConn) {
    731                 if dc.caps["soju.im/bouncer-networks"] {
     731                if dc.caps["soju.im/bouncer-networks-notify"] {
    732732                        dc.SendMessage(&irc.Message{
    733733                                Prefix:  dc.srv.prefix(),
    734734                                Command: "BOUNCER",
    735                                 Params:  []string{"NETWORK", idStr, "network=" + network.GetName()},
     735                                Params:  []string{"NETWORK", idStr, attrs.String()},
    736736                        })
    737737                }
     
    791791        u.addNetwork(updatedNetwork)
    792792
    793         // TODO: broadcast BOUNCER NETWORK notifications
     793        // TODO: only broadcast attributes that have changed
     794        idStr := fmt.Sprintf("%v", updatedNetwork.ID)
     795        attrs := getNetworkAttrs(updatedNetwork)
     796        u.forEachDownstream(func(dc *downstreamConn) {
     797                if dc.caps["soju.im/bouncer-networks-notify"] {
     798                        dc.SendMessage(&irc.Message{
     799                                Prefix:  dc.srv.prefix(),
     800                                Command: "BOUNCER",
     801                                Params:  []string{"NETWORK", idStr, attrs.String()},
     802                        })
     803                }
     804        })
    794805
    795806        return updatedNetwork, nil
     
    810821        idStr := fmt.Sprintf("%v", network.ID)
    811822        u.forEachDownstream(func(dc *downstreamConn) {
    812                 if dc.caps["soju.im/bouncer-networks"] {
     823                if dc.caps["soju.im/bouncer-networks-notify"] {
    813824                        dc.SendMessage(&irc.Message{
    814825                                Prefix:  dc.srv.prefix(),
Note: See TracChangeset for help on using the changeset viewer.