Skylar Grant
15d39e3381
Some checks reported warnings
NodBot Production Dockerization / build (pull_request) Has been cancelled
37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
const fn = require('../functions.js');
|
|
const { emoji } = require('../strings.json');
|
|
|
|
module.exports = {
|
|
name: 'joint',
|
|
description: 'Send a random weed-themed phrase.',
|
|
usage: '.joint',
|
|
alias: ['bong', 'blunt', 'bowl', 'pipe', 'dab', 'vape', 'dabs', 'shatter', 'edible', 'edibles', 'doobie', 'spliff', 'gummy', 'gummies', 'hash', 'toke', 'big doinks'],
|
|
execute(message, commandData) {
|
|
let joints = [];
|
|
// Create a simple array of the joint texts
|
|
for (const entry of message.client.joints.map(joint => joint.content)) {
|
|
joints.push(entry);
|
|
}
|
|
// Generate a random number between 0 and the length of the joints array
|
|
let randIndex = Math.floor(Math.random() * joints.length);
|
|
// Grab the joint text from the array
|
|
let joint = joints[randIndex];
|
|
|
|
// Check if the joint has already been smoked
|
|
while (message.client.roaches.has(joint)) {
|
|
// Regenerate a random number and recheck
|
|
randIndex = Math.floor(Math.random() * joints.length);
|
|
joint = joints[randIndex];
|
|
}
|
|
// Send the joint
|
|
message.reply(`${joints[randIndex]} ${emoji.joint}`);
|
|
// Check how full the roach collection is
|
|
if (message.client.roaches.size / joints.length >= 0.85) {
|
|
// If the roach collection is 85% of the joints collection
|
|
// Empty it out
|
|
message.client.roaches.clear();
|
|
}
|
|
// Add the joint to the roach collection
|
|
message.client.roaches.set(joint, "baked");
|
|
}
|
|
} |