aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorUnknown <jtsshieh@outlook.com>2018-03-31 21:50:10 -0400
committerUnknown <jtsshieh@outlook.com>2018-03-31 21:50:10 -0400
commitf5cdce9c53e3b1b21727c987510bd5522f0d5fb1 (patch)
treefcd354561a2d06953e4a6bda5dfadd97372a0d2b /test
parent308808907e28a90747d6b218866560c7cc9986c6 (diff)
downloadPokeBot-f5cdce9c53e3b1b21727c987510bd5522f0d5fb1.tar.gz
PokeBot-f5cdce9c53e3b1b21727c987510bd5522f0d5fb1.tar.bz2
PokeBot-f5cdce9c53e3b1b21727c987510bd5522f0d5fb1.zip
Auto stash before revert of "test"
Diffstat (limited to 'test')
-rw-r--r--test/economy.js40
-rw-r--r--test/music.js59
-rw-r--r--test/settings.js54
-rw-r--r--test/whitelist.js28
4 files changed, 181 insertions, 0 deletions
diff --git a/test/economy.js b/test/economy.js
new file mode 100644
index 0000000..3658ce8
--- /dev/null
+++ b/test/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/test/music.js b/test/music.js
new file mode 100644
index 0000000..2dbabda
--- /dev/null
+++ b/test/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/test/settings.js b/test/settings.js
new file mode 100644
index 0000000..bfa15d5
--- /dev/null
+++ b/test/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/test/whitelist.js b/test/whitelist.js
new file mode 100644
index 0000000..41b4398
--- /dev/null
+++ b/test/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}`);
+ }
+};