--- 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);