activityspam-filter
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

ActivitySpam Filter

Extraction and modernization of the filters in activityspam + a minimal databank reimplementation

npm version npm downloads js-semistandard-style Module type: ESM Types in JS Follow @voxpelli@mastodon.social

Usage

Simple

import { SpamFilter, SimpleDatabankRedis } from 'activityspam-filter';

// Configured like ioredis, so by default it will connect to localhost:6379
const redisDb = new SimpleDatabankRedis();
const filter = new SpamFilter(redisDb);

await filter.train('spam', foo);
await filter.train('ham', bar);
const { isSpam } = await filter.test(abc);

SpamFilter(db, [tokenizerOptions])

  • db – a SimpleDatabank compatible class such as the supplied SimpleDatabankRedis

SpamFilter API

train(category, data) => Promise<SpamFilterTrainingResult>

  • category – should be either spam or ham depending on what kind of content to train it with
  • data – should be an object or an array of the data that should be tokenized and trained on

Returns an object with properties:

  • cat – the supplied category
  • object – a stringified representation of the data that's been supplied
  • date – the ISO date this training data was created
  • elapsed – the amount of milliseconds the training took

test(data) => Promise<SpamFilterDecision>

  • data – should be an object or an array of the data that should be tokenized and tested

Returns an object with properties:

  • probability – a number
  • isSpam – a boolean
  • bestKeys – a list of the best tokens
  • elapsed – the amount of milliseconds the check took

SimpleDatabankRedis(ioRedisConfig)

Configured like ioredis and provides a SimpleDatabank compatible implementation of that.

Types

  • SimpleDatabank – the structure of a databank style implementation

See also

Readme

Keywords

none

Package Sidebar

Install

npm i activityspam-filter

Weekly Downloads

1

Version

0.1.2

License

Apache-2.0

Unpacked Size

46.3 kB

Total Files

21

Last publish

Collaborators

  • voxpelli