Skip to content

Commit 1aa31a8

Browse files
committed
Priority for users in voice channels
1 parent 3ac9cca commit 1aa31a8

File tree

1 file changed

+37
-14
lines changed

1 file changed

+37
-14
lines changed

src/structures/RustPlus.js

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,20 +1560,43 @@ class RustPlus extends RustPlusLib {
15601560

15611561
// Process each player
15621562
for (const name of playerNames) {
1563-
// Try to find member by display name, nickname, or username (case insensitive)
1564-
const member = guild.members.cache.find(m => {
1565-
const displayName = m.displayName?.toLowerCase();
1566-
const nickname = m.nickname?.toLowerCase();
1567-
const username = m.user.username.toLowerCase();
1568-
const searchName = name.toLowerCase();
1569-
1570-
return displayName === searchName ||
1571-
nickname === searchName ||
1572-
username === searchName ||
1573-
displayName?.includes(searchName) ||
1574-
nickname?.includes(searchName) ||
1575-
username.includes(searchName);
1576-
});
1563+
const searchName = name.toLowerCase();
1564+
let member = null;
1565+
1566+
// First, try to find an exact match in voice channels
1567+
const voiceMembers = guild.members.cache.filter(m => m.voice?.channelId);
1568+
1569+
// 1. Check for exact matches in voice channels
1570+
member = voiceMembers.find(m =>
1571+
m.displayName?.toLowerCase() === searchName ||
1572+
m.nickname?.toLowerCase() === searchName ||
1573+
m.user.username.toLowerCase() === searchName
1574+
);
1575+
1576+
// 2. If no exact match, check for partial matches in voice channels
1577+
if (!member) {
1578+
member = voiceMembers.find(m =>
1579+
m.displayName?.toLowerCase().includes(searchName) ||
1580+
m.nickname?.toLowerCase().includes(searchName) ||
1581+
m.user.username.toLowerCase().includes(searchName)
1582+
);
1583+
}
1584+
1585+
// 3. If still no match, search all members (including those not in voice)
1586+
if (!member) {
1587+
member = guild.members.cache.find(m => {
1588+
const displayName = m.displayName?.toLowerCase();
1589+
const nickname = m.nickname?.toLowerCase();
1590+
const username = m.user.username.toLowerCase();
1591+
1592+
return displayName === searchName ||
1593+
nickname === searchName ||
1594+
username === searchName ||
1595+
displayName?.includes(searchName) ||
1596+
nickname?.includes(searchName) ||
1597+
username.includes(searchName);
1598+
});
1599+
}
15771600

15781601
if (!member) {
15791602
results.notFound.push(name);

0 commit comments

Comments
 (0)