Match up nick with own user_id

This commit is contained in:
Jaidyn Ann 2021-06-21 03:22:35 -05:00
parent 31bc304c0b
commit de28bc8673

View File

@ -302,20 +302,26 @@ void
event_numeric(irc_session_t* session, unsigned int event, event_numeric(irc_session_t* session, unsigned int event,
const char* origin, const char** params, unsigned int count) const char* origin, const char** params, unsigned int count)
{ {
irc_ctx_t* ctx = (irc_ctx_t*)irc_get_ctx(session);
switch (event) { switch (event) {
case LIBIRC_RFC_RPL_NAMREPLY: case LIBIRC_RFC_RPL_NAMREPLY:
{ {
BStringList user_id; BStringList user_id;
BStringList user_name;
BString user_list(params[3]); BString user_list(params[3]);
user_list.Split(" ", false, user_id); user_list.Split(" ", false, user_id);
BStringList user_name(user_id);
int32 index = user_name.IndexOf(ctx->nick);
if (index >= 0)
user_id.Replace(index, BString(ctx->id));
BMessage list(IM_MESSAGE); BMessage list(IM_MESSAGE);
list.AddInt32("im_what", IM_ROOM_PARTICIPANTS); list.AddInt32("im_what", IM_ROOM_PARTICIPANTS);
list.AddString("chat_id", params[2]); list.AddString("chat_id", params[2]);
list.AddStrings("user_id", user_id); list.AddStrings("user_id", user_id);
list.AddStrings("user_name", user_id); list.AddStrings("user_name", user_name);
_SendMessage(&list); _SendMessage(&list);
break; break;
} }
@ -419,7 +425,11 @@ _UserNick(const char* userId)
BString id(userId); BString id(userId);
id.Split("!", false, split); id.Split("!", false, split);
return split.StringAt(0); BString name = split.StringAt(0);
if (name.StartsWith("@") == true)
name.RemoveFirst("@");
return name;
} }