Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

I cannot make a reason while creating an guild emoji in discord.js v13.6 Bot runs on node v16.10.0, how can I add a reason?

This is my code of adding an emoji, I’ve defined Reason of adding emoji from argument 1, the argument is noted but it is not added to the audit logs as emoji creation reason…

const Discord = require('discord.js');

module.exports = {
  name: "add-emoji",
  aliases: [],
  description: "to steal an emoji",
  usage: "add-emoji <emoji>",
  run: async (client, message, args) => {


    try {

let emojiId;
let emojiType;
let emojiName;

    if(args[0].includes("<")) emojiId = args[0].match(/\d{15,}/g)[0]; //gets emoji id
      
    if(args[0].includes("<a:")) emojiType = 'gif'; //gets type of emoji
    if(args[0].includes("<:")) emojiType = 'png';  //gets type of emoji
      
    if(args[0].includes("<:")) emojiName = args[0].replace(emojiId, '')
      .replace(/[<]/gi, '')
      .replace(/[>]/gi, '')
      .replace(/[:]/gi, '') //gets emoji name
      
    if(args[0].includes("<a:")) emojiName = args[0].replace(emojiId, '')
      .replace(/[<]/gi, '')
      .replace(/[a]/gi, '')
      .replace(/[>]/gi, '')
      .replace(/[:]/gi, '') //gets emoji name

  let emojiLink = `https://cdn.discordapp.com/emojis/${emojiId}.${emojiType}`;
   

if(!args[0].includes("<")) return message.channel.send({ content: `:x: Mention a emoji!` });

    let Reason = args.slice(1).join(" ");
    if(!Reason) Reason = "No reason provided!";

  await message.guild.emojis.create(emojiLink, emojiName, Reason).then( async emoji => { 

  let embed = new Discord.MessageEmbed()
              .setColor("RANDOM")
              .setTitle("New emoji added!")
              .setDescription(`EmojiName: ${emoji.name} \nEmoji: ${emoji} \nEmoji Id: ${emoji.id} \nAdded by ${message.author.tag}`)
    

message.channel.send({ embeds:  });
});

} catch(e) {
  console.log(e);
}

  }
};

I’ve tried like discord.js v14 but it’s not even creating emoji:

await message.guild.emojis.create({
attachment: emojiLink,
name: emojiName,
reason: Reason
})

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

simply just write reason variable in bracket {} and write reason: before variable.

Solution:

await message.guild.emojis.create(emojiLink, emojiName, { reason: Reason })

here’s your whole code:

const Discord = require('discord.js');

module.exports = {
  name: "add-emoji",
  aliases: [],
  description: "to steal an emoji",
  usage: "add-emoji <emoji>",
  run: async (client, message, args) => {


    try {

let emojiId;
let emojiType;
let emojiName;

    if(args[0].includes("<")) emojiId = args[0].match(/\d{15,}/g)[0]; //gets emoji id
      
    if(args[0].includes("<a:")) emojiType = 'gif'; //gets type of emoji
    if(args[0].includes("<:")) emojiType = 'png';  //gets type of emoji
      
    if(args[0].includes("<:")) emojiName = args[0].replace(emojiId, '')
      .replace(/[<]/gi, '')
      .replace(/[>]/gi, '')
      .replace(/[:]/gi, '') //gets emoji name
      
    if(args[0].includes("<a:")) emojiName = args[0].replace(emojiId, '')
      .replace(/[<]/gi, '')
      .replace(/[a]/gi, '')
      .replace(/[>]/gi, '')
      .replace(/[:]/gi, '') //gets emoji name

  let emojiLink = `https://cdn.discordapp.com/emojis/${emojiId}.${emojiType}`;
   

if(!args[0].includes("<")) return message.channel.send({ content: `:x: Mention a emoji!` });

    let Reason = args.slice(1).join(" ");
    if(!Reason) Reason = "No reason provided!";

  await message.guild.emojis.create(emojiLink, emojiName, { reason: Reason }).then( async emoji => { 

  let embed = new Discord.MessageEmbed()
              .setColor("RANDOM")
              .setTitle("New emoji added!")
              .setDescription(`EmojiName: ${emoji.name} \nEmoji: ${emoji} \nEmoji Id: ${emoji.id} \nAdded by ${message.author.tag}`)
    

message.channel.send({ embeds:  });
});

} catch(e) {
  console.log(e);
}
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading