aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrey-Server <trey6979@gmail.com>2018-03-19 00:10:51 +0000
committerTrey-Server <trey6979@gmail.com>2018-03-19 00:10:51 +0000
commit62172685f32f8d4262d15528eaae8a8af2d85d24 (patch)
treebab4216bf721502ee74882b288d1655f180b4acb
parent3f196569f0b2f2bab12728574398177f8665a3ec (diff)
parentc0bbf4e2183735bc7eb65a255eccc09f127a160d (diff)
downloadPokeBot-62172685f32f8d4262d15528eaae8a8af2d85d24.tar.gz
PokeBot-62172685f32f8d4262d15528eaae8a8af2d85d24.tar.bz2
PokeBot-62172685f32f8d4262d15528eaae8a8af2d85d24.zip
Merge branch 'master' of https://github.com/PokeWorld/PokeBot
-rw-r--r--.gitignore4
-rw-r--r--assets/Ketchum.otfbin0 -> 29100 bytes
-rw-r--r--assets/Pokemon_Leave_Template.pngbin0 -> 45955 bytes
-rw-r--r--assets/Pokemon_Welcome_Template.pngbin0 -> 45643 bytes
-rw-r--r--bot.js3
-rw-r--r--commands/Getting Started/test.js79
-rw-r--r--commands/Getting Started/test2.js79
-rw-r--r--commands/Owners Only/triggeregg.js39
-rw-r--r--commands/Pokemon/claim.js10
-rw-r--r--events/guildMemberAdd.js59
-rw-r--r--package.json21
11 files changed, 269 insertions, 25 deletions
diff --git a/.gitignore b/.gitignore
index 9315881..910fc2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,7 @@ node_modules
config.json
*.json
*.sqlite
+
+package.json
+package-lock.json
+*.json
diff --git a/assets/Ketchum.otf b/assets/Ketchum.otf
new file mode 100644
index 0000000..c77c8a0
--- /dev/null
+++ b/assets/Ketchum.otf
Binary files differ
diff --git a/assets/Pokemon_Leave_Template.png b/assets/Pokemon_Leave_Template.png
new file mode 100644
index 0000000..6e50fec
--- /dev/null
+++ b/assets/Pokemon_Leave_Template.png
Binary files differ
diff --git a/assets/Pokemon_Welcome_Template.png b/assets/Pokemon_Welcome_Template.png
new file mode 100644
index 0000000..eec6530
--- /dev/null
+++ b/assets/Pokemon_Welcome_Template.png
Binary files differ
diff --git a/bot.js b/bot.js
index 6cf574e..eb343f1 100644
--- a/bot.js
+++ b/bot.js
@@ -12,6 +12,9 @@ bot.queue = new Discord.Collection();
bot.plugins = { music : require('./Plugins/Music.js') , economy : require('./Plugins/Economy.js'), settings : require('./Plugins/settings.js')};
cmdLoader();
+const Raven = require('raven');
+Raven.config(config.sentry).install();
+
async function cmdLoader() {
const categories = await fs.readdirSync('./commands');
console.log(`Loading ${categories.length} categories(s) into memory\n`);
diff --git a/commands/Getting Started/test.js b/commands/Getting Started/test.js
new file mode 100644
index 0000000..2152b90
--- /dev/null
+++ b/commands/Getting Started/test.js
@@ -0,0 +1,79 @@
+/** **************************************
+ *
+ * Test: Plugin for PokeBot that helps us test new features
+ * 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/>.
+ *
+ * *************************************/
+
+exports.run = async (bot, msg) => {
+ const Canvas = require('canvas');
+ const request = require('request-promise');
+ Canvas.registerFont('./assets/Ketchum.otf', {
+ family: 'Ketchum'
+ });
+ const canvas = Canvas.createCanvas(1500, 500);
+ const ctx = canvas.getContext('2d');
+ const Image = Canvas.Image;
+ const base = new Image();
+ const avatar = new Image();
+ const fs = require('fs');
+
+ avatar.src = await request({
+ uri: msg.author.avatarURL,
+ encoding: null
+ });
+ base.src = await fs.readFileSync('./assets/Pokemon_Welcome_Template.png');
+ ctx.drawImage(base, 0, 0, 1500, 500);
+
+ ctx.font = '100px Ketchum';
+ ctx.fillStyle = '#e5da2a';
+ ctx.strokeStyle = '#3b4cca';
+ ctx.lineWidth = 5;
+ ctx.fillText(msg.author.tag, 475, 175);
+ ctx.strokeText(msg.author.tag, 475, 175);
+
+ ctx.font = '55px Ketchum';
+ ctx.fillStyle = '#fff';
+ ctx.fillText(msg.guild.name, 800, 325);
+
+ ctx.font = '40px Ketchum';
+ ctx.fillStyle = '#fff';
+ ctx.fillText(msg.guild.memberCount + ' members', 100, 70);
+
+ ctx.globalAlpha = 1;
+ ctx.beginPath();
+ ctx.arc(208, 267, 166, 0, 2 * Math.PI, true);
+ ctx.closePath();
+ ctx.clip();
+ ctx.drawImage(avatar, 43, 101, 329, 331);
+ return msg.channel.send({
+ files: [{
+ attachment: canvas.toBuffer(),
+ name: 'welcomeCard.png'
+ }
+ ]
+ });
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: true,
+};
+
+exports.help = {
+ name: 'test',
+ description: 'Introduces you to the PokeWorld server!',
+};
diff --git a/commands/Getting Started/test2.js b/commands/Getting Started/test2.js
new file mode 100644
index 0000000..2ead6e1
--- /dev/null
+++ b/commands/Getting Started/test2.js
@@ -0,0 +1,79 @@
+/** **************************************
+ *
+ * Test: Plugin for PokeBot that helps us test new features
+ * 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/>.
+ *
+ * *************************************/
+
+exports.run = async (bot, msg) => {
+ const Canvas = require('canvas');
+ const request = require('request-promise');
+ Canvas.registerFont('./assets/Ketchum.otf', {
+ family: 'Ketchum'
+ });
+ const canvas = Canvas.createCanvas(1500, 500);
+ const ctx = canvas.getContext('2d');
+ const Image = Canvas.Image;
+ const base = new Image();
+ const avatar = new Image();
+ const fs = require('fs');
+
+ avatar.src = await request({
+ uri: msg.author.avatarURL,
+ encoding: null
+ });
+ base.src = await fs.readFileSync('./assets/Pokemon_Leave_Template.png');
+ ctx.drawImage(base, 0, 0, 1500, 500);
+
+ ctx.font = '100px Ketchum';
+ ctx.fillStyle = '#e5da2a';
+ ctx.strokeStyle = '#3b4cca';
+ ctx.lineWidth = 5;
+ ctx.fillText(msg.author.tag, 475, 175);
+ ctx.strokeText(msg.author.tag, 475, 175);
+
+ ctx.font = '55px Ketchum';
+ ctx.fillStyle = '#fff';
+ ctx.fillText(msg.guild.name, 915, 435);
+
+ ctx.font = '40px Ketchum';
+ ctx.fillStyle = '#fff';
+ ctx.fillText(msg.guild.memberCount + ' members', 100, 70);
+
+ ctx.globalAlpha = 1;
+ ctx.beginPath();
+ ctx.arc(208, 267, 166, 0, 2 * Math.PI, true);
+ ctx.closePath();
+ ctx.clip();
+ ctx.drawImage(avatar, 43, 101, 329, 331);
+ return msg.channel.send({
+ files: [{
+ attachment: canvas.toBuffer(),
+ name: 'leaveCard.png'
+ }
+ ]
+ });
+};
+
+exports.conf = {
+ aliases: [],
+ guildOnly: true,
+};
+
+exports.help = {
+ name: 'test2',
+ description: 'Introduces you to the PokeWorld server!',
+};
diff --git a/commands/Owners Only/triggeregg.js b/commands/Owners Only/triggeregg.js
new file mode 100644
index 0000000..472afd9
--- /dev/null
+++ b/commands/Owners Only/triggeregg.js
@@ -0,0 +1,39 @@
+/** **************************************
+ *
+ * TriggerEgg: Plugin for PokeBot that manages community events.
+ * 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/>.
+ *
+ * *************************************/
+
+exports.run = async (bot, msg, args) => {
+ if (!['242775871059001344', '247221105515823104', '236279900728721409'].includes(msg.author.id)) {
+ msg.reply('Nope! You need the person who created this bot to use this command.');
+ }
+ else {
+ msg.guild.channels.find('name', 'pokeegghunt').send(':egg: **An egg is available!** *Someone needs to battle for it though...*');
+ }
+ };
+
+ exports.conf = {
+ aliases: [],
+ guildOnly: true,
+ };
+
+ exports.help = {
+ name: 'triggeregg',
+ description: 'Sends an egg out for players to collect',
+ };
+ \ No newline at end of file
diff --git a/commands/Pokemon/claim.js b/commands/Pokemon/claim.js
index b0b6f2f..94e0064 100644
--- a/commands/Pokemon/claim.js
+++ b/commands/Pokemon/claim.js
@@ -39,7 +39,8 @@ exports.run = async (bot, msg) => {
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.');
msg.channel.send('<@' + owner + '>, come here as ' + msg.member.displayName + ' wants to battle you.');
- bot.on('message', async mess => {
+ const func = async mess => {
+ if (mess.channel != msg.channel) return;
let field = mess.embeds[0];
if (!field) return;
field = field.description;
@@ -52,7 +53,7 @@ exports.run = async (bot, msg) => {
if (user != undefined) {
if (user.id == owner) {
await msg.channel.send('The owner has not been defeated!');
- bot.removeListener('message', this);
+ bot.removeListener('message', func);
}
if (user.id == msg.author.id) {
await msg.channel.send('The owner has been defeated! Transfaring gym!');
@@ -61,11 +62,12 @@ exports.run = async (bot, msg) => {
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.removeListener('message', this);
+ bot.removeListener('message', func);
}
}
}
- });
+ };
+ bot.on('message', func);
}
};
diff --git a/events/guildMemberAdd.js b/events/guildMemberAdd.js
index 20b61b6..37a6287 100644
--- a/events/guildMemberAdd.js
+++ b/events/guildMemberAdd.js
@@ -32,7 +32,66 @@ module.exports = async (bot, member) => {
.setFooter(member.user.tag, member.user.avatarURL)
);
if (member.guild.id != '417088992329334792') return;
+ //try {
+ //draw(bot, member);
+ //}
+ //catch (err)
+ //{
+ //console.error(err.stack);
+ //}
bot.channels.find('name', 'welcome').send(`Welcome to the server **${member.user.tag}**! Make sure to read the rules! We now have ${member.guild.memberCount} members.`);
const role = member.guild.roles.find('name', 'Trainers');
member.addRole(role);
};
+
+/** ******************************************************************************
+* async function draw(bot, member) {
+* const Canvas = require('canvas');
+* const request = require('request-promise');
+* Canvas.registerFont('./assets/Ketchum.otf', {
+* family: 'Ketchum'
+* });
+* const canvas = Canvas.createCanvas(1500, 500);
+* const ctx = canvas.getContext('2d');
+* const Image = Canvas.Image;
+* const base = new Image();
+* const avatar = new Image();
+* const fs = require('fs');
+*
+* avatar.src = await request({
+* uri: member.user.avatarURL,
+* encoding: null
+* });
+* base.src = await fs.readFileSync('./assets/Pokemon_Server_Template.png');
+* ctx.drawImage(base, 0, 0, 1500, 500);
+*
+* //tag
+* ctx.font = '96px Ketchum';
+* ctx.fillStyle = '#e5da2a';
+* ctx.strokeStyle = '#3b4cca';
+* ctx.fillText(member.user.tag, 500, 200);
+* ctx.strokeText(member.user.tag, 500, 200);
+*
+*
+* //guild name
+* ctx.font = '55px Ketchum';
+* ctx.fillStyle = '#fff';
+* ctx.fillText(member.guild.name, 820, 310);
+*
+* //avatar
+* ctx.globalAlpha = 1;
+* ctx.beginPath();
+* ctx.arc(208, 267, 166, 0, 2 * Math.PI, true);
+* ctx.closePath();
+* ctx.clip();
+* ctx.drawImage(avatar, 43, 101, 329, 331);
+*
+* return bot.channels.find('name', 'welcome').send({
+* files: [{
+* attachment: canvas.toBuffer(),
+* name: 'profile.png'
+* }
+* ]
+* });
+* }
+******************************************************************************* */
diff --git a/package.json b/package.json
deleted file mode 100644
index 76b976c..0000000
--- a/package.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "pokebot",
- "version": "1.0.0",
- "description": "",
- "main": "bot.js",
- "scripts": {
- "test": "node test.js"
- },
- "author": "Alee, Justin, and Trey",
- "license": "GPL-3.0",
- "dependencies": {
- "canvas": "^2.0.0-alpha.11",
- "dblapi.js": "^1.2.0",
- "discord.js": "^11.3.0",
- "discord.js-lavalink": "github:mrjacz/discord.js-lavalink",
- "npm": "^5.7.1",
- "quick.db": "^5.3.8",
- "raven": "^2.4.2",
- "snekfetch": "^4.0.0-rc.0"
- }
-}