Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Settings!
- const adminId = "";
- const setupCMD = "@initrolereactions"
- let initialMessage = `**React to the reactions below to assign your country!**`;
- const botToken = "";
- //Load up the bot...
- const Discord = require('discord.js');
- const mysql = require('mysql2');
- const chalk = require('chalk');
- const fs = require('fs');
- const settings = require('./settings.json');
- const bot = new Discord.Client();
- bot.login(botToken);
- const con = mysql.createConnection({
- host: settings.mysqlHost,
- user: settings.mysqlUser,
- password: settings.mysqlPass,
- database: settings.mysqlDB
- });
- const roles = [];
- const reactions = [];
- bot.on("message", message => {
- if (message.author.id == adminId && message.content.toLowerCase() == setupCMD) {
- con.query(`SELECT * FROM countries`, (err, rows) => {
- if (err) console.log(err);
- for (let row of rows) {
- roles.push(row.rolename);
- reactions.push(row.reaction);
- }
- message.channel.send(initialMessage).then( sent => {
- for (let reaction of reactions) {
- sent.react(reaction);
- }
- });
- });
- }
- })
- bot.on('messageReactionAdd', (reaction, user) => {
- if (reaction.message.author.id == bot.user.id) {
- let channel = bot.channels.get(reaction.message.channel.id);
- let message = channel.fetchMessage(reaction.message.id).then(msg=> {
- if (user.id != bot.user.id) {
- var emoji = reaction.emoji.id;
- if (emoji == null) emoji = reaction.emoji.name;
- var arr = JSON.parse(fs.readFileSync('./countries.json', 'utf8'));
- for (let row of arr) {
- if (row.reaction == emoji) {
- var role = row.rolename;
- var roleObj = msg.guild.roles.find(r => r.name === role);
- var memberObj = msg.guild.members.get(user.id);
- if (roleObj) {
- memberObj.addRole(roleObj).catch(console.error);
- } else {
- msg.guild.createRole({
- name: role
- }).then(role => memberObj.addRole(role))
- .catch(console.error);
- }
- }
- }
- }
- });
- }
- });
- bot.on('messageReactionRemove', (reaction, user) => {
- if (reaction.message.author.id == bot.user.id) {
- let channel = bot.channels.get(reaction.message.channel.id);
- let message = channel.fetchMessage(reaction.message.id).then(msg=> {
- if (user.id != bot.user.id) {
- var emoji = reaction.emoji.id;
- if (emoji == null) emoji = reaction.emoji.name;
- var arr = JSON.parse(fs.readFileSync('./countries.json', 'utf8'));
- for (let row of arr) {
- if (row.reaction == emoji) {
- var role = row.rolename;
- var roleObj = msg.guild.roles.find(r => r.name === role);
- var memberObj = msg.guild.members.get(user.id);
- if (user.id != bot.user.id){
- var roleObj = msg.guild.roles.find(r => r.name === role);
- var memberObj = msg.guild.members.get(user.id);
- memberObj.removeRole(roleObj).catch(console.error);
- }
- }
- }
- }
- });
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement