/[sudobot]/trunk/src/commands/utils/SnippetCommand.ts
ViewVC logotype

Diff of /trunk/src/commands/utils/SnippetCommand.ts

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

revision 255 by rakin, Mon Jul 29 17:29:14 2024 UTC revision 393 by rakin, Mon Jul 29 17:29:59 2024 UTC
# Line 1  Line 1 
1  import { CommandInteraction, FileOptions, GuildMember, Interaction, Message, MessageAttachment } 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 { CommandInteraction, FileOptions } from 'discord.js';
21  import BaseCommand from '../../utils/structures/BaseCommand';  import BaseCommand from '../../utils/structures/BaseCommand';
22  import DiscordClient from '../../client/Client';  import DiscordClient from '../../client/Client';
 import CommandOptions from '../../types/CommandOptions';  
23  import InteractionOptions from '../../types/InteractionOptions';  import InteractionOptions from '../../types/InteractionOptions';
 import MessageEmbed from '../../client/MessageEmbed';  
 import { download } from '../../utils/util';  
24  import path from 'path';  import path from 'path';
 import { fetchEmoji } from '../../utils/Emoji';  
25    
26  export default class AddsnippetCommand extends BaseCommand {  export default class AddsnippetCommand extends BaseCommand {
27      supportsInteractions: boolean = true;      supportsInteractions: boolean = true;
# Line 29  export default class AddsnippetCommand e Line 44  export default class AddsnippetCommand e
44                  return;                  return;
45              }              }
46    
47              await msg.reply({              try {
48                  content: snippet.content.trim() === '' ? undefined : snippet.content,                  await msg.reply({
49                  files: snippet.files.map(name => {                      content: snippet.content.trim() === '' ? undefined : snippet.content,
50                      return {                      files: snippet.files.map(name => {
51                          name,                          return {
52                          attachment: path.resolve(__dirname, '../../../storage', name)                              name,
53                      } as FileOptions                              attachment: path.resolve(process.env.SUDO_PREFIX ?? path.join(__dirname, '../../..'), 'storage', name)
54                  }),                          } as FileOptions
55                  embeds: snippet.embeds                      }),
56              });                      embeds: snippet.embeds
57                    });
58                }
59                catch (e) {
60                    console.log(e);      
61                    await msg.reply({ content: 'Looks like that snippet is corrupted. Maybe invalid embed schema?', ephemeral: true });          
62                }
63          }          }
64    
65          let cmdName = '';          let cmdName = '';
# Line 56  export default class AddsnippetCommand e Line 77  export default class AddsnippetCommand e
77              return await command.run(client, msg, options);              return await command.run(client, msg, options);
78          }          }
79      }      }
 }  
80    }

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26