tweaks and trying to add a command

This commit is contained in:
Dalton
2018-12-05 19:10:58 -08:00
parent a56fa324f9
commit ceb5b65506
4 changed files with 72 additions and 50 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
auth.json auth.json
node_modules node_modules
package-lock.json package-lock.json
.idea

68
bot.js
View File

@@ -11,12 +11,10 @@ var channel = null;
// available commands // available commands
function availableCommands() { function availableCommands() {
var commands = "Available commands: " + return "Available commands: " +
"\n**[SFW]** b.<*coinflip, 8ball, roll, compute, bunny, dankmemes, meirl, animemes, moe, moe-boys, hotguys , kgirls, kboys*>" + "\n**[SFW]** b.<*coinflip, 8ball, roll, compute, bunny, dankmemes, meirl, animemes, moe, moe-boys, hotguys , kgirls, kboys*>" +
"\n**[NSFW]** b.<*lewd, ecchi, hentai, yaoi, yuri, neko, pokeporn, hgifs*>" + "\n**[NSFW]** b.<*lewd, ecchi, hentai, yaoi, yuri, neko, pokeporn, hgifs*>" +
"\nFor more information on a command, you may use: *b.help <command>*"; "\nFor more information on a command, you may use: *b.help <command>*";
return commands;
} }
// help commands // help commands
@@ -56,7 +54,7 @@ function commandsHelp(requestedCommand) {
// coin flip // coin flip
function coinFlip() { function coinFlip() {
return (Math.floor(Math.random() * 2) == 0) ? 'heads' : 'tails'; return (Math.floor(Math.random() * 2) === 0) ? 'heads' : 'tails';
} }
// 8 ball // 8 ball
@@ -108,7 +106,7 @@ function imgurRequest(subreddit, page_max)
req.onreadystatechange = function() req.onreadystatechange = function()
{ {
if (req.readyState == 4 && req.status == 200) if (req.readyState === 4 && req.status === 200)
{ {
if(req.responseText != "Not found") if(req.responseText != "Not found")
{ {
@@ -116,7 +114,7 @@ function imgurRequest(subreddit, page_max)
returnText = json.data[getRandomInt(0,json.data.length-1)].link; returnText = json.data[getRandomInt(0,json.data.length-1)].link;
} }
} }
} };
req.open("GET", request_url, false); req.open("GET", request_url, false);
req.setRequestHeader('Authorization', 'Client-ID ' + auth.imgur); req.setRequestHeader('Authorization', 'Client-ID ' + auth.imgur);
@@ -136,7 +134,7 @@ function subredditRequest(subreddit)
req.onreadystatechange = function() req.onreadystatechange = function()
{ {
if(req.readyState == 4 && req.status == 200) if(req.readyState === 4 && req.status === 200)
{ {
var json = JSON.parse(req.responseText); var json = JSON.parse(req.responseText);
@@ -153,11 +151,12 @@ function subredditRequest(subreddit)
} }
catch (error) // error parsing json catch (error) // error parsing json
{ {
continue; // Ignore the error and continue.
// continue; <-- last line in the loop... so does nothing.
} }
} }
} }
} };
req.open("GET", redditURL, false); req.open("GET", redditURL, false);
req.send(); req.send();
@@ -176,7 +175,7 @@ function redditbooruRequest(subreddit)
req.onreadystatechange = function() req.onreadystatechange = function()
{ {
if(req.readyState == 4 && req.status == 200) if(req.readyState === 4 && req.status === 200)
{ {
var json = JSON.parse(req.responseText); var json = JSON.parse(req.responseText);
var imageID = getRandomInt(0, json.length); var imageID = getRandomInt(0, json.length);
@@ -199,7 +198,7 @@ function calculate(message)
req.onreadystatechange = function() req.onreadystatechange = function()
{ {
if(req.readyState == 4 && req.status == 200) if(req.readyState === 4 && req.status === 200)
{ {
returnText = req.responseText; returnText = req.responseText;
} }
@@ -249,7 +248,7 @@ function setupVoice(file, volume, voice_channel)
// voice queue // voice queue
function handlePlayQueue(connection) function handlePlayQueue(connection)
{ {
if (playQueue.length == 0) if (playQueue.length === 0)
{ {
return; return;
} }
@@ -261,7 +260,7 @@ function handlePlayQueue(connection)
playQueue.pop(); playQueue.pop();
playVolume.pop(); playVolume.pop();
if(playQueue.length == 0) if(playQueue.length === 0)
{ {
queueExists = false; queueExists = false;
if(channel != null) if(channel != null)
@@ -288,7 +287,7 @@ client.on('ready', () => {
// commands // commands
client.on('message', message => { client.on('message', message => {
if (message.content.substring(0, 2) == 'b.' || message.content.substring(0, 2) == 'B.') { if (message.content.substring(0, 2).toUpperCase() === 'B.') {
var args = message.content.substring(2).split(' '); var args = message.content.substring(2).split(' ');
var cmd = args[0]; var cmd = args[0];
@@ -298,8 +297,8 @@ client.on('message', message => {
case 'command': case 'command':
case 'commands': case 'commands':
case 'help': case 'help':
var message_content = message.content.substring(2).split(' '); //var message_content = message.content.substring(2).split(' ');
if(message_content[1] === undefined) if(message.content.substring(2).split(' ')[1] === undefined)
{ {
message.channel.send(availableCommands()); message.channel.send(availableCommands());
} }
@@ -372,7 +371,7 @@ client.on('message', message => {
break; break;
case 'dankmeme': case 'dankmeme':
case 'dankmemes': case 'dankmemes':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? subredditRequest('dankmemes') : imgurRequest('dankmemes', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? subredditRequest('dankmemes') : imgurRequest('dankmemes', 5));
break; break;
case 'source': case 'source':
message.channel.send("BunnyBot's source code: https://git.dtam.pw/daniel/discord-bot-js"); message.channel.send("BunnyBot's source code: https://git.dtam.pw/daniel/discord-bot-js");
@@ -383,19 +382,19 @@ client.on('message', message => {
// SFW Anime Image commands // SFW Anime Image commands
case 'meirl': case 'meirl':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? subredditRequest('anime_irl') : imgurRequest('anime_irl', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? subredditRequest('anime_irl') : imgurRequest('anime_irl', 5));
break; break;
case 'animemes': case 'animemes':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? subredditRequest('animemes') : imgurRequest('animemes', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? subredditRequest('animemes') : imgurRequest('animemes', 5));
break; break;
case 'moe': case 'moe':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? redditbooruRequest('awwnime') : imgurRequest('awwnime', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? redditbooruRequest('awwnime') : imgurRequest('awwnime', 5));
break; break;
case 'moe-boys': case 'moe-boys':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? subredditRequest('cuteanimeboys') : imgurRequest('cuteanimeboys', 1)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? subredditRequest('cuteanimeboys') : imgurRequest('cuteanimeboys', 1));
break; break;
case 'hotguys': case 'hotguys':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? redditbooruRequest('bishounen') : subredditRequest('bishounen')); message.channel.send((Math.floor(Math.random() * 2) === 0) ? redditbooruRequest('bishounen') : subredditRequest('bishounen'));
break; break;
case 'kgirls': case 'kgirls':
var availableRequests = [ var availableRequests = [
@@ -428,7 +427,7 @@ client.on('message', message => {
message.channel.send(availableRequests[Math.floor(Math.random() * availableRequests.length)]); message.channel.send(availableRequests[Math.floor(Math.random() * availableRequests.length)]);
break; break;
case 'hentai': case 'hentai':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? imgurRequest('hentai', 5) : subredditRequest('hentai', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? imgurRequest('hentai', 5) : subredditRequest('hentai', 5));
break; break;
case 'yaoi': case 'yaoi':
message.channel.send(imgurRequest('yaoi', 5)); message.channel.send(imgurRequest('yaoi', 5));
@@ -437,17 +436,31 @@ client.on('message', message => {
message.channel.send(imgurRequest('yuri', 5)); message.channel.send(imgurRequest('yuri', 5));
break; break;
case 'neko': case 'neko':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? imgurRequest('Nekomimi', 5) : subredditRequest('Nekomimi', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? imgurRequest('Nekomimi', 5) : subredditRequest('Nekomimi', 5));
break; break;
case 'pokeporn': case 'pokeporn':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? subredditRequest('pokeporn') : redditbooruRequest('pokeporn')); message.channel.send((Math.floor(Math.random() * 2) === 0) ? subredditRequest('pokeporn') : redditbooruRequest('pokeporn'));
break; break;
case 'hgifs': case 'hgifs':
message.channel.send(subredditRequest('nsfwanimegifs', 5)); message.channel.send(subredditRequest('nsfwanimegifs', 5));
break; break;
case 'hentaibondage': case 'hentaibondage':
message.channel.send((Math.floor(Math.random() * 2) == 0) ? subredditRequest('hentaibondage') : imgurRequest('hentaibondage', 5)); message.channel.send((Math.floor(Math.random() * 2) === 0) ? subredditRequest('hentaibondage') : imgurRequest('hentaibondage', 5));
break; break;
case 'summon':
var commandArgOne = message.content.substring(0, message.content.indexOf(' '));
if(commandArgOne !== undefined && commandArgOne.length > 0)
{
var redditToSummon = message.content.substring(message.content.indexOf(' ')+1);
message.channel.send(message.author + ' summons ' + redditToSummon + '*\n');
message.channel.send(subredditRequest(redditToSummon))
}
else
{
message.reply("wut do i summon?");
}
break;
// Voice commands // Voice commands
case 'join': case 'join':
@@ -486,7 +499,6 @@ client.on('message', message => {
setupVoice('voice/triple.mp3', 0.20, message.member.voiceChannel); setupVoice('voice/triple.mp3', 0.20, message.member.voiceChannel);
break; break;
} }
} }
}); });

View File

@@ -8,6 +8,6 @@
"discord.js": "^11.2.1", "discord.js": "^11.2.1",
"ffmpeg-binaries": "^3.2.2-3", "ffmpeg-binaries": "^3.2.2-3",
"xmlhttprequest": "^1.8.0", "xmlhttprequest": "^1.8.0",
"node-opus": "^0.2.7" "node-opus": "^0.2.7"
} }
} }

9
test.js Normal file
View File

@@ -0,0 +1,9 @@
var assert = require('assert');
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function(){
assert.equal(-1, [1,2,3].indexOf(4));
});
});
});