/[sudobot]/trunk/src/utils/getUser.ts
ViewVC logotype

Annotation of /trunk/src/utils/getUser.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 393 - (hide annotations)
Mon Jul 29 17:29:59 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: application/typescript
File size: 1569 byte(s)
style: add license comments (#77)

* style: add license commits

* fix: shebang errors
1 rakin 393 /**
2     * This file is part of SudoBot.
3     *
4     * Copyright (C) 2021-2022 OSN Inc.
5     *
6     * SudoBot is free software; you can redistribute it and/or modify it
7     * under the terms of the GNU Affero General Public License as published by
8     * the Free Software Foundation, either version 3 of the License, or
9     * (at your option) any later version.
10     *
11     * SudoBot is distributed in the hope that it will be useful, but
12     * WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU Affero General Public License for more details.
15     *
16     * You should have received a copy of the GNU Affero General Public License
17     * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18     */
19    
20 rakin 344 import { Message, User } from "discord.js";
21 rakin 51 import DiscordClient from "../client/Client";
22     import CommandOptions from "../types/CommandOptions";
23 rakin 186 import { parseUser } from './parseInput';
24 rakin 51
25     export default async function getUser(client: DiscordClient, msgInteraction: Message, options: CommandOptions, index: number = 0): Promise<User | null | undefined> {
26     if (options.normalArgs[index] === undefined)
27     return null;
28    
29     const arg = await options.normalArgs[index];
30    
31 rakin 186 console.log(arg);
32    
33 rakin 51 if (arg.indexOf('#') !== -1) {
34     return await client.users.cache.find(user => user.tag === arg);
35     }
36    
37 rakin 186 const parsed = await parseUser(client, arg);
38    
39     if (parsed) {
40     return parsed;
41     }
42    
43     try {
44     const u = await client.users.fetch(arg);
45     return u;
46     }
47     catch (e) {
48     console.log(e);
49     return null;
50     }
51     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26