protocols/ircv3/purpleircv3connection.c

changeset 42955
a7ce6e2d6408
parent 42948
e1957d51b3b4
child 42975
c77cf8366ec6
--- a/protocols/ircv3/purpleircv3connection.c	Tue Sep 17 14:29:59 2024 -0500
+++ b/protocols/ircv3/purpleircv3connection.c	Tue Sep 17 18:58:22 2024 -0500
@@ -580,7 +580,9 @@
 	IbisCapabilities *capabilities = NULL;
 	GError *local_error = NULL;
 	GProxyResolver *resolver = NULL;
+	GStrv userparts = NULL;
 	const char *password = NULL;
+	const char *username = NULL;
 	const char *value = NULL;
 	int default_port = PURPLE_IRCV3_DEFAULT_TLS_PORT;
 	int port = 0;
@@ -602,8 +604,11 @@
 	purple_ircv3_connection_add_message_handlers(connection,
 	                                             connection->client);
 
-	ibis_client_set_nick(connection->client,
-	                     purple_account_get_username(account));
+	/* We need to split the username to get the nick. */
+	username = purple_account_get_username(account);
+	userparts = g_strsplit(username, "@", 2);
+	ibis_client_set_nick(connection->client, userparts[0]);
+	g_strfreev(userparts);
 
 	value = purple_account_get_string(account, "ident", NULL);
 	ibis_client_set_username(connection->client, value);

mercurial