Limit Search Results to 5

This commit is contained in:
Raven 2024-08-03 16:27:17 -04:00
parent e25557190c
commit ae82fda49f

View File

@ -425,53 +425,59 @@ app.post('/api/v1/chat', async (req, res) => {
} }
const searchRegex = /\b[Ss]earch\s+(.+)\b/; const searchRegex = /\b[Ss]earch\s+(.+)\b/;
const searchMatch = userMessage.match(searchRegex); const searchMatch = userMessage.match(searchRegex);
if (searchMatch) { if (searchMatch) {
const searchQuery = searchMatch[1]; const searchQuery = searchMatch[1];
console.log(`${getTimestamp()} [INFO] Detected search query in user message: ${searchQuery}`); console.log(`${getTimestamp()} [INFO] Detected search query in user message: ${searchQuery}`);
try { const options = {
googleIt({ 'query': searchQuery }).then(async results => { query: searchQuery,
let searchResponse = `Search Query: ${searchQuery}\n`; limit: 5,
searchResponse += `Top Google search results:\n`; disableConsole: true
};
for (let i = 0; i < results.length; i++) {
const result = results[i]; try {
searchResponse += `${i + 1}. ${result.title} - ${result.link}\n`; googleIt(options).then(async results => {
let searchResponse = `Search Query: ${searchQuery}\n`;
try { searchResponse += `Top Google search results:\n`;
const scrapeResult = await scrapeWebPage(result.link, 200);
searchResponse += `Scraped Data: ${scrapeResult}\n`; for (let i = 0; i < results.length; i++) {
} catch (scrapeErr) { const result = results[i];
console.error(`${getTimestamp()} [ERROR] Failed to scrape URL: ${result.link}`, scrapeErr); searchResponse += `${i + 1}. ${result.title} - ${result.link}\n`;
searchResponse += `Failed to scrape URL: ${result.link}\n`;
} try {
} const scrapeResult = await scrapeWebPage(result.link, 200);
searchResponse += `Scraped Data: ${scrapeResult}\n`;
const lastMessageIndex = conversationHistory[ip].length - 1; } catch (scrapeErr) {
if (lastMessageIndex >= 0) { console.error(`${getTimestamp()} [ERROR] Failed to scrape URL: ${result.link}`, scrapeErr);
conversationHistory[ip][lastMessageIndex].content += "\n" + searchResponse; searchResponse += `Failed to scrape URL: ${result.link}\n`;
console.log(`${getTimestamp()} [INFO] Processed search query: ${searchQuery}, response: ${searchResponse}`); }
} else { }
console.error(`${getTimestamp()} [ERROR] Conversation history is unexpectedly empty for: ${ip}`);
} const lastMessageIndex = conversationHistory[ip].length - 1;
}).catch(err => { if (lastMessageIndex >= 0) {
console.error(`${getTimestamp()} [ERROR] Failed to perform Google search: ${searchQuery}`, err); conversationHistory[ip][lastMessageIndex].content += "\n" + searchResponse;
return res.status(500).json({ console.log(`${getTimestamp()} [INFO] Processed search query: ${searchQuery}, response: ${searchResponse}`);
message: "An error occurred while performing Google search", } else {
error: err.message console.error(`${getTimestamp()} [ERROR] Conversation history is unexpectedly empty for: ${ip}`);
}); }
}); }).catch(err => {
} catch (err) { console.error(`${getTimestamp()} [ERROR] Failed to perform Google search: ${searchQuery}`, err);
console.error(`${getTimestamp()} [ERROR] An unexpected error occurred:`, err); return res.status(500).json({
return res.status(500).json({ message: "An error occurred while performing Google search",
message: "An unexpected error occurred", error: err.message
error: err.message });
}); });
} } catch (err) {
} console.error(`${getTimestamp()} [ERROR] An unexpected error occurred:`, err);
return res.status(500).json({
message: "An unexpected error occurred",
error: err.message
});
}
}
// End Plugins --- // End Plugins ---