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