Fix joint randomization and add more aliases
NodBot Production Dockerization / build (pull_request) Has been cancelled Details

This commit is contained in:
Skylar Grant 2023-12-14 10:43:40 -05:00
parent 82f65a800c
commit 97b4136b64
4 changed files with 30 additions and 4 deletions

View File

@ -1,4 +1,5 @@
{ {
"guildId": "868542949737246730", "guildId": "868542949737246730",
"validCommands": [] "validCommands": [],
"roaches": []
} }

View File

@ -5,13 +5,29 @@ module.exports = {
name: 'joint', name: 'joint',
description: 'Send a random weed-themed phrase.', description: 'Send a random weed-themed phrase.',
usage: '.joint', usage: '.joint',
alias: ['bong', 'blunt', 'bowl', 'pipe'], alias: ['bong', 'blunt', 'bowl', 'pipe', 'dab', 'vape', 'dabs', 'shatter', 'edible', 'edibles', 'doobie', 'spliff', 'gummy', 'gummies', 'hash', 'toke', 'big doinks'],
execute(message, commandData) { execute(message, commandData) {
let joints = []; let joints = [];
for (const entry of message.client.joints.map(joint => joint.content)) { for (const entry of message.client.joints.map(joint => joint.content)) {
joints.push(entry); joints.push(entry);
} }
const randIndex = Math.floor(Math.random() * joints.length); let randIndex = Math.floor(Math.random() * joints.length);
let joint = joints[randIndex];
// Check if the joint has already been smoked
while (message.client.roaches.has(joint)) {
randIndex = Math.floor(Math.random() * joints.length);
joint = joints[randIndex];
}
// Send the joint
message.reply(`${joints[randIndex]} ${emoji.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");
} }
} }

View File

@ -149,7 +149,7 @@ const functions = {
if (isDev) console.log('Strains Collection Built'); if (isDev) console.log('Strains Collection Built');
}, },
medicalAdvice(rows, client) { medicalAdvice(rows, client) {
if (!client.medicalAdviceCol) client.medicalAdviceColl = new Discord.Collection(); if (!client.medicalAdviceColl) client.medicalAdviceColl = new Discord.Collection();
client.medicalAdviceColl.clear(); client.medicalAdviceColl.clear();
for (const row of rows) { for (const row of rows) {
const medicalAdvice = { const medicalAdvice = {
@ -160,6 +160,11 @@ const functions = {
} }
if (isDev) console.log('Medical Advice Collection Built'); if (isDev) console.log('Medical Advice Collection Built');
}, },
roaches(client) {
if (!client.roaches) client.roaches = new Discord.Collection();
client.roaches.clear();
if (isDev) console.log('Medical Advice Collection Built');
}
}, },
dot: { dot: {
getCommandData(message) { getCommandData(message) {

View File

@ -34,6 +34,7 @@ client.once('ready', () => {
fn.collections.slashCommands(client); fn.collections.slashCommands(client);
fn.collections.dotCommands(client); fn.collections.dotCommands(client);
fn.collections.setvalidCommands(client); fn.collections.setvalidCommands(client);
fn.collections.roaches(client);
fn.download.gifs(client); fn.download.gifs(client);
fn.download.pastas(client); fn.download.pastas(client);
fn.download.joints(client); fn.download.joints(client);
@ -222,8 +223,11 @@ client.on('messageCreate', message => {
// Wildcard Responses, will respond if any message contains the trigger word(s), excluding self-messages // Wildcard Responses, will respond if any message contains the trigger word(s), excluding self-messages
const lowerContent = message.content.toLowerCase(); const lowerContent = message.content.toLowerCase();
// big + doinks
if (lowerContent.includes('big') && lowerContent.includes('doinks')) message.reply('gang.'); if (lowerContent.includes('big') && lowerContent.includes('doinks')) message.reply('gang.');
// ligma
if (lowerContent.includes('ligma')) message.reply('ligma balls, goteem'); if (lowerContent.includes('ligma')) message.reply('ligma balls, goteem');
// frfr, fr fr , bussin, ong
if (lowerContent.includes('frfr') || lowerContent.includes('fr fr') || lowerContent.includes('bussin') || lowerContent.includes(' ong') || lowerContent.startsWith('ong')) { if (lowerContent.includes('frfr') || lowerContent.includes('fr fr') || lowerContent.includes('bussin') || lowerContent.includes(' ong') || lowerContent.startsWith('ong')) {
const randIndex = Math.floor(Math.random() * strings.capbacks.length); const randIndex = Math.floor(Math.random() * strings.capbacks.length);
message.reply(strings.capbacks[randIndex]); message.reply(strings.capbacks[randIndex]);