aboutsummaryrefslogtreecommitdiff
path: root/lib/arguments/globalUser.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arguments/globalUser.ts')
-rw-r--r--lib/arguments/globalUser.ts7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/arguments/globalUser.ts b/lib/arguments/globalUser.ts
new file mode 100644
index 0000000..4324aa9
--- /dev/null
+++ b/lib/arguments/globalUser.ts
@@ -0,0 +1,7 @@
+import type { BushArgumentTypeCaster } from '#lib';
+import type { User } from 'discord.js';
+
+// resolve non-cached users
+export const globalUser: BushArgumentTypeCaster<Promise<User | null>> = async (message, phrase) => {
+ return message.client.users.resolve(phrase) ?? (await message.client.users.fetch(`${phrase}`).catch(() => null));
+};