aboutsummaryrefslogtreecommitdiffstats
path: root/irc_im.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-05-08 01:25:15 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-05-08 01:25:15 +0100
commit27e2c66f28bc196d766ac179aa5eae0d190565d5 (patch)
treea47343b0b79a120a8a5e9d8af98d0c8e7bf19ef3 /irc_im.c
parentf1a089067fcc4fcae05cdbfa0f51a8a3cc8f6783 (diff)
Support for receiving messages in chatrooms.
Diffstat (limited to 'irc_im.c')
-rw-r--r--irc_im.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/irc_im.c b/irc_im.c
index 513b75b9..27822349 100644
--- a/irc_im.c
+++ b/irc_im.c
@@ -244,12 +244,27 @@ gboolean bee_irc_chat_free( bee_t *bee, struct groupchat *c )
return TRUE;
}
-gboolean bee_irc_chat_log( bee_t *bee, struct groupchat *c, const char *format, ... )
+gboolean bee_irc_chat_log( bee_t *bee, struct groupchat *c, const char *text )
{
+ irc_channel_t *ic = c->ui_data;
+
+ irc_channel_printf( ic, "%s", text );
}
-gboolean bee_irc_chat_msg( bee_t *bee, struct groupchat *c, const char *who, const char *msg, time_t sent_at )
+gboolean bee_irc_chat_msg( bee_t *bee, struct groupchat *c, bee_user_t *bu, const char *msg, time_t sent_at )
{
+ irc_t *irc = bee->ui_data;
+ irc_user_t *iu = bu->ui_data;
+ irc_channel_t *ic = c->ui_data;
+ char *ts = NULL;
+
+ if( sent_at > 0 && set_getbool( &bee->set, "display_timestamps" ) )
+ ts = irc_format_timestamp( irc, sent_at );
+
+ irc_send_msg( iu, "PRIVMSG", ic->name, msg, ts );
+ g_free( ts );
+
+ return TRUE;
}
gboolean bee_irc_chat_add_user( bee_t *bee, struct groupchat *c, bee_user_t *bu )
@@ -300,8 +315,8 @@ const struct bee_ui_funcs irc_ui_funcs = {
bee_irc_chat_new,
bee_irc_chat_free,
- NULL,
- NULL,
+ bee_irc_chat_log,
+ bee_irc_chat_msg,
bee_irc_chat_add_user,
NULL,