aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUnknown <jtsshieh@outlook.com>2018-03-27 19:19:45 -0400
committerUnknown <jtsshieh@outlook.com>2018-03-27 19:19:45 -0400
commit4ce48074d53d128edb4b944e931f30f6f7f48ae2 (patch)
tree561c9eafb03cf60d0def22d77fd8f71e1754ba53
parenta42eeca0dcff181c2547c956e3a9cac9ed4d66e2 (diff)
downloadPokeBot-4ce48074d53d128edb4b944e931f30f6f7f48ae2.tar.gz
PokeBot-4ce48074d53d128edb4b944e931f30f6f7f48ae2.tar.bz2
PokeBot-4ce48074d53d128edb4b944e931f30f6f7f48ae2.zip
welcome to the new claim command
-rw-r--r--bot.js2
-rw-r--r--commands/Pokemon/claim.js15
2 files changed, 17 insertions, 0 deletions
diff --git a/bot.js b/bot.js
index 211a79b..520e951 100644
--- a/bot.js
+++ b/bot.js
@@ -14,6 +14,8 @@ cmdLoader();
bot.Raven = require('raven');
bot.Raven.config(config.sentry).install();
+bot.gyms = new Discord.Collection();
+bot.cooldown = [];
async function cmdLoader() {
const categories = await fs.readdirSync('./commands');
diff --git a/commands/Pokemon/claim.js b/commands/Pokemon/claim.js
index 94e0064..5d2085c 100644
--- a/commands/Pokemon/claim.js
+++ b/commands/Pokemon/claim.js
@@ -38,6 +38,7 @@ exports.run = async (bot, msg) => {
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;
@@ -57,16 +58,30 @@ exports.run = async (bot, msg) => {
}
if (user.id == msg.author.id) {
await msg.channel.send('The owner has been defeated! Transfaring gym!');
+ bot.cooldown.push(msg.channel.id);
+ let lastProcessedHour = -1;
+ setInterval(function() {
+ const d = new Date();
+ const currentHour = d.getHours();
+ if (currentHour != lastProcessedHour) {
+ const index = bot.cooldown.indexOf(msg.channel.id);
+ if (index !== -1) bot.cooldown.splice(index, 1);
+
+ lastProcessedHour = currentHour;
+ }
+ }, 1000);
let recipientTeam;
if (msg.member.roles.find('name', 'Aqua')) recipientTeam = 'Aqua';
if (msg.member.roles.find('name', 'Rocket')) recipientTeam = 'Rocket';
if (msg.member.roles.find('name', 'Magma')) recipientTeam = 'Magma';
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);
}
};