Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.js');
- var rrId
- var rrId1
- var rrEmoji
- module.exports = {
- name: 'reactionrole',
- category: "Utility",
- description: 'Setup a reaction role!',
- cooldown: 10,
- execute(message, args, db, ref, admin, client) {
- const itemQuestions = new Discord.RichEmbed()
- .setColor('0x009fec')
- .setAuthor(message.author.tag, message.author.avatarURL)
- .addField('What channel should the message be in?', 'You have 1 minute to respond')
- const itemQuestions2 = new Discord.RichEmbed()
- .setColor('0x009fec')
- .setAuthor(message.author.tag, message.author.avatarURL)
- .addField('React to this message with the emoji.', 'You have 1 minute to react')
- const itemQuestions3 = new Discord.RichEmbed()
- .setColor('0x009fec')
- .setAuthor(message.author.tag, message.author.avatarURL)
- .addField('What should be the message?', 'You have 1 minute to respond')
- const itemQuestions4 = new Discord.RichEmbed()
- .setColor('0x009fec')
- .setAuthor(message.author.tag, message.author.avatarURL)
- .addField('What role do you want me to give to the user?', 'You have 1 minute to respond')
- message.channel.send(itemQuestions);
- const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 60000 });
- console.log('Collector started!')
- collector.on('collect', message1 => {
- if (!message1.mentions.channels.first()) {
- const deleteErrLowe0 = new Discord.RichEmbed()
- .setColor('#DC143C')
- .setAuthor(message1.author.tag, message1.author.avatarURL)
- .addField('Error!', `You need to enter a valid channel!`)
- message1.channel.send(deleteErrLowe0)
- }else {
- rrChannel = message1.mentions.channels.first()
- message1.channel.send(itemQuestions2).then(reactMessage1 => {
- rrId1 = reactMessage1
- console.log('Collector finished!')
- collector.stop()
- const filter = (reaction, user) => {
- return reaction.emoji.name && user.id === message.author.id;
- };
- console.log('Collector 2 started!')
- rrId1.awaitReactions(filter, { max: 1, time: 10000, errors: ['time'] })
- .then(collected => {
- const reaction = collected.first();
- rrEmoji = reaction.emoji
- message.channel.send(itemQuestions3)
- console.log(rrEmoji)
- console.log('Collector 2 finished!')
- const collector3 = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 60000 });
- console.log('Collector 3 started!')
- collector3.on('collect', message => {
- rrMess = message.content
- message.channel.send(itemQuestions4)
- console.log('Collector 3 finished!')
- collector3.stop()
- const collector4 = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 60000 });
- console.log('Collector 4 started!')
- collector4.on('collect', message => {
- if (!message.guild.roles.find(role => role.name === message.content)) {
- const deleteErrLower0 = new Discord.RichEmbed()
- .setColor('#DC143C')
- .setAuthor(message.author.tag, message.author.avatarURL)
- .addField('Error!', `That is not a valid role name!`)
- message.channel.send(deleteErrLower0)
- }else {
- item = message.guild.roles.find(role => role.name === message.content)
- const addItSuccess = new Discord.RichEmbed()
- .setColor('#7CFC00')
- .setAuthor(message.author.tag, message.author.avatarURL)
- .setTitle('Reaction role added!')
- .addField('Message:', rrMess, false)
- .addField('Role:', `<@&${item.id}>`, false)
- .setTimestamp()
- message.channel.send(addItSuccess)
- rrChannel.send(rrMess).then(reactMessage => {
- reactMessage.react(rrEmoji)
- rrId = reactMessage.id
- db.ref('reactionroles').child(`${rrId}`).set({
- role: `${item.id}`,
- })
- console.log('Collector 4 finished!')
- collector4.stop()
- });
- }});
- });
- });
- })
- .catch(collected => {
- message.reply('you reacted with neither a thumbs up, nor a thumbs down.');
- });
- }})
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement