diff options
| author | Unknown <jtsshieh@outlook.com> | 2018-03-31 21:48:49 -0400 |
|---|---|---|
| committer | Unknown <jtsshieh@outlook.com> | 2018-03-31 21:49:12 -0400 |
| commit | bdef4a086948d9d55d672c8fdcac62d45b8e8ade (patch) | |
| tree | 826ba3da5c0b52325fc2c282a907845b42efb0a9 /Plugins | |
| parent | 7d2830b1934a9cddd0fac4e65642d259fc31e528 (diff) | |
| download | PokeBot-bdef4a086948d9d55d672c8fdcac62d45b8e8ade.tar.gz PokeBot-bdef4a086948d9d55d672c8fdcac62d45b8e8ade.tar.bz2 PokeBot-bdef4a086948d9d55d672c8fdcac62d45b8e8ade.zip | |
Revert "test"
This reverts commit 7d2830b1934a9cddd0fac4e65642d259fc31e528.
Diffstat (limited to 'Plugins')
| -rw-r--r-- | Plugins/Music.js | 59 | ||||
| -rw-r--r-- | Plugins/economy.js | 40 | ||||
| -rw-r--r-- | Plugins/settings.js | 54 | ||||
| -rw-r--r-- | Plugins/whitelist.js | 28 |
4 files changed, 181 insertions, 0 deletions
diff --git a/Plugins/Music.js b/Plugins/Music.js new file mode 100644 index 0000000..2dbabda --- /dev/null +++ b/Plugins/Music.js @@ -0,0 +1,59 @@ +/** ************************************** + * + * Music: Plugin for PokeBot that interacts with the Lavalink API. + * Copyright (C) 2018 TheEdge, jtsshieh, Alee + * + * Licensed under the Open Software License version 3.0 + * + * *************************************/ + +exports.resolveTrack = async (term, sc) => { + const fetch = require('snekfetch'); + let track = await fetch.get('http://localhost:2344/loadtracks?identifier=' + term, { headers: { Authorization: 'iamaverysecurepassword' } }); + if (!track.body[0]) { + const search = 'http://localhost:2344/loadtracks?identifier=' + (sc ? 'scsearch:' : 'ytsearch:') + term; + track = await fetch.get(search, { headers: { Authorization: 'iamaverysecurepassword' } }); + } + return track.body[0]; +}; + +exports.play = async (bot, msg, track) => { + const player = await bot.player.join({ + d: { + guild_id: msg.guild.id, + channel_id: msg.member.voiceChannelID, + }, + host: 'localhost', + }); + if (!bot.queue.has(msg.guild.id)) { + bot.queue.set(msg.guild.id, []); + bot.queue.get(msg.guild.id).push(track); + player.play(bot.queue.get(msg.guild.id).shift()); + player.on('end', () => { + if (bot.queue.get(msg.guild.id)[0]) { + player.play(bot.queue.get(msg.guild.id).shift()); + } + else { + bot.player.leave(msg.guild.id); + } + }); + } + else { + bot.queue.get(msg.guild.id).push(track); + } +}; + +exports.skip = async (bot, msg) => { + const player = await bot.player.join({ + guild: msg.guild.id, + channel: msg.member.voiceChannelID, + host: 'localhost', + }); + if (bot.queue.has(msg.guild.id)) { + player.stop(); + player.emit('end'); + } + else { + return msg.channel.send('There is nothing playing.'); + } +}; diff --git a/Plugins/economy.js b/Plugins/economy.js new file mode 100644 index 0000000..3658ce8 --- /dev/null +++ b/Plugins/economy.js @@ -0,0 +1,40 @@ +/** ************************************** + * + * Economy: Plugin for PokeBot that enables economy features. + * Copyright (C) 2018 TheEdge, jtsshieh, Alee + * + * Licensed under the Open Software License version 3.0 + * + * *************************************/ + +const db = require('quick.db'); +exports.get = async (userid) => { + const amount = await db.fetch(`money_${userid}`); + if (amount) { + return amount; + } + else { + await db.set(`money_${userid}`, 0); + return await db.fetch(`money_${userid}`); + } +}; + +exports.add = async (userid, money) => { + const amount = await db.fetch(`money_${userid}`); + if (amount) { + await db.set(`money_${userid}`, amount + money); + } + else { + await db.set(`money_${userid}`, money); + } +}; + +exports.subtract = async (userid, money) => { + const amount = await db.fetch(`money_${userid}`); + if (amount) { + await db.set(`money_${userid}`, amount - money); + } + else { + await db.set(`money_${userid}`, 0 - money); + } +}; diff --git a/Plugins/settings.js b/Plugins/settings.js new file mode 100644 index 0000000..bfa15d5 --- /dev/null +++ b/Plugins/settings.js @@ -0,0 +1,54 @@ +/** ************************************** + * + * Settings: Plugin for PokeBot that enables settings features. + * Copyright (C) 2018 TheEdge, jtsshieh, Alee + * + * Licensed under the Open Software License version 3.0 + * + * *************************************/ + +const db = require('quick.db'); +exports.getInt = async (key, guildID) => { + const value = await db.fetch(`settings_${guildID}_${key}`); + if (value) { + return value; + } + else { + await db.set(`settings_${guildID}_${key}`, 0); + return await db.fetch(`settings_${guildID}_${key}`); + } +}; + +exports.getStr = async (key, guildID) => { + const value = await db.fetch(`settings_${guildID}_${key}`); + if (value) { + return value; + } + else { + await db.set(`settings_${guildID}_${key}`, ''); + return await db.fetch(`settings_${guildID}_${key}`); + } +}; + +exports.getBool = async (key, guildID) => { + const value = await db.fetch(`settings_${guildID}_${key}`); + if (value) { + return value; + } + else { + await db.set(`settings_${guildID}_${key}`, false); + return await db.fetch(`settings_${guildID}_${key}`); + } +}; + +exports.setInt = async (key, value, guildID) => { + await db.set(`settings_${guildID}_${key}`, parseInt(value)); +}; + +exports.setStr = async (key, value, guildID) => { + await db.set(`settings_${guildID}_${key}`, value); +}; + +exports.setBool = async (key, value, guildID) => { + await db.set(`settings_${guildID}_${key}`, (value == true)); +}; diff --git a/Plugins/whitelist.js b/Plugins/whitelist.js new file mode 100644 index 0000000..41b4398 --- /dev/null +++ b/Plugins/whitelist.js @@ -0,0 +1,28 @@ +/** ************************************** + * + * Whittelist: Plugin for PokeBot that let's the owners whitelist servers. + * Copyright (C) 2018 TheEdge, jtsshieh, Alee + * + * Licensed under the Open Software License version 3.0 + * + * *************************************/ + +const db = require('quick.db'); +exports.whitelist = async (guildID) => { + await db.set(`whitelist_${guildID}`, true); +}; + +exports.unwhitelist = async (guildID) => { + await db.set(`whitelist_${guildID}`, false); +}; + +exports.isWhitelist = async (guildID) => { + const value = await db.fetch(`whitelist_${guildID}`); + if (value) { + return value; + } + else { + await db.set(`whitelist_${guildID}`, false); + return await db.fetch(`whitelist_${guildID}`); + } +}; |
