generated from array-in-a-matrix/matrix-bot-template
comments + formating
This commit is contained in:
parent
9eca8d6ec7
commit
7bd1261f35
34
index.js
34
index.js
|
@ -8,36 +8,34 @@ AutojoinRoomsMixin.setupOnClient(client);
|
|||
client.start().then(() => console.log(`Client has started!`));
|
||||
|
||||
client.on("room.message", (room, event) => {
|
||||
if (! event["content"] || event["sender"] === config.user) return;
|
||||
|
||||
let messageArray = event["content"]["body"].split(" ").map(word => word.toLowerCase());
|
||||
messageArray = messageArray.filter((str) => str !== '') // remove empty strings
|
||||
if (!event["content"] || event["sender"] === config.user) return;
|
||||
|
||||
if (messageArray[0].toLowerCase() == config.prefix){
|
||||
switch(messageArray[1]){
|
||||
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':
|
||||
|
||||
let resultIndex = 0;
|
||||
let pkgPromise = search_pkg(messageArray[2]);
|
||||
|
||||
if(Number.isInteger(parseInt(messageArray[3]))){
|
||||
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}`
|
||||
let message = `${pkgResults[resultIndex].pkgname} ${pkgResults[resultIndex].repo} ${pkgResults[resultIndex].licenses} ${pkgResults[resultIndex].pkgdesc}` //? pkgResults is an array containing all search results
|
||||
client.sendNotice(room, message);
|
||||
}); //TODO: bot crashes if index is too large
|
||||
}); //TODO: bot crashes if index is too large
|
||||
break;
|
||||
|
||||
case 'aur':
|
||||
case 'aur': //TODO: search aur
|
||||
break;
|
||||
case 'h':
|
||||
case 'help':
|
||||
case 'help': //TODO: help menu
|
||||
break;
|
||||
default:
|
||||
client.sendNotice(room, 'Invalid command.');
|
||||
|
@ -45,13 +43,13 @@ client.on("room.message", (room, event) => {
|
|||
}
|
||||
})
|
||||
|
||||
async function search_pkg(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){
|
||||
return null // package does not exist
|
||||
if (!dataJSON.results.length) {
|
||||
return null //? package does not exist
|
||||
} else {
|
||||
return dataJSON.results
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue