aboutsummaryrefslogtreecommitdiff
path: root/commands/Pokemon
diff options
context:
space:
mode:
authorTrey <trey6979@gmail.com>2018-04-06 13:37:22 -0400
committerTrey <trey6979@gmail.com>2018-04-06 13:37:22 -0400
commit20b860bb2299d4a45aa9899fcab2b340cbe9a0b5 (patch)
tree4022b84287f9df17854947a6f6ae98665719f209 /commands/Pokemon
parentb85b686829798f29f5f19fe919ae8807ef9ad69c (diff)
parente39d116465334ce84ee06267e8defb6007dddf22 (diff)
downloadPokeBot-20b860bb2299d4a45aa9899fcab2b340cbe9a0b5.tar.gz
PokeBot-20b860bb2299d4a45aa9899fcab2b340cbe9a0b5.tar.bz2
PokeBot-20b860bb2299d4a45aa9899fcab2b340cbe9a0b5.zip
Merge branch 'master' of https://github.com/PokeWorld/PokeBot
Diffstat (limited to 'commands/Pokemon')
-rw-r--r--commands/Pokemon/claim.js102
-rw-r--r--commands/Pokemon/drop.js16
-rw-r--r--commands/Pokemon/forcedrop.js18
-rw-r--r--commands/Pokemon/join.js18
-rw-r--r--commands/Pokemon/leave.js16
-rw-r--r--commands/Pokemon/lsitem.js13
-rw-r--r--commands/Pokemon/tradegym.js16
7 files changed, 61 insertions, 138 deletions
diff --git a/commands/Pokemon/claim.js b/commands/Pokemon/claim.js
index c91b20e..e76c2a7 100644
--- a/commands/Pokemon/claim.js
+++ b/commands/Pokemon/claim.js
@@ -3,73 +3,57 @@
* Claim: Plugin for PokeBot that powers the PokeWorld gym system.
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
exports.run = async (bot, msg) => {
- if (msg.guild.id != '417088992329334792') return msg.reply ('This is a PokeWorld exclusive command. Sorry!');
+ const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
+ if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
+
if (!msg.channel.name.startsWith('gym-')) return msg.reply('Go into one of the gym channels and try again.');
- if (msg.channel.topic == 'Current Owner: *none*') {
- let team;
- if (msg.member.roles.find('name', 'Skull')) team = 'Skull';
- if (msg.member.roles.find('name', 'Flare')) team = 'Flare';
+
+ if (!bot.plugins.gyms.isOwned(msg.channel.topic)) {
+ const team = bot.plugins.gyms.getTeam(msg.member);
if (!team) return msg.reply('You have to join a team before you can claim a gym.');
msg.reply('Alright, you have claimed this gym as yours! Be ready to battle anyone who approaches you');
- msg.channel.setTopic('Current Owner: ' + msg.author.id + '/' + msg.author.tag + '/' + team);
- }
- else {
- let team;
- if (msg.member.roles.find('name', 'Skull')) team = 'Skull';
- if (msg.member.roles.find('name', 'Flare')) team = 'Flare';
- if (!team) return msg.reply('You have to join a team before you can claim a gym.');
- const owner = msg.channel.topic.slice(15).substring(0, 18);
- if (msg.guild.members.find('id', owner).roles.find('name', team)) return msg.reply('Don\'t try battling your own team. They won\'t like you.');
- if (bot.gyms.get(msg.channel.id) != null) return msg.reply('Nope, someone is already battling the gym.');
- msg.channel.send('<@' + owner + '>, come here as ' + msg.member.displayName + ' wants to battle you.');
- const func = async mess => {
- if (mess.channel != msg.channel) return;
- let field = mess.embeds[0];
- if (!field) return;
- field = field.description;
- if (!field) return;
- field = field.split('\n')[0];
- if (!field) return;
- field = field.split(' ')[0];
- if (field != undefined) {
- const user = msg.guild.members.find(member => member.user.username === field);
- if (user != undefined) {
- if (user.id == owner) {
- await msg.channel.send('The owner has not been defeated!');
- bot.gyms.set(msg.channel.id, null);
- bot.removeListener('message', func);
- }
- if (user.id == msg.author.id) {
- await msg.channel.send('The owner has been defeated! Transferring gym!');
- let recipientTeam;
- if (msg.member.roles.find('name', 'Skull')) recipientTeam = 'Skull';
- if (msg.member.roles.find('name', 'Flare')) recipientTeam = 'Flare';
- await msg.channel.setTopic('Current Owner: ' + msg.member.id + '/' + msg.author.tag + '/' + recipientTeam);
- bot.gyms.set(msg.channel.id, null);
- bot.removeListener('message', func);
- }
- }
- }
- };
- bot.gyms.set(msg.channel.id, func);
- bot.on('message', func);
+ return msg.channel.setTopic(bot.plugins.gyms.getGymString(bot, msg.member));
}
+
+ const team = bot.plugins.gyms.getTeam(msg.member);
+ if (!team) return msg.reply('You have to join a team before you can claim a gym.');
+
+ const owner = bot.plugins.gyms.getOwnerId(msg.channel.topic);
+ if (msg.guild.members.find('id', owner).roles.find('name', team)) return msg.reply('Don\'t try battling your own team. They won\'t like you.');
+
+ if (bot.gyms.get(msg.channel.id) != null) return msg.reply('Nope, someone is already battling the gym.');
+
+ msg.channel.send('<@' + owner + '>, come here as ' + msg.member.displayName + ' wants to battle you.');
+
+ const func = async mess => {
+ if (mess.channel != msg.channel) return;
+ if (!mess.embeds[0] &&
+ !mess.embeds[0].description &&
+ !mess.embeds[0].description.split('\n')[0] &&
+ !mess.embeds[0].description.split('\n')[0].split(' ')[0]
+ ) return;
+
+ const field = mess.embeds[0].description.split('\n')[0].split(' ')[0];
+ const user = msg.guild.members.find(member => member.user.username === field);
+ if (!user) return;
+ if (user.id == owner) {
+ await msg.channel.send('The owner has not been defeated!');
+ }
+ else if (user.id == msg.author.id) {
+ await msg.channel.send('The owner has been defeated! Transferring gym!');
+ await msg.channel.setTopic(bot.plugins.gyms.getGymString(bot, msg.member));
+ }
+ else { return; }
+ bot.gyms.set(msg.channel.id, null);
+ bot.removeListener('message', func);
+ };
+ bot.gyms.set(msg.channel.id, func);
+ bot.on('message', func);
};
exports.conf = {
diff --git a/commands/Pokemon/drop.js b/commands/Pokemon/drop.js
index 1746898..3b2bf97 100644
--- a/commands/Pokemon/drop.js
+++ b/commands/Pokemon/drop.js
@@ -3,23 +3,13 @@
* Drop: Plugin for PokeBot that powers the PokeWorld gym system.
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
exports.run = async (bot, msg) => {
- if (msg.guild.id != '417088992329334792') return msg.reply ('This is a PokeWorld exclusive command. Sorry!');
+ const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
+ if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
if (!msg.channel.name.startsWith('gym-')) return msg.reply('Go into one of the gym channels and try again.');
if (msg.channel.topic == 'Current Owner: *none*') {
msg.reply('There is no owner for this gym. Claim it now with p:claim!');
diff --git a/commands/Pokemon/forcedrop.js b/commands/Pokemon/forcedrop.js
index 2f68759..50a9acf 100644
--- a/commands/Pokemon/forcedrop.js
+++ b/commands/Pokemon/forcedrop.js
@@ -3,24 +3,14 @@
* Ban: Plugin for PokeBot that powers the PokeWorld gym system.
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
exports.run = async (bot, msg) => {
- if (msg.guild.id != '417088992329334792') return msg.reply ('This is a PokeWorld exclusive command. Sorry!');
-
+ const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
+ if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
+
if (!msg.member.hasPermission('MANAGE_MESSAGES')) return msg.reply('You don\'t have permssion to ban members.');
if (!msg.channel.name.startsWith('gym-')) return msg.reply('Go into one of the gym channels and try again.');
if (msg.channel.topic == 'Current Owner: *none*') {
diff --git a/commands/Pokemon/join.js b/commands/Pokemon/join.js
index 506fabb..2187eef 100644
--- a/commands/Pokemon/join.js
+++ b/commands/Pokemon/join.js
@@ -3,23 +3,13 @@
* Join: Plugin for PokeBot that powers the PokeWorld team system.
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
exports.run = async (bot, msg, args) => {
- if (msg.guild.id != '417088992329334792') return msg.reply ('This is a PokeWorld exclusive command. Sorry!');
+ const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
+ if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
if (args.length < 1) return msg.reply('Please choose a team to join');
@@ -68,5 +58,5 @@ exports.conf = {
exports.help = {
name: 'join',
description: 'Join one of the teams!',
- usage: '<aqua/rocket/magma>',
+ usage: '<flare/skull>',
};
diff --git a/commands/Pokemon/leave.js b/commands/Pokemon/leave.js
index 13ba141..813debe 100644
--- a/commands/Pokemon/leave.js
+++ b/commands/Pokemon/leave.js
@@ -3,23 +3,13 @@
* Leave: Plugin for PokeBot that powers the PokeWorld team system.
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
exports.run = async (bot, msg) => {
- if (msg.guild.id != '417088992329334792') return msg.reply ('This is a PokeWorld exclusive command. Sorry!');
+ const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
+ if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
if (msg.member.roles.find('name', 'Skull')) {
msg.member.removeRole(msg.guild.roles.find('name', 'Skull'));
diff --git a/commands/Pokemon/lsitem.js b/commands/Pokemon/lsitem.js
index fad8bb3..dd628ae 100644
--- a/commands/Pokemon/lsitem.js
+++ b/commands/Pokemon/lsitem.js
@@ -3,18 +3,7 @@
* LSItem: Plugin for lists an item for sale in the marketplace
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
diff --git a/commands/Pokemon/tradegym.js b/commands/Pokemon/tradegym.js
index b9d590b..e195b62 100644
--- a/commands/Pokemon/tradegym.js
+++ b/commands/Pokemon/tradegym.js
@@ -3,23 +3,13 @@
* TradeGym: Plugin for PokeBot that powers the PokeWorld gym system.
* Copyright (C) 2018 TheEdge, jtsshieh, Alee
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * Licensed under the Open Software License version 3.0
*
* *************************************/
exports.run = async (bot, msg) => {
- if (msg.guild.id != '417088992329334792') return msg.reply ('This is a PokeWorld exclusive command. Sorry!');
+ const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
+ if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
if (!msg.channel.name.startsWith('gym-')) return msg.reply('Go into one of the gym channels and try again.');
let team;