Advertisement
ninja-gen

reason

Nov 14th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. async function embedSan(embed) {
  2.   embed.message ? delete embed.message : null;
  3.   embed.footer ? delete embed.footer.embed : null;
  4.   embed.provider ? delete embed.provider.embed : null;
  5.   embed.thumbnail ? delete embed.thumbnail.embed : null;
  6.   embed.image ? delete embed.image.embed : null;
  7.   embed.author ? delete embed.author.embed : null;
  8.   embed.fields ? embed.fields.forEach(f => {delete f.embed;}) : null;
  9.   return embed;
  10. }
  11.  
  12. exports.run = async (client, message, args) => {
  13.   const modlog = client.channels.find('name', 'ninja-logs');
  14.   const caseNumber = args.shift();
  15.   const newReason = args.join(' ');
  16.  
  17.   await modlog.fetchMessages({limit:100}).then((messages) => {
  18.     const caseLog = messages.filter(m => m.author.id === client.user.id &&
  19.       m.embeds[0] &&
  20.       m.embeds[0].type === 'rich' &&
  21.       m.embeds[0].footer &&
  22.       m.embeds[0].footer.text.startsWith('Case') &&
  23.       m.embeds[0].footer.text === `Case ${caseNumber}`
  24.     ).first();
  25.     modlog.fetchMessage(caseLog.id).then(logMsg => {
  26.       const embed = logMsg.embeds[0];
  27.       embedSan(embed);
  28.       embed.description = embed.description.replace(`Awaiting moderator's input. Use nb/reason ${caseNumber} <reason>.`, newReason);
  29.      logMsg.edit({embed});
  30.    });
  31.  });
  32. };
  33.  
  34. exports.conf = {
  35.  aliases: [],
  36.  permLevel: 2
  37. };
  38.  
  39. exports.help = {
  40.  name: 'reason',
  41.  description: 'Updates an unset moderator action.',
  42.  usage: 'nb/reason <case number> <new reason>',
  43.  permissions: 'Administrator',
  44.  group: 'Admin Module'
  45. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement