Skip to content

Latest commit

 

History

History
107 lines (75 loc) · 4.54 KB

README.md

File metadata and controls

107 lines (75 loc) · 4.54 KB
logo

r/IGCSE


r/IGCSE Bot is a Python Discord Bot primarly developed for the r/IGCSE Discord Community but also used by 100+ other servers. This bot provides a rep system & leaderboard, server suggestions voting, keyword auto-replies, moderation actions automatically updating your logging channel, reaction roles, and more!

Add r/IGCSE Bot to your Discord Server.

The v1.0 version of this bot, written in Python, rolled into use on July 5, 2021 and has come a long way since.

The v2.0 version of this bot, entirely re-written in TypeScript, was released on March 22, 2024.

The bot is currently hosted on Oracle Cloud Infrastructure.

Contributors

The contributors to the v2.0 release are attributed below. Dawood and Chirag were the primary authors of the TypeScript rewrite.

Preview of Features

  • Rep System (Leaderboard displaying the top Helpers in the community)
Image

  • Past Paper Keyword Search (Allows members to perform keyword searches to retrieve IGCSE Past Papers)
Image

  • Provide Convenient Access to Granting Server Roles (e.g. Subject Roles)
Image

  • Moderation System (Enables moderators to warn/timeout/kick/ban users not abiding by the rules)
Image

  • Suggestion System (Allow members to vote on and suggest new ideas for the community)
Image

  • Easy Creation of Simple & Complex Polls
Image

  • Anti-Spam System (Automatically detect spam links and timeout the sender)
Image

  • Helper Ping System (Automatically notifying Subject Helpers of unanswered questions after 15 minutes)
Image

  • Create Informational Embeds to assist Server Moderators
Image

  • Provide Convenient Direct Access to Available Resources
Image

Local Installation Guide

  1. Make sure to install the latest version of Bun
  2. Install packages using bun i
  3. Generate your discord bot token and save it for later
  4. Create a MongoDB database named r-igcse-bot.
  5. Setup a redis-stack server using docker or redis cloud
  6. Copy .env.example to .env and fill it in with the above
  7. Create indexes on redisearch using bun src/redis/createIndexes.ts (do this after updating redis schemas as well)
  8. Start the bot using bun start