lots of changes lmeow

This commit is contained in:
array-in-a-matrix 2023-06-07 16:08:10 -04:00
parent e918c5fa93
commit fa8d833ec8

View file

@ -10,40 +10,49 @@ client.start().then(() => console.log(`Client has started!`));
client.on("room.message", (room, event) => {
if (! event["content"] || event["sender"] === config.user) return;
const messageArray = event["content"]["body"].split(" ").map(word => word.toLowerCase());
//console.log(messageArray)
let messageArray = event["content"]["body"].split(" ").map(word => word.toLowerCase());
messageArray = messageArray.filter((str) => str !== '') // remove empty strings
if (messageArray[0].toLowerCase() == config.prefix){
switch(messageArray[1]){
case 's':
case 'pkg':
case 'search':
search_pkg(room, messageArray[2]);
let resultIndex = 0;
if(Number.isInteger(parseInt(messageArray[3]))){
resultIndex = parseInt(messageArray[3])
};
let pkgPromise = search_pkg(messageArray[2]);
pkgPromise.then(pkgResults => {
// pkgResults is an array containing all search results
let message = `${pkgResults[resultIndex].pkgname} ${pkgResults[resultIndex].repo} ${pkgResults[resultIndex].licenses} ${pkgResults[resultIndex].pkgdesc}`
client.sendNotice(room, message);
}); //TODO: bot crashes if index is too large
break;
case 'aur':
break;
case 'h':
case 'help':
break;
default:
console.warn('no matches');
client.sendNotice(room, 'Invalid command.');
}
}
})
async function search_pkg(room, pkg){
async function search_pkg(pkg){
const response = await fetch("https://archlinux.org/packages/search/json/?q=" + pkg);
const dataJSON = await response.json();
if (!dataJSON.results.length){
const message = 'This package does not exist.';
console.log(message)
client.sendText(room, message);
return null // package does not exist
} else {
const message =
`Package Name: ${dataJSON.results[0].pkgname}
Package Repo: ${dataJSON.results[0].repo}
Package Architecture: ${dataJSON.results[0].arch};`
console.log(message)
client.sendText(room, message);
return dataJSON.results
}
}