Skip to content
AtheronLABS

You're visiting from the United States. Prices are shown in US dollars. Not right?

labs@atheron:~/work/community-bots$ cat community-bots.md

Community bots

One service, three jobs.

Moderation, verification, roles, cases and appeals for a Discord server and a Telegram group, from one set of rules. The same service is being wired to post our announcements and take in support requests, because Discord lets only one process hold a bot connection and Telegram allows only one webhook.

Our own buildDiscord and Telegram, one service doing three jobs

// what it does

  • Manages servers and groups: automatic moderation, verification, roles, cases and appeals.
  • Spots scams, impersonation and lookalike names, and puts a captcha at the door.
  • Treats a raid as an event: moderators are told, every arrival meets a captcha, and it ends by itself.
  • Keeps standing, points and a rewards catalogue, worded the same in both rooms.
  • Is being wired to post our announcements to both rooms, each one approved by a person in the team portal first.
  • Is being wired to take in support requests: a post in the support channel will open a thread, and a slash command a private one.
  • Is run from the team portal, so a moderator can do everything the bots can.

// how we built it

  • No bot framework: the Discord gateway client and the Telegram API calls are our own, so a platform change is ours to fix.
  • One shared core holds the rules, so the two platforms never disagree about what is allowed.
  • One front door, because the platforms allow only one: moderation, posting and support intake all belong in this one service, and support requests go on to our live chat product over an internal call.
  • The permissions are granted channel by channel rather than across the server, and each job uses its own derived secret for that internal call.
  • Property-based tests on the moderation rules, so an input nobody thought of is still tried.
  • The bots sign in to the database as their own login and cannot reach pay or applicants.
  • A member's standing is asked of the portal, so there is one definition of the score.

// the size of it

jobs
Three in one service: moderation, running today; our announcements and support intake, being wired in
platforms
Discord and Telegram, from one core
test files
More than 60, with property-based tests on the rules
frameworks
None: the gateway client and the API calls are ours
run from
The team portal, with the same actions as the bots

// stack

  • TypeScript
  • Node.js
  • Discord gateway
  • Telegram Bot API
  • PostgreSQL
  • fast-check

// where it stands

Running in our own server and group, with moderation actions written to a log the community can read, and our announcements posted through them. Taking in support requests is being wired into it now.

// a comparable build

Build
≈ US$30,300 to US$46,400, within 10 weeksCAD 43,200 to 66,100
Hosting
≈ US$176 a monthCAD 250 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

the effort in it

Development
251 to 384 h
Senior backend developer
26 to 40 h
Senior engineer
24 to 37 h
Backend developer
22 to 34 h
Frontend developer
20 to 30 h
In all
457 to 698 h

what this price covers

One service as one build: the shared moderation core, the two platform clients, the posting queue, the support intake, the verification and appeals paths, and the portal screens it is run from.

An estimate for a build like this one, worked out from our rate card as you read it. It is not a quote. Yours changes with your scope, and we write a real one after a call.

Open this in the estimator →

// start

Want one built like this?

The same team, the same tests, the same care. Tell us what you need, or price it yourself first.

The community bots: one service, three jobs, two platforms | Atheron Network Labs