add nobot support

This commit is contained in:
fenwick67 2024-10-13 15:30:11 -04:00
parent 4fd23662d2
commit 876ac87ebb
1 changed files with 12 additions and 2 deletions

View File

@ -47,6 +47,10 @@ module.exports = async function (opts) {
// get user, then outbox, then feed // get user, then outbox, then feed
user = await apGet(userUrl,24 * hour); user = await apGet(userUrl,24 * hour);
console.log(JSON.stringify(user,null,2))
if (userNobot(user)){
throw new Error("this user has #nobot in their profile. Add #yesMastofeed or #mastofeed to your profile if you want to use mastofeed and keep #nobot")
}
isIndex = true; isIndex = true;
var outbox = await apGet(user.outbox, 1 * hour); var outbox = await apGet(user.outbox, 1 * hour);
@ -73,8 +77,14 @@ module.exports = async function (opts) {
function userNobot(user){ function userNobot(user){
let lowerSummary = (user.summary||"").toLowerCase(); let lowerSummary = (user.summary||"").toLowerCase();
let nobot = lowerSummary.indexOf('#nobot') > -1; let nobot = lowerSummary.indexOf('nobot') > -1;
let yesmastofeed = lowerSummary.indexOf('#mastofeed') > -1 || lowerSummary.indexOf('#yesmastofeed') > -1 let yesmastofeed = lowerSummary.indexOf('mastofeed') > -1 || lowerSummary.indexOf('yesmastofeed') > -1;
if (Array.isArray(user.tag)){
let nobotTag = !!user.tag.find(t=>t.name&&t.name.toLowerCase()=="#nobot");
let yesmastofeedTag = !!user.tag.find(t=>t.name&&(t.name.toLowerCase()=="#yesmastofeed" || t.name.toLowerCase()=="#mastofeed"));
nobot |= nobotTag;
yesmastofeed |= yesmastofeedTag;
}
return nobot && !yesmastofeed; return nobot && !yesmastofeed;
} }