diff --git a/src/fe-common/irc/fe-events.c b/src/fe-common/irc/fe-events.c index 2a2433d1..251779d6 100644 --- a/src/fe-common/irc/fe-events.c +++ b/src/fe-common/irc/fe-events.c @@ -52,13 +52,14 @@ static void event_privmsg(IRC_SERVER_REC *server, const char *data, params = event_get_params(data, 2 | PARAM_FLAG_GETREST, &target, &msg); if (nick == NULL) nick = server->real_address; if (addr == NULL) addr = ""; - recoded = recode_in(SERVER(server), msg, target); if (*target == '@' && ischannel(target[1])) { /* Hybrid 6 feature, send msg to all ops in channel */ + recoded = recode_in(SERVER(server), msg, target+1); signal_emit("message irc op_public", 5, server, recoded, nick, addr, get_visible_target(server, target+1)); } else { + recoded = recode_in(SERVER(server), msg, ischannel(*target) ? target : nick); signal_emit(ischannel(*target) ? "message public" : "message private", 5, server, recoded, nick, addr,