penguin-band/utils.js

43 lines
1.1 KiB
JavaScript

export const findChannelfromCache = (channelCache, name, id) => {
return channelCache.find(
(channel) => channel.name === name || channel.id === id
);
}
export const matchString = (str, search) => {
if (!str || !search) return false;
return str.toLowerCase().includes(search.toLowerCase());
};
export const findPlayer = (guild, searchName) => {
// search display name
let player = guild.members.cache.find((member) =>
matchString(member.displayName, searchName)
);
if (!player) {
// search global name
player = guild.members.cache.find((member) =>
matchString(member.user.globalName, searchName)
);
}
if (!player) {
// search username
player = guild.members.cache.find((member) =>
matchString(member.user.username, searchName)
);
}
if (!player) {
// match id
player = guild.members.cache.find((member) => member.id === searchName);
}
return player;
};
export const getApplicableName = (player) => {
return (
player.displayName ||
player.user.globalName ||
player.user.username ||
player.id
);
};