/**
 * @file messageReactionRemove event
 * @author Sankarsan Kampa (a.k.a k3rn31p4nic)
 * @license GPL-3.0
 */

module.exports = async (reaction, user) => {
  try {
    // TODO: reaction pinning removal logic
  }
  catch (e) {
    user.client.log.error(e);
  }
};

@@ -167,47 +167,649 @@
     
-// TODO: reaction pinning removal logic
+if (!reaction.message.guild) return;%0A%0A    let guildModel = await user.client.database.models.guild.findOne(%7B%0A      attributes: %5B 'reactionPinning' %5D,%0A      where: %7B%0A        guildID: reaction.message.guild.id%0A      %7D%0A    %7D);%0A%0A    if (!guildModel) return;%0A%0A    if (guildModel.dataValues.reactionPinning) %7B%0A      let pins = %5B '%F0%9F%93%8C', '%F0%9F%93%8D' %5D;%0A      if (!pins.includes(reaction.emoji.name)) return;%0A%0A      let authorizedUsers = reaction.users.filter(user =%3E reaction.message.channel.permissionsFor(user).has('MANAGE_MESSAGES'));%0A%0A      if (authorizedUsers.size === 0 && reaction.message.pinned) %7B%0A        await reaction.message.unpin();%0A      %7D%0A    %7D
 %0A  %7D

implement reactionPinning to messageReactionRemove event