n8n-nodes-wuzapi
Version:
n8n community nodes for Wuzapi - WhatsApp Multi-Device REST API
77 lines • 1.71 kB
JavaScript
;
// Simple bot detection implementation to replace isbot
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBot = isBot;
const botPatterns = [
// Search engine bots
/googlebot/i,
/bingbot/i,
/slurp/i, // Yahoo
/duckduckbot/i,
/baiduspider/i,
/yandexbot/i,
// Social media bots
/facebookexternalhit/i,
/facebookcatalog/i,
/twitterbot/i,
/linkedinbot/i,
/whatsapp/i,
/slackbot/i,
/telegrambot/i,
/discordbot/i,
// Other crawlers
/bot/i,
/crawl/i,
/spider/i,
/scraper/i,
/scan/i,
/checker/i,
/fetch/i,
// Monitoring services
/pingdom/i,
/uptime/i,
/monitoring/i,
// Development tools
/postman/i,
/insomnia/i,
/curl/i,
/wget/i,
/python-requests/i,
/axios/i,
/node-fetch/i,
// SEO tools
/ahrefs/i,
/semrush/i,
/moz/i,
/serpstat/i,
// Other known bots
/mediapartners-google/i,
/adsbot/i,
/apis-google/i,
/lighthouse/i,
/chrome-lighthouse/i,
/pagespeed/i,
];
function isBot(userAgent) {
if (!userAgent) {
return false;
}
const ua = userAgent.toLowerCase();
// Check against bot patterns
for (const pattern of botPatterns) {
if (pattern.test(ua)) {
return true;
}
}
// Check for headless browsers
if (ua.includes('headless') || ua.includes('phantomjs') || ua.includes('zombie')) {
return true;
}
// Check for missing or suspicious user agents
if (ua === '' || ua === '-' || ua === 'unknown') {
return true;
}
return false;
}
exports.default = isBot;
//# sourceMappingURL=isbotUtils.js.map