party service: sanitize user names
This commit is contained in:
@@ -41,6 +41,7 @@ import net.runelite.client.chat.QueuedMessage;
|
|||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.PartyChanged;
|
import net.runelite.client.events.PartyChanged;
|
||||||
|
import net.runelite.client.util.Text;
|
||||||
import static net.runelite.client.util.Text.JAGEX_PRINTABLE_CHAR_MATCHER;
|
import static net.runelite.client.util.Text.JAGEX_PRINTABLE_CHAR_MATCHER;
|
||||||
import net.runelite.http.api.ws.messages.party.Join;
|
import net.runelite.http.api.ws.messages.party.Join;
|
||||||
import net.runelite.http.api.ws.messages.party.Part;
|
import net.runelite.http.api.ws.messages.party.Part;
|
||||||
@@ -55,6 +56,7 @@ public class PartyService
|
|||||||
{
|
{
|
||||||
public static final int PARTY_MAX = 15;
|
public static final int PARTY_MAX = 15;
|
||||||
private static final int MAX_MESSAGE_LEN = 150;
|
private static final int MAX_MESSAGE_LEN = 150;
|
||||||
|
private static final int MAX_USERNAME_LEN = 32; // same as Discord
|
||||||
|
|
||||||
private final WSClient wsClient;
|
private final WSClient wsClient;
|
||||||
private final SessionManager sessionManager;
|
private final SessionManager sessionManager;
|
||||||
@@ -129,7 +131,7 @@ public class PartyService
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final PartyMember partyMember = new PartyMember(message.getMemberId(), message.getName());
|
final PartyMember partyMember = new PartyMember(message.getMemberId(), cleanUsername(message.getName()));
|
||||||
members.add(partyMember);
|
members.add(partyMember);
|
||||||
|
|
||||||
final PartyMember localMember = getLocalMember();
|
final PartyMember localMember = getLocalMember();
|
||||||
@@ -215,4 +217,14 @@ public class PartyService
|
|||||||
{
|
{
|
||||||
return localPartyId.equals(partyId);
|
return localPartyId.equals(partyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String cleanUsername(String username)
|
||||||
|
{
|
||||||
|
String s = Text.removeTags(JAGEX_PRINTABLE_CHAR_MATCHER.retainFrom(username));
|
||||||
|
if (s.length() >= MAX_USERNAME_LEN)
|
||||||
|
{
|
||||||
|
s = s.substring(0, MAX_USERNAME_LEN);
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user