diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2008-08-31 16:00:35 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2008-08-31 16:00:35 +0100 |
commit | 3611717156f4c9ebfdf829319840d49e59b827ce (patch) | |
tree | 979436212a238fe4dd7cfd88071e669fa029196a /chat.c | |
parent | d995c9b5de1bff5e3eb5de47b7ffbd3e92e2ac3d (diff) |
Added auto_join code.
Diffstat (limited to 'chat.c')
-rw-r--r-- | chat.c | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -57,7 +57,7 @@ struct chat *chat_add( irc_t *irc, account_t *acc, char *handle, char *channel ) c->channel = g_strdup( channel ); s = set_add( &c->set, "auto_join", "false", set_eval_bool, c ); - s = set_add( &c->set, "auto_rejoin", "false", set_eval_bool, c ); + /* s = set_add( &c->set, "auto_rejoin", "false", set_eval_bool, c ); */ s = set_add( &c->set, "nick", NULL, NULL, c ); s->flags |= SET_NULL_OK; @@ -168,3 +168,21 @@ int chat_chanok( char *a ) else return 0; } + +int chat_join( irc_t *irc, struct chat *c ) +{ + struct groupchat *gc; + char *nick = set_getstr( &c->set, "nick" ); + + if( nick == NULL ) + nick = irc->nick; + + if( ( gc = c->acc->prpl->chat_join( c->acc->ic, c->handle, nick, NULL ) ) ) + { + g_free( gc->channel ); + gc->channel = g_strdup( c->channel ); + return 1; + } + + return 0; +} |