/[sudobot]/trunk/src/events/message/MessageCreateEvent.ts
ViewVC logotype

Diff of /trunk/src/events/message/MessageCreateEvent.ts

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

revision 54 by rakin, Mon Jul 29 17:28:24 2024 UTC revision 397 by rakin, Mon Jul 29 17:30:01 2024 UTC
# Line 1  Line 1 
1    /**
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 BaseEvent from '../../utils/structures/BaseEvent';  import BaseEvent from '../../utils/structures/BaseEvent';
21  import { FileOptions, Message } from 'discord.js';  import { FileOptions, Message } from 'discord.js';
22  import DiscordClient from '../../client/Client';  import DiscordClient from '../../client/Client';
# Line 26  export default class MessageCreateEvent Line 45  export default class MessageCreateEvent
45                  .split(/ +/);                  .split(/ +/);
46                                    
47              const command = await client.commands.get(cmdName);              const command = await client.commands.get(cmdName);
             const allowed = await client.auth.verify(message.member!, cmdName);  
48    
49              if (command && command.supportsLegacy) {              if (command && command.supportsLegacy) {
50                    const allowed = await client.auth.verify(message.member!, command);
51                    
52                  if (allowed) {                  if (allowed) {
53                        if (!(await client.cooldown.onMessageCreate(message, command))) {
54                            console.log(`Skipping execution of command \'${cmdName}\' - Cooldown`);
55                            return;
56                        }
57    
58                      const options = {                      const options = {
59                          cmdName,                          cmdName,
60                          args,                          args,
# Line 38  export default class MessageCreateEvent Line 63  export default class MessageCreateEvent
63                          options: args.filter(a => a[0] === '-'),                          options: args.filter(a => a[0] === '-'),
64                          isInteraction: false                          isInteraction: false
65                      } as CommandOptions;                      } as CommandOptions;
   
                     if (!await client.cooldown.start(message, options))  
                         return;  
66                                            
67                      await command.run(client, message, options);                          await command.execute(client, message, options);    
68                  }                  }
69                  else {                  else {
70                      await message.reply({                      await message.reply({
# Line 57  export default class MessageCreateEvent Line 79  export default class MessageCreateEvent
79                  return;                  return;
80              }              }
81                            
82              const snippet = await client.snippetManager.get(message.guild!.id, cmdName);              const snippet = await client.snippetManager.getParsed(message.guild!.id, cmdName);
83    
84              if (snippet) {              if (snippet) {                
85                  await message.channel.send({                  try {
86                      content: snippet.content,                      await message.channel.send({
87                      files: snippet.files.map(name => {                          content: snippet.content.trim() === '' ? undefined : snippet.content,
88                          return {                          files: snippet.files.map(name => {
89                              name,                              return {
90                              attachment: path.resolve(__dirname, '../../../storage', name)                                  name,
91                          } as FileOptions                                  attachment: path.resolve(process.env.SUDO_PREFIX ?? path.join(__dirname, '../../..'), 'storage', name)
92                      }),                              } as FileOptions
93                  });                          }),
94                            embeds: snippet.embeds
95                        });
96                    }
97                    catch (e) {
98                        console.log(e);                    
99                    }
100    
101                  return;                  return;
102              }              }
# Line 76  export default class MessageCreateEvent Line 104  export default class MessageCreateEvent
104    
105          await client.afkEngine.start(message);          await client.afkEngine.start(message);
106      }      }
 }  
107    }

Legend:
Removed from v.54  
changed lines
  Added in v.397

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26