hid: implement WALLOPS
This commit is contained in:
parent
ca245e4aca
commit
bafd5ef221
20
hid/main.go
20
hid/main.go
@ -2854,6 +2854,25 @@ func ircHandleLINKS(msg *message, c *client) {
|
|||||||
c.sendReply(RPL_ENDOFLINKS, mask)
|
c.sendReply(RPL_ENDOFLINKS, mask)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ircHandleWALLOPS(msg *message, c *client) {
|
||||||
|
if len(msg.params) < 1 {
|
||||||
|
c.sendReply(ERR_NEEDMOREPARAMS, msg.command)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if 0 == c.mode&ircUserModeOperator {
|
||||||
|
c.sendReply(ERR_NOPRIVILEGES)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Our interpretation: anonymize the sender,
|
||||||
|
// and target all users who want to receive these messages.
|
||||||
|
for _, client := range users {
|
||||||
|
if client == c || 0 != client.mode&ircUserModeRxWallops {
|
||||||
|
client.sendf(":%s WALLOPS :%s", serverName, msg.params[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func ircHandleKILL(msg *message, c *client) {
|
func ircHandleKILL(msg *message, c *client) {
|
||||||
if len(msg.params) < 2 {
|
if len(msg.params) < 2 {
|
||||||
c.sendReply(ERR_NEEDMOREPARAMS, msg.command)
|
c.sendReply(ERR_NEEDMOREPARAMS, msg.command)
|
||||||
@ -2908,6 +2927,7 @@ var ircHandlers = map[string]*ircCommand{
|
|||||||
"ADMIN": {true, ircHandleADMIN, 0, 0},
|
"ADMIN": {true, ircHandleADMIN, 0, 0},
|
||||||
"STATS": {true, ircHandleSTATS, 0, 0},
|
"STATS": {true, ircHandleSTATS, 0, 0},
|
||||||
"LINKS": {true, ircHandleLINKS, 0, 0},
|
"LINKS": {true, ircHandleLINKS, 0, 0},
|
||||||
|
"WALLOPS": {true, ircHandleWALLOPS, 0, 0},
|
||||||
|
|
||||||
"MODE": {true, ircHandleMODE, 0, 0},
|
"MODE": {true, ircHandleMODE, 0, 0},
|
||||||
"PRIVMSG": {true, ircHandlePRIVMSG, 0, 0},
|
"PRIVMSG": {true, ircHandlePRIVMSG, 0, 0},
|
||||||
|
Loading…
Reference in New Issue
Block a user