diff options
| -rw-r--r-- | irc_im.c | 20 | ||||
| -rw-r--r-- | protocols/jabber/jabber.c | 4 | ||||
| -rw-r--r-- | protocols/twitter/twitter.c | 12 | 
3 files changed, 22 insertions, 14 deletions
| @@ -512,6 +512,26 @@ static gboolean bee_irc_user_ctcp( irc_user_t *iu, char *const *ctcp )  			return TRUE;  		}  	} +	else if( g_strcasecmp( ctcp[0], "HELP" ) == 0 && iu->bu ) +	{ +		GString *supp = g_string_new( "Supported CTCPs:" ); +		GList *l; +		 +		if( iu->bu->ic && iu->bu->ic->acc->prpl->transfer_request ) +			g_string_append( supp, " DCC SEND," ); +		if( iu->bu->ic && iu->bu->ic->acc->prpl->send_typing ) +			g_string_append( supp, " TYPING," ); +		if( iu->bu->ic->acc->prpl->buddy_action_list ) +			for( l = iu->bu->ic->acc->prpl->buddy_action_list( iu->bu ); l; l = l->next ) +			{ +				struct buddy_action *ba = l->data; +				g_string_append_printf( supp, " %s (%s),", +				                        ba->name, ba->description ); +			} +		g_string_truncate( supp, supp->len - 1 ); +		irc_send_msg_f( iu, "NOTICE", iu->irc->user->nick, "\001HELP %s\001", supp->str ); +		g_string_free( supp, TRUE ); +	}  	else if( iu->bu && iu->bu->ic && iu->bu->ic->acc->prpl->buddy_action )  	{  		iu->bu->ic->acc->prpl->buddy_action( iu->bu, ctcp[0], ctcp + 1, NULL ); diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c index e5bc3c14..802158c1 100644 --- a/protocols/jabber/jabber.c +++ b/protocols/jabber/jabber.c @@ -569,11 +569,11 @@ GList *jabber_buddy_action_list( bee_user_t *bu )  	if( ret == NULL )  	{ -		struct buddy_action ba[2] = { +		static const struct buddy_action ba[2] = {  			{ "VERSION", "Get client (version) information" },  		}; -		ret = g_list_prepend( ret, ba + 0 ); +		ret = g_list_prepend( ret, (void*) ba + 0 );  	}  	return ret; diff --git a/protocols/twitter/twitter.c b/protocols/twitter/twitter.c index 2f28f746..286d6c3c 100644 --- a/protocols/twitter/twitter.c +++ b/protocols/twitter/twitter.c @@ -376,11 +376,6 @@ static void twitter_chat_leave( struct groupchat *c )  	td->home_timeline_gc = NULL;  } -static struct groupchat *twitter_chat_with( struct im_connection *ic, char *who ) -{ -	return NULL; -} -  static void twitter_keepalive( struct im_connection *ic )  {  } @@ -401,11 +396,6 @@ static void twitter_rem_deny( struct im_connection *ic, char *who )  {  } -static int twitter_send_typing( struct im_connection *ic, char *who, int typing ) -{ -	return( 1 ); -} -  //static char *twitter_set_display_name( set_t *set, char *value )  //{  //	return value; @@ -551,13 +541,11 @@ void twitter_initmodule()  	ret->chat_msg = twitter_chat_msg;  	ret->chat_invite = twitter_chat_invite;  	ret->chat_leave = twitter_chat_leave; -	ret->chat_with = twitter_chat_with;  	ret->keepalive = twitter_keepalive;  	ret->add_permit = twitter_add_permit;  	ret->rem_permit = twitter_rem_permit;  	ret->add_deny = twitter_add_deny;  	ret->rem_deny = twitter_rem_deny; -	ret->send_typing = twitter_send_typing;  	ret->buddy_data_add = twitter_buddy_data_add;  	ret->buddy_data_free = twitter_buddy_data_free;  	ret->handle_cmp = g_strcasecmp; | 
