253 |
253 |
254 irc_log_event(chan_ctx->ctx, chan_ctx, line->source, line->command, target, msg); |
254 irc_log_event(chan_ctx->ctx, chan_ctx, line->source, line->command, target, msg); |
255 } |
255 } |
256 |
256 |
257 /** |
257 /** |
|
258 * Log a CTCP ACTION message on a channel |
|
259 * |
|
260 * :nm "CTCP ACTION" <channel> <action> |
|
261 */ |
|
262 static void irc_log_on_chan_CTCP_ACTION (const struct irc_line *line, void *arg) |
|
263 { |
|
264 struct irc_log_chan *chan_ctx = arg; |
|
265 |
|
266 const char *action = line->args[1]; |
|
267 |
|
268 irc_log_event(chan_ctx->ctx, chan_ctx, line->source, "ACTION", NULL, action); |
|
269 } |
|
270 |
|
271 /** |
258 * Our low-level channel-specific message handlers for logged channels. |
272 * Our low-level channel-specific message handlers for logged channels. |
259 * |
273 * |
260 * Note that these get a `struct irc_log_chan*` as an argument. |
274 * Note that these get a `struct irc_log_chan*` as an argument. |
261 */ |
275 */ |
262 static struct irc_cmd_handler _chan_cmd_handlers[] = { |
276 static struct irc_cmd_handler _chan_cmd_handlers[] = { |
263 { "NICK", &irc_log_on_chan_NICK }, |
277 { "NICK", &irc_log_on_chan_NICK }, |
264 { "QUIT", &irc_log_on_chan_QUIT }, |
278 { "QUIT", &irc_log_on_chan_QUIT }, |
265 { "JOIN", &irc_log_on_chan_generic }, |
279 { "JOIN", &irc_log_on_chan_generic }, |
266 { "PART", &irc_log_on_chan_generic }, |
280 { "PART", &irc_log_on_chan_generic }, |
267 { "MODE", &irc_log_on_chan_MODE }, |
281 { "MODE", &irc_log_on_chan_MODE }, |
268 { "TOPIC", &irc_log_on_chan_generic }, |
282 { "TOPIC", &irc_log_on_chan_generic }, |
269 { "KICK", &irc_log_on_chan_KICK }, |
283 { "KICK", &irc_log_on_chan_KICK }, |
270 { "PRIVMSG", &irc_log_on_chan_generic }, |
284 { "PRIVMSG", &irc_log_on_chan_generic }, |
271 { "NOTICE", &irc_log_on_chan_generic }, |
285 { "NOTICE", &irc_log_on_chan_generic }, |
272 { NULL, NULL } |
286 { "CTCP ACTION", &irc_log_on_chan_CTCP_ACTION }, |
|
287 { NULL, NULL } |
273 }; |
288 }; |
274 |
289 |
275 /** |
290 /** |
276 * Our high-level channel-specific callbacks for logged channels. |
291 * Our high-level channel-specific callbacks for logged channels. |
277 * |
292 * |