diff options
| author | Trey-Server <trey6979@gmail.com> | 2018-03-19 00:10:51 +0000 |
|---|---|---|
| committer | Trey-Server <trey6979@gmail.com> | 2018-03-19 00:10:51 +0000 |
| commit | 62172685f32f8d4262d15528eaae8a8af2d85d24 (patch) | |
| tree | bab4216bf721502ee74882b288d1655f180b4acb | |
| parent | 3f196569f0b2f2bab12728574398177f8665a3ec (diff) | |
| parent | c0bbf4e2183735bc7eb65a255eccc09f127a160d (diff) | |
| download | PokeBot-62172685f32f8d4262d15528eaae8a8af2d85d24.tar.gz PokeBot-62172685f32f8d4262d15528eaae8a8af2d85d24.tar.bz2 PokeBot-62172685f32f8d4262d15528eaae8a8af2d85d24.zip | |
Merge branch 'master' of https://github.com/PokeWorld/PokeBot
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | assets/Ketchum.otf | bin | 0 -> 29100 bytes | |||
| -rw-r--r-- | assets/Pokemon_Leave_Template.png | bin | 0 -> 45955 bytes | |||
| -rw-r--r-- | assets/Pokemon_Welcome_Template.png | bin | 0 -> 45643 bytes | |||
| -rw-r--r-- | bot.js | 3 | ||||
| -rw-r--r-- | commands/Getting Started/test.js | 79 | ||||
| -rw-r--r-- | commands/Getting Started/test2.js | 79 | ||||
| -rw-r--r-- | commands/Owners Only/triggeregg.js | 39 | ||||
| -rw-r--r-- | commands/Pokemon/claim.js | 10 | ||||
| -rw-r--r-- | events/guildMemberAdd.js | 59 | ||||
| -rw-r--r-- | package.json | 21 |
11 files changed, 269 insertions, 25 deletions
@@ -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 Binary files differnew file mode 100644 index 0000000..c77c8a0 --- /dev/null +++ b/assets/Ketchum.otf diff --git a/assets/Pokemon_Leave_Template.png b/assets/Pokemon_Leave_Template.png Binary files differnew file mode 100644 index 0000000..6e50fec --- /dev/null +++ b/assets/Pokemon_Leave_Template.png diff --git a/assets/Pokemon_Welcome_Template.png b/assets/Pokemon_Welcome_Template.png Binary files differnew file mode 100644 index 0000000..eec6530 --- /dev/null +++ b/assets/Pokemon_Welcome_Template.png @@ -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" - } -} |
