Adding urban dictionary lookups

This commit is contained in:
Raven Scott 2023-05-06 02:32:10 +02:00
parent bd5ef4db9a
commit f87542132e

View File

@ -5,6 +5,8 @@ import { resetResponses, userResetMessages } from './assets/resetMessages.js';
import { errorMessages, busyResponses } from './assets/errorMessages.js'; import { errorMessages, busyResponses } from './assets/errorMessages.js';
import cpuStat from 'cpu-stat'; import cpuStat from 'cpu-stat';
import os from 'os'; import os from 'os';
import isNotDefined from 'is-not-defined'
import urban from 'urban'
import { import {
Client, Client,
@ -139,6 +141,23 @@ client.on('messageCreate', async (message) => {
setPresenceBusy() setPresenceBusy()
setBusy(message.author.id, true); setBusy(message.author.id, true);
// begin commands area
if (message.content.includes("!urban")) {
const regex = /"([^"]+)"/g;
const searchTerm = message.content.match(regex);
const search = urban(searchTerm)
search.first(function (data) {
if (!isNotDefined(data)) {
const lastMessageIndex = conversation.messages.length - 1;
conversation.messages[lastMessageIndex].content = `The definition of ${searchTerm} is: ${data.definition} comment on this exact definition in detail.`;
console.log(`Fetching urban for AI for ${searchTerm}`)
}
});
}
// end commands area
const response = await generateResponse(conversation, message); const response = await generateResponse(conversation, message);
// Append bot message to conversation history // Append bot message to conversation history
@ -190,6 +209,7 @@ import cheerio from 'cheerio';
async function generateResponse(conversation, message) { async function generateResponse(conversation, message) {
// Check if message contains a URL // Check if message contains a URL
const urlRegex = /(https?:\/\/[^\s]+)/g; const urlRegex = /(https?:\/\/[^\s]+)/g;
const urls = message.content.match(urlRegex); const urls = message.content.match(urlRegex);
@ -244,6 +264,9 @@ async function generateResponse(conversation, message) {
} }
} }
} }
const controller = new AbortController(); const controller = new AbortController();
const timeout = setTimeout(() => { const timeout = setTimeout(() => {
controller.abort(); controller.abort();