diff options
Diffstat (limited to 'root_commands.c')
| -rw-r--r-- | root_commands.c | 21 | 
1 files changed, 16 insertions, 5 deletions
| diff --git a/root_commands.c b/root_commands.c index cf1c169c..7c54e272 100644 --- a/root_commands.c +++ b/root_commands.c @@ -979,6 +979,11 @@ static void cmd_chat( irc_t *irc, char **cmd )  			irc_usermsg( irc, "Invalid account" );  			return;  		} +		else if( !acc->prpl->chat_join ) +		{ +			irc_usermsg( irc, "Named chatrooms not supported on that account." ); +			return; +		}  		if( cmd[4] == NULL )  		{ @@ -998,13 +1003,19 @@ static void cmd_chat( irc_t *irc, char **cmd )  			channel = s;  		} -		if( ( ic = irc_channel_new( irc, channel ) ) ) +		if( ( ic = irc_channel_new( irc, channel ) ) && +		    set_setstr( &ic->set, "chat_type", "room" ) && +		    set_setstr( &ic->set, "account", cmd[2] ) && +		    set_setstr( &ic->set, "room", cmd[3] ) ) +		{ +			irc_usermsg( irc, "Chatroom successfully added." ); +		} +		else  		{ -			struct irc_groupchat_stub *igs; +			if( ic ) +				irc_channel_free( ic ); -			ic->data = igs = g_new0( struct irc_groupchat_stub, 1 ); -			igs->acc = acc; -			igs->room = g_strdup( cmd[3] ); +			irc_usermsg( irc, "Could not add chatroom." );  		}  	}  	/* | 
