aboutsummaryrefslogtreecommitdiffstats
path: root/chat.c
diff options
context:
space:
mode:
Diffstat (limited to 'chat.c')
-rw-r--r--chat.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/chat.c b/chat.c
index a4c1cce9..d60655de 100644
--- a/chat.c
+++ b/chat.c
@@ -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;
+}