Skip to content

Commit

Permalink
feat: Add searching with text litteral mention for 'getThing' function.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ayfri committed Aug 16, 2021
1 parent 2fb1ce8 commit 44c01ed
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/utils/getThing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ export async function getThing<T extends DataType>(dataType: DataTypeResolver<T>
c =>
(c instanceof GuildChannel && c.name.toLowerCase().includes((text as string).toLowerCase()) && text.toString().length > 1) ||
(c instanceof DMChannel && c.recipient.username.toLowerCase().includes((text as string).toLowerCase()) && text.toString().length > 2) ||
c.toString() === text.toString().replace(/<#(\d{17,19})>/, '<@$1>') ||
false
) ??
client?.channels.resolve(text) ??
Expand Down Expand Up @@ -165,9 +166,10 @@ export async function getThing<T extends DataType>(dataType: DataTypeResolver<T>
message?.mentions?.members?.first() ??
message?.guild?.members.cache.find(
m =>
(m.displayName.toLowerCase().includes((text as string).toLowerCase()) ||
((m.displayName.toLowerCase().includes((text as string).toLowerCase()) ||
m.user.username.toLowerCase().includes((text as string).toLowerCase())) &&
(text as string).length > 1
(text as string).length > 1) ||
m.toString() === text.toString().replace(/<@!?(\d{17,19})>/, '<@$1>')
) ??
message?.guild?.members.resolve(text) ??
null
Expand Down Expand Up @@ -196,7 +198,10 @@ export async function getThing<T extends DataType>(dataType: DataTypeResolver<T>
client?.channels.cache.filter(c => isTextChannelLike(c)).get(text) ??
message?.mentions.channels.filter(c => isTextChannelLike(c)).first() ??
client?.channels.cache.find(
c => (isTextChannelLike(c) && c.name.toLowerCase().includes((text as string).toLowerCase()) && text.toString().length > 1) || false
c =>
(isTextChannelLike(c) && c.name.toLowerCase().includes((text as string).toLowerCase()) && text.toString().length > 1) ||
c.toString() === text.toString().replace(/<#(\d{17,19})>/, '<@$1>') ||
false
) ??
client?.channels.resolve(text) ??
null;
Expand All @@ -206,15 +211,21 @@ export async function getThing<T extends DataType>(dataType: DataTypeResolver<T>
return (
message?.guild?.roles.cache.get(text) ??
message?.mentions.roles.first() ??
message?.guild?.roles.cache.find(r => r.name.toLowerCase().includes((text as string).toLowerCase()) && (text as string).length > 1) ??
message?.guild?.roles.cache.find(
r =>
(r.name.toLowerCase().includes((text as string).toLowerCase()) && (text as string).length > 1) ||
r.toString() === text.toString().replace(/<@&(\d{17,19})>/, '<@$1>')
) ??
message?.guild?.roles.resolve(text) ??
null
);

case DataType.USER:
return (
client?.users.cache.get(text) ??
client?.users.cache.find(u => u.username.toLowerCase() === (text as string).toLowerCase()) ??
client?.users.cache.find(
u => u.username.toLowerCase() === (text as string).toLowerCase() || u.toString() === text.toString().replace(/<@!?(\d{17,19})>/, '<@$1>')
) ??
message?.mentions?.users.first() ??
client?.users.resolve(text) ??
null
Expand Down

0 comments on commit 44c01ed

Please sign in to comment.