Skip to content

Manik-Maurya/Thankinator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

#πŸ€– Thankinator

It's been watching. It's always been watching. πŸ‘€

Thankinator is a free, open-source Discord bot that silently counts every "thank you" said in your server β€” in every form, every spelling, every language β€” and ranks everyone on a gamified leaderboard with 12 hilariously judgemental tiers.

Python discord.py License: MIT Free Hosting


✨ What It Does

Thankinator watches every message in your server and detects every known form of "thank you" β€” from the standard to the unhinged:

Detected Examples
Standard thank you, thanks, thank u
Abbreviated ty, thx, thnks, thnx
Typo'd tanks, tank you, tankyu
Stretched tyyy, thankssss, thxxx
Formal much appreciated, greatly appreciated, appreciate it
Extended thanks a lot, thanks a million, many thanks
Informal cheers, ta
Multilingual gracias, merci, danke, dhanyavaad, shukriya, arigatou, shukran

All case-insensitive. THANK YOU = thank you = ThAnK yOu.


πŸŽ–οΈ The 12 Rank Tiers

Rank Required
🌌 Cosmic Gratitude God 500+
πŸ† Gratitude Guru 250+
πŸ‘‘ Thanks Titan 150+
πŸš€ Appreciation Astronaut 100+
πŸ”₯ Thankful Inferno 75+
⚑ Lightning Thanker 50+
🌟 Thank You Enthusiast 30+
🎯 Consistent Acknowledger 20+
🌱 Budding Appreciator 10+
🐣 Gratitude Hatchling 5+
🫣 Reluctant Acknowledger 1+
πŸ‘» Ghost of Gratitude 0

Each rank has its own lore. Yes, lore.


πŸš€ Features

  • Auto-detection β€” no commands needed, just talk naturally
  • πŸ™ reaction on every detected thank you
  • Witty replies β€” occasional funny responses (15% chance, auto-delete)
  • Milestone celebrations β€” server-wide announcements at 5, 10, 25, 50, 100, 250, 500
  • Gamified leaderboard with 12 rank tiers
  • Personal stats for any member
  • Server-wide analytics
  • Both slash commands and prefix commands
  • SQLite storage β€” no external database needed
  • 40+ detection patterns including multilingual
  • Completely free to run

πŸ“‹ Commands

Command Aliases Description
!lb !leaderboard !ranking !top Hall of Gratitude leaderboard πŸ†
!mythanks !me !score Your personal stats πŸ“Š
!mythanks @user Check someone else's stats
!serverstats !server !total Server-wide analytics 🌐
!ranks !tiers !levels View all rank tiers πŸŽ–οΈ
!yw !help Command list
/leaderboard Slash version
/mythanks Slash version

πŸ› οΈ Self-Hosting Setup

Prerequisites

  • Python 3.10 or higher
  • A Discord account
  • 5 minutes

Step 1 β€” Create your Discord Bot

  1. Go to discord.com/developers/applications
  2. Click New Application β†’ name it Thankinator
  3. Go to Bot in the sidebar
  4. Click Add Bot β†’ confirm
  5. Enable these under Privileged Gateway Intents:
    • βœ… Server Members Intent
    • βœ… Message Content Intent
  6. Click Reset Token β†’ copy it (keep it secret!)

Step 2 β€” Invite the Bot to Your Server

  1. Go to OAuth2 β†’ URL Generator
  2. Check scopes: bot and applications.commands
  3. Check permissions: Read Messages, Send Messages, Add Reactions, Read Message History, Use Application Commands
  4. Copy the generated URL β†’ open in browser β†’ select your server β†’ Authorize

Step 3 β€” Run Locally

# Clone the repo
git clone https://github.com/Manik-Maurya/Thankinator.git
cd Thankinator

# Install dependencies
pip install -r requirements.txt

# Set up your token
cp .env.example .env
# Open .env in any text editor and paste your bot token

# Run
python bot.py

You should see:

βœ…  You're Welcome! is online as Thankinator#XXXX
πŸ“‘  Connected to 1 server(s)
πŸ”„  Synced 2 slash command(s).

☁️ Free 24/7 Hosting Options

Option 1 β€” Wispbyte (Recommended, Free Forever)

  1. Sign up at wispbyte.com
  2. Create a new server β†’ select Python
  3. Upload bot.py and requirements.txt
  4. Add environment variable: DISCORD_TOKEN = your token
  5. Set startup command to python bot.py
  6. Hit Start βœ…

Option 2 β€” Railway ($5/month, easiest)

  1. Push this repo to GitHub
  2. Sign up at railway.app with GitHub
  3. New Project β†’ Deploy from GitHub repo β†’ select this repo
  4. Add environment variable: DISCORD_TOKEN = your token
  5. Deploy βœ…

Option 3 β€” Fly.io (Free tier available)

Follow Fly.io's Python app guide and set DISCORD_TOKEN as a secret.


πŸ—„οΈ Data & Privacy

  • Stores: Discord user IDs, display names, and thank-you counts only
  • Does not store message content
  • All data lives in a local yourewelcome.db SQLite file
  • Users can request data deletion by contacting the server admin

🀝 Contributing

Pull requests are welcome! See CONTRIBUTING.md for guidelines.

Ideas for contributions:

  • New language detections
  • Additional rank tiers
  • Per-channel leaderboards
  • Weekly/monthly stats reset
  • Web dashboard

πŸ“„ License

MIT β€” see LICENSE for details. Free to use, modify, and distribute.


πŸ™ Credits

Built with discord.py β€” an excellent Python library for Discord bots.

Originally built as a surprise gift for a professor who casually joked about wanting a thank-you counter. She got one. With 12 rank tiers and lore.


Made with πŸ™ and an unreasonable amount of regex.

About

Your server says thank you a lot. thankinator keeps the score. Thankinator counts every "thank you" in your server - "ty", "thx", "tanks", "app it, merci, and 40+ more variations. Ranks everyone on a gamified leaderboard with 12 hilarious tiers, celebrates milestones server-wide, and reacts to every thanks with πŸ™, Always looking for gratitude.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages