mirror of
https://github.com/LBRYFoundation/lbry-wunderbot.git
synced 2025-08-23 17:47:27 +00:00
129 lines
6.9 KiB
JavaScript
129 lines
6.9 KiB
JavaScript
//let config = require('config');
|
|
//let botconfig = config.get('bot');
|
|
//let rolelist = config.get('rolelist');
|
|
//let inPrivate = require('../helpers.js').inPrivate;
|
|
//
|
|
//exports.commands = [
|
|
// 'addrole', // command that is in this file, every command needs it own export as shown below
|
|
// 'delrole',
|
|
// 'roles'
|
|
//];
|
|
//
|
|
//exports.addrole = {
|
|
// usage: '<role>',
|
|
// description: 'Adds you to specified role',
|
|
// process: function(bot, msg, suffix) {
|
|
// // Provide shortened syntax for the sake of code cleanliness
|
|
// let send = msgTxt => msg.channel.send(msgTxt);
|
|
// // Checks if the user has messaged the bot via Direct Message
|
|
// if (inPrivate(msg)) return send('You can not set roles in DMs! Please go to the Discord server to do this.');
|
|
//
|
|
// // Here the bot, msg and suffix is avaible, this function can be async if needed.
|
|
// // Make sure to eliminate case sensitivity, do this here to only perform the sweep once.
|
|
// let newrole = msg.guild.roles.find(role => role.name.toLowerCase() === suffix.toLowerCase());
|
|
// // Baserole is assumed to already be case accurate as it's handled in the config itself.
|
|
// let baserole = msg.guild.roles.find(item => item.name === rolelist.baserole);
|
|
//
|
|
// let rolecmd = botconfig.prefix + 'roles';
|
|
//
|
|
// // Checks if the user included a role in their message
|
|
// if (!suffix) return send('Please specify a role. Type ' + rolecmd + ' to see which you may add yourself!');
|
|
// // Checks if there is a matching role found on the server
|
|
// if (!newrole) return send('The role specified `' + suffix + '` does not exist on this server!');
|
|
// // Checks that the allowed roles and base role against the matched role's name, since this eliminates case sensitivity issues
|
|
// if (!rolelist.allowedroles.includes(newrole.name) && !rolelist.baserole.includes(newrole.name)) return send("That role isn't one you can add yourself to! Type " + rolecmd + ' command to find out which ones are allowed.');
|
|
// // Use the matched name to check against the member's existing roles
|
|
// if (msg.member.roles.find(item => item.name === newrole.name)) return send('It seems you already have the ' + newrole.name + ' role');
|
|
//
|
|
// // Assuming all these factors succeed, add the role
|
|
// msg.member.addRole(newrole).then(send(msg.member + ' has been added to the ' + newrole.name + ' role!'));
|
|
//
|
|
// // Check if a baserole is actually set
|
|
// if (!rolelist.baserole) return;
|
|
// // Confirm that the role exists on the server and if not then be sure to send a nag message
|
|
// if (!baserole) return send('The base role of ' + rolelist.baserole + ' has been set in config but is missing from the server');
|
|
// // Checks if the new role being added is the same as the baserole, then skips the messages below if this is the case.
|
|
// if (newrole == baserole) return;
|
|
// // Confirm if the user has the baserole already, including if it was added just now
|
|
// if (msg.member.roles.find(item => item.name === baserole.name)) return;
|
|
// // Add the base role and avoid spamming the user by only mentioning them in the previous message
|
|
// msg.member.addRole(baserole).then(send('We also added the base ' + rolelist.baserole + ' role for you!'));
|
|
// }
|
|
//};
|
|
//exports.delrole = {
|
|
// usage: '<role>',
|
|
// description: 'Deletes the specified role from your account',
|
|
// process: function(bot, msg, suffix) {
|
|
// // Provide shortened syntax for the sake of code cleanliness
|
|
// let send = msgTxt => msg.channel.send(msgTxt);
|
|
// // Checks if the user has messaged the bot via Direct Message
|
|
// if (inPrivate(msg)) return send('You can not set roles in DMs! Please go to the Discord server to do this.');
|
|
// // Here in the bot, msg and suffix are available, this function can be async if needed.
|
|
// // Make sure to eliminate case sensitivity, do this here to only perform the sweep once.
|
|
// let oldrole = msg.guild.roles.find(role => role.name.toLowerCase() === suffix.toLowerCase());
|
|
// let rolecmd = botconfig.prefix + 'roles';
|
|
// // Checks if the user included a role in their message
|
|
// if (!suffix) return send('Please specify a role. Type ' + rolecmd + ' to see which you may remove yourself!');
|
|
// // Checks if there is a matching role found on the server
|
|
// if (!oldrole) return send('The role specified `' + suffix + '` does not exist on this server!');
|
|
// // Checks that the allowed roles against the matched role's name, since this eliminates case sensitivity issues
|
|
// if (!rolelist.allowedroles.includes(oldrole.name)) return send("That role isn't one you can remove yourself! If you need it removed, please ask a moderator!");
|
|
// // Use the matched name to check against the member's existing roles
|
|
// if (!msg.member.roles.find(item => item.name === oldrole.name)) return send("It seems you don't actually have the " + oldrole.name + ' role! Mission accomplished!');
|
|
//
|
|
// // Assuming all these factors succeed, add the role
|
|
// msg.member.removeRole(oldrole).then(send(msg.member + ' has been removed from the ' + oldrole.name + ' role!'));
|
|
// }
|
|
//};
|
|
//exports.roles = {
|
|
// usage: '',
|
|
// description: 'displays roles you can give yourself',
|
|
// process: function(bot, msg, suffix) {
|
|
// let send = msgTxt => msg.channel.send(msgTxt);
|
|
// if (inPrivate(msg)) return send('You can not set roles in DMs! Please go to the Discord server to do this.');
|
|
// else {
|
|
// // Here in the bot, msg and suffix are available, this function can be async if needed.
|
|
// send({
|
|
// embed: {
|
|
// color: 3447003,
|
|
// title: 'Wunderbot',
|
|
// description: 'You have accessed the rolebot function of Wunderbot!',
|
|
// fields: [
|
|
// {
|
|
// name: 'List of roles',
|
|
// value: buildRoleString(rolelist.allowedroles) + '`' + rolelist.baserole + '`',
|
|
// inline: false
|
|
// },
|
|
// {
|
|
// name: 'How to add a role to yourself',
|
|
// value: '!addrole (role) - Adds a specified role to yourself.\n!addrole International would add the International role.',
|
|
// inline: false
|
|
// },
|
|
// {
|
|
// name: 'How to remove a role from yourself',
|
|
// value: '!delrole (role) - Removed a specified role from yourself.\n!delrole International would remove the International role.',
|
|
// inline: false
|
|
// },
|
|
// {
|
|
// name: 'NOTE',
|
|
// value: 'The LBRY-Curious role will be auto-added when you chose any of the available roles',
|
|
// inline: false
|
|
// }
|
|
// ],
|
|
// footer: {
|
|
// icon_url: msg.author.avatarURL,
|
|
// text: 'Requested by: ' + JSON.stringify(msg.author.username)
|
|
// }
|
|
// }
|
|
// });
|
|
// }
|
|
// }
|
|
//};
|
|
//
|
|
//function buildRoleString(roles) {
|
|
// let str = '';
|
|
// for (let i = 0; i < roles.length; i++) {
|
|
// str += '`' + roles[i] + '`' + '\n';
|
|
// }
|
|
// return str;
|
|
//}
|