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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 51 by rakin, Mon Jul 29 17:28:23 2024 UTC revision 393 by rakin, Mon Jul 29 17:29:59 2024 UTC
# Line 1  Line 1 
1  import { CommandInteraction, GuildMember, Message, User } from "discord.js";  /**
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    import { Message, User } from "discord.js";
21  import DiscordClient from "../client/Client";  import DiscordClient from "../client/Client";
22  import CommandOptions from "../types/CommandOptions";  import CommandOptions from "../types/CommandOptions";
23  import InteractionOptions from "../types/InteractionOptions";  import { parseUser } from './parseInput';
24    
25  export default async function getUser(client: DiscordClient, msgInteraction: Message, options: CommandOptions, index: number = 0): Promise<User | null | undefined> {  export default async function getUser(client: DiscordClient, msgInteraction: Message, options: CommandOptions, index: number = 0): Promise<User | null | undefined> {
26      if (options.normalArgs[index] === undefined)      if (options.normalArgs[index] === undefined)
27          return null;          return null;
28            
     console.log('here');  
       
     if (msgInteraction.mentions.users?.at(index))  
         return await msgInteraction.mentions.users?.at(index);  
   
     console.log(2);  
       
29      const arg = await options.normalArgs[index];      const arg = await options.normalArgs[index];
30    
31        console.log(arg);
32    
33      if (arg.indexOf('#') !== -1) {      if (arg.indexOf('#') !== -1) {
34          return await client.users.cache.find(user => user.tag === arg);          return await client.users.cache.find(user => user.tag === arg);
35      }      }
36    
     return await client.users.fetch(arg);  
 }  
37        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    }

Legend:
Removed from v.51  
changed lines
  Added in v.393

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26