safespeak
Version:
A TypeScript/JavaScript SDK to integrate with safespeak
26 lines (25 loc) • 809 B
JavaScript
function sanitizeString(originalMessage) {
let sanitizedMessage = originalMessage.toLowerCase();
sanitizedMessage = sanitizedMessage.replace(/[^a-z0-9\s]/g, "");
sanitizedMessage = sanitizedMessage.replace(/\s/g, "+");
return sanitizedMessage;
}
async function profanityCheck(message) {
const sanitizedMessage = sanitizeString(message);
try {
const res = await fetch(`https://safespeak-api.vercel.app/api?message=${sanitizedMessage}`);
const data = await res.json();
return {
score: data.score,
tags: data.tags,
};
}
catch (err) {
throw new Error(String(err));
}
}
async function isProfane(msg, threshold) {
const out = await profanityCheck(msg);
return out.score > threshold;
}
export { isProfane };