Adding urban dictionary lookups
This commit is contained in:
parent
335f06ff69
commit
ca758c5898
25
llamabot.js
25
llamabot.js
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user