forked from External/ergo
reactions
This commit is contained in:
parent
d73b6bac86
commit
3b0fecd381
9 changed files with 189 additions and 115 deletions
|
|
@ -4085,6 +4085,33 @@ func zncHandler(server *Server, client *Client, msg ircmsg.Message, rb *Response
|
|||
return false
|
||||
}
|
||||
|
||||
// REACT <msgid> :<reaction>
|
||||
func reactHandler(server *Server, client *Client, msg ircmsg.Message, rb *ResponseBuffer) bool {
|
||||
// This directly uses SQL stuff, since it's targeted at CEF, which requires a DB.
|
||||
_, _, target, sender, _, pm, err := server.historyDB.GetMessage(msg.Params[0])
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
var operation string
|
||||
if server.historyDB.HasReactionFromUser(msg.Params[0], client.AccountName(), msg.Params[1]) {
|
||||
server.historyDB.DeleteReaction(msg.Params[0], client.AccountName(), msg.Params[1])
|
||||
operation = "DEL"
|
||||
} else {
|
||||
server.historyDB.AddReaction(msg.Params[0], client.AccountName(), msg.Params[1])
|
||||
operation = "ADD"
|
||||
}
|
||||
|
||||
if pm {
|
||||
server.clients.Get(target).Send(nil, client.NickMaskString(), "REACT", operation, msg.Params[0], msg.Params[1])
|
||||
server.clients.Get(sender).Send(nil, client.NickMaskString(), "REACT", operation, msg.Params[0], msg.Params[1])
|
||||
} else {
|
||||
server.channels.Get(target).BroadcastFrom(client.NickMaskString(), "REACT", operation, msg.Params[0], msg.Params[1])
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// fake handler for unknown commands
|
||||
func unknownCommandHandler(server *Server, client *Client, msg ircmsg.Message, rb *ResponseBuffer) bool {
|
||||
var message string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue