Adding urban dictionary lookups

This commit is contained in:
Raven Scott 2023-05-06 02:32:10 +02:00
parent bd5ef4db9a
commit f87542132e
1 changed files with 24 additions and 1 deletions

View File

@ -5,6 +5,8 @@ import { resetResponses, userResetMessages } from './assets/resetMessages.js';
import { errorMessages, busyResponses } from './assets/errorMessages.js';
import cpuStat from 'cpu-stat';
import os from 'os';
import isNotDefined from 'is-not-defined'
import urban from 'urban'
import {
Client,
@ -139,6 +141,23 @@ client.on('messageCreate', async (message) => {
setPresenceBusy()
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);
// Append bot message to conversation history
@ -190,6 +209,7 @@ import cheerio from 'cheerio';
async function generateResponse(conversation, message) {
// Check if message contains a URL
const urlRegex = /(https?:\/\/[^\s]+)/g;
const urls = message.content.match(urlRegex);
@ -235,7 +255,7 @@ async function generateResponse(conversation, message) {
// Append a new line and the new content to the existing content of the last message
conversation.messages[lastMessageIndex].content += "\n" + response;
console.log("A URL was provided, response: " + response)
} catch (err) {
@ -244,6 +264,9 @@ async function generateResponse(conversation, message) {
}
}
}
const controller = new AbortController();
const timeout = setTimeout(() => {
controller.abort();