1 | exports.command = {
|
2 | name: "setcmdlev",
|
3 | autoload: true,
|
4 | unloadable: false,
|
5 | min_rank: 7,
|
6 | display: "Changes the rank needed to execute a command.",
|
7 | help: "This command is used to change the minimum rank an user must have to be able to " +
|
8 | "use a particular command.",
|
9 | usage: ".setcmdlev <command> <rank number>",
|
10 |
|
11 | execute: function(socket, command, command_access) {
|
12 | var chalk = require('chalk');
|
13 | if (command.split(' ').length !== 2) {
|
14 | socket.write(chalk.bold("Usage :") + " .setcmdlev <command> <rank number>\r\n");
|
15 | return;
|
16 | }
|
17 | var c = command.split(' ')[0];
|
18 | var r = command.split(' ')[1];
|
19 | var commands = command_access.findCommand(socket, c);
|
20 | if (commands.length === 0) {
|
21 | socket.write(chalk.ref(":: ") + "Sorry, there is no command called " + chalk.bold(c) + ".\r\n");
|
22 | return;
|
23 | }
|
24 | if (commands.length > 1) {
|
25 | var possibilities = "";
|
26 | for (var p = 0; p < commands.length - 1; p++) {
|
27 | possibilities += chalk.bold(commands[p].name) + ", ";
|
28 | }
|
29 | possibilities += chalk.bold(commands[commands.length - 1].name);
|
30 | return socket.write(chalk.yellow(":: ") + "Found " + chalk.cyan(commands.length) + " possible commands (" + possibilities + "). Please be more specific.\r\n");
|
31 | }
|
32 | var command_to_change = commands[0];
|
33 | var rank_number = parseInt(r,10);
|
34 | if (Number(r) !== rank_number || rank_number < 0) {
|
35 | socket.write(chalk.red(":: ") + chalk.bold(r) + " is no rank number.\r\n");
|
36 | return;
|
37 | }
|
38 | if (rank_number === command_access.getCmdRank(command_to_change.name)) {
|
39 | socket.write(chalk.red(":: ") + "Command " + chalk.bold(command_to_change.name) + " is already of rank level " +
|
40 | chalk.cyan(rank_number) + "!\r\n");
|
41 | return;
|
42 | }
|
43 | if (rank_number >= command_access.ranks.list.length) {
|
44 | socket.write(chalk.red(":: ") + "There aren't those many ranks!\r\n");
|
45 | return;
|
46 | }
|
47 | if (command_access.getCmdRank(command_to_change.name) > socket.db.rank) {
|
48 | socket.write(chalk.red(":: ") + "What a joker you are... " +
|
49 | "You don't even have access to that command!\r\n");
|
50 | return;
|
51 | }
|
52 | if (rank_number > socket.db.rank) {
|
53 | socket.write(chalk.red(":: ") + "Let the grown-ups decide if they want that command " +
|
54 | "only to themselves...\r\n");
|
55 | return;
|
56 | }
|
57 | command_access.setCmdRank(command_to_change.name,rank_number);
|
58 | socket.write(chalk.green(":: ") + "Changed " + chalk.bold(command_to_change.name) + " to rank " + chalk.cyan(rank_number) + ".\r\n");
|
59 | }
|
60 | }
|