/[sudobot]/trunk/src/commands/information/EmojiCommand.ts
ViewVC logotype

Diff of /trunk/src/commands/information/EmojiCommand.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 314 by rakin, Mon Jul 29 17:29:30 2024 UTC
# Line 1  Line 1 
1  import { CommandInteraction, Emoji, Message } from 'discord.js';  import { CommandInteraction, Emoji, Message, Util } from 'discord.js';
2  import BaseCommand from '../../utils/structures/BaseCommand';  import BaseCommand from '../../utils/structures/BaseCommand';
3  import DiscordClient from '../../client/Client';  import DiscordClient from '../../client/Client';
4  import CommandOptions from '../../types/CommandOptions';  import CommandOptions from '../../types/CommandOptions';
# Line 37  export default class EmojiCommand extend Line 37  export default class EmojiCommand extend
37              emojiString = options.args[0];              emojiString = options.args[0];
38          }          }
39    
40          if (emojiString.startsWith('<:') && emojiString.endsWith('>')) {          const emojiSubString = emojiString.startsWith('<:') && emojiString.endsWith('>') ? emojiString.substring(2, emojiString.length - 1) : emojiString;
             console.log(emojiString);  
             emojiString = emojiString.substring(2, emojiString.length - 1);  
         }  
41                    
42          const emoji = await client.emojis.cache.find(e => e.name === emojiString || e.identifier === emojiString);          let emoji = await client.emojis.cache.find(e => e.name === emojiSubString || e.identifier === emojiSubString || e.id === emojiSubString);
43    
44          if (!emoji) {          if (!emoji) {
45              await msg.reply({              if ((emojiString.startsWith('<:') && emojiString.endsWith('>')) || /\d+/g.test(emojiString)) {
46                  embeds: [                  let parsedEmoji = emojiString.startsWith('<:') && emojiString.endsWith('>') ? Util.parseEmoji(emojiString) : { animated: undefined, id: emojiString, name: undefined };
47                      new MessageEmbed()  
48                      .setColor('#f14a60')                  if (!parsedEmoji) {
49                      .setDescription('No emoji found or not a guild based emoji!')                      await msg.reply({
50                  ]                          embeds: [
51              });                              new MessageEmbed()
52                                .setColor('#f14a60')
53                                .setDescription('Invalid emoji!')
54                            ]
55                        });
56    
57                        return;
58                    }
59    
60                    await msg.reply({
61                        embeds: [
62                            new MessageEmbed()
63                            .setAuthor({
64                                name: parsedEmoji.name ?? "Unknown Emoji",
65                                iconURL: `https://cdn.discordapp.com/emojis/${parsedEmoji.id}`,
66                            })
67                            .setFields({
68                                name: "Animated",
69                                value: parsedEmoji.animated !== undefined ? parsedEmoji.animated ? 'Yes' : 'No' : "*The system could not load enough information*",
70                            }, {
71                                name: "Download",
72                                value: `[Click Here](https://cdn.discordapp.com/emojis/${parsedEmoji.id})`
73                            })
74                            .setThumbnail(`https://cdn.discordapp.com/emojis/${parsedEmoji.id}`)
75                            .setFooter({
76                                text: `ID: ${parsedEmoji.id}`
77                            })
78                        ]
79                    });
80                }
81                else {
82                    await msg.reply({
83                        embeds: [
84                            new MessageEmbed()
85                            .setColor('#f14a60')
86                            .setDescription('No emoji found or not a guild based emoji!')
87                        ]
88                    });
89                }
90    
91              return;              return;
92          }                }
93    
94          await msg.reply({          await msg.reply({
95              embeds: [              embeds: [
# Line 67  export default class EmojiCommand extend Line 102  export default class EmojiCommand extend
102                  .addField('Name', emoji.name ?? '*No name set*')                  .addField('Name', emoji.name ?? '*No name set*')
103                  .addField('Identifier', emoji.identifier ?? '*No identifier set*')                  .addField('Identifier', emoji.identifier ?? '*No identifier set*')
104                  .addField('Available', emoji.available ? 'Yes' : 'No')                  .addField('Available', emoji.available ? 'Yes' : 'No')
105                  .addField('Created at', timeSince(emoji.createdAt.getTime()))                  .addField('Created', timeSince(emoji.createdAt.getTime()))
106                  .addField('Download', `[Click here](${emoji.url})`)                  .addField('Download', `[Click here](${emoji.url})`)
107                  .setImage(emoji.url)                  .setThumbnail(emoji.url)
108                  .setFooter({                  .setFooter({
109                      text: `ID: ${emoji.id}`                      text: `ID: ${emoji.id}`
110                  })                  })

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26