Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Discord = require('discord.js');
- var client = new Discord.Client();
- var prefix = "-" ; // البرفكس
- var stopReacord = true;
- var reactionRoles = [];
- var definedReactionRole = null;
- client.on("message", async message => {
- const args = message.content.slice(prefix.length).trim().split(/ +/g);
- const command = args.shift().toLowerCase();
- if(message.author.bot) return;
- if(message.content.indexOf(prefix) !== 0) return;
- if (command == "autoc") {
- if(!message.channel.guild) return message.reply(`**this ~~command~~ __for servers only__**`);
- if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("sorry you can't do this");
- if(!args[0] || args[1]) return message.channel.send(`\`\`\`${prefix}autoC <role-name>\`\`\``);
- var role = message.guild.roles.find( role => { return role.name == args[0] });
- if(!role) return message.channel.send(`no role with name ${definedRoleName} found, make sure you entered correct name`);
- if(definedReactionRole != null || !stopReacord) return message.channel.send("another reaction role request is running");
- message.channel.send(`now go and add reaction in the message you want for role ${role.name}`);
- definedReactionRole = role;
- stopReacord = false;
- }
- })
- client.on('raw', raw => {
- if (!['MESSAGE_REACTION_ADD', 'MESSAGE_REACTION_REMOVE'].includes(raw.t)) return;
- var channel = client.channels.get(raw.d.channel_id);
- if (channel.messages.has(raw.d.message_id)) return;
- channel.fetchMessage(raw.d.message_id).then(message => {
- var reaction = message.reactions.get( (raw.d.emoji.id ? `${raw.d.emoji.name}:${raw.d.emoji.id}` : raw.d.emoji.name) );
- if (raw.t === 'MESSAGE_REACTION_ADD') return client.emit('messageReactionAdd', reaction, client.users.get(raw.d.user_id));
- if (raw.t === 'MESSAGE_REACTION_REMOVE') return client.emit('messageReactionRemove', reaction, client.users.get(raw.d.user_id));
- });
- });
- client.on('messageReactionAdd', (reaction, user) => {
- if(user.id == client.user.id) return;
- if(!stopReacord) {
- var done = false;
- reactionRoles[reaction.message.id] = { role: definedReactionRole, message_id: reaction.message.id, emoji: reaction.emoji};
- stopReacord = true;
- definedReactionRole = null;
- reaction.message.react(reaction.emoji.name)
- .catch(err => {done = true; reaction.message.channel.send(`sorry i can't use this emoji but the reaction role done! anyone react will get the role!`)})
- if(done) reaction.remove(user);
- } else {
- var request = reactionRoles[reaction.message.id];
- if(!request) return;
- if(request.emoji.name != reaction.emoji.name) return reaction.remove(user);
- reaction.message.guild.members.get(user.id).addRole(request.role);
- }
- })
- client.on('messageReactionRemove', (reaction, user) => {
- if(user.id == client.user.id) return;
- if(!stopReacord) return;
- let request = reactionRoles[reaction.message.id];
- if(!request) return;
- reaction.message.guild.members.get(user.id).removeRole(request.role);
- });
- client.login(" "); // حط توكن البوت داخل
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement