thijs.gg
← Home

Truth or Dare

A Discord bot fostering belonging in over a million online communities. Truth or Dare prompts conversation starters, and helps you get to know your friends.

Every minute, 500 people around the world ask Truth or Dare bot for a question. These could be from "What's the earliest memory of your life?" to "What would you do if you were the only human on earth?".

These questions bond online Discord communities and are conversation starters to keep activity flowing! Users interact with the bot using slash commands:

Screenshot of using the /truth command

The bot contains almost 4,000 possible questions of multiple types: Truth, Dare, Would You Rather, Never Have I Ever, and Paranoia. This simple concept brings in over 500,000 monthly active users!

The Website

Truth or Dare's website is written in React, using Next.js and TailwindCSS. On the website, users can add the bot to their Discord community and explore the bot's features.

Check it out at truthordarebot.xyz!

Screenshot of the Truth or Dare bot website

The Backend

At its core, Truth or Dare is just a webserver responding to HTTP Interactions. Whenever someone requests a question, Discord sends us a request, and the server responds with how the bot should respond.

We use Fastify in Typescript to handle up to 12 requests per second at peak hours with incredible performance. In fact, the interaction handler only uses 200mb of ram!

The interaction handler is open source at github.com/tandpfun/truth-or-dare.

Metrics Panel

Truth or Dare has an internal metrics panel displaying usage statistics powered by Grafana and Prometheus. It also looks cool.

Screenshot of the backend metrics panel

Check it out

Invite Truth or Dare to your Discord server at truthordarebot.xyz!

© 2024 Thijs Simonian