Reward System - Indie Creators
MIT License
Introducing the perfect companion for your Discord community! π»π This reward calculation bot is the ultimate tool for those seeking recognition for their contributions. From small code tweaks to large collaborative projects, this bot is equipped to calculate and display the rewards deserved for each contribution. βοΈπ° With its precision and speed, this bot will make your creators feel valued and motivated to keep working in the community. Don't wait any longer to add it to your Discord server and give your members the gratification they deserve! π―πͺ
Before you start, make sure you have the following:
.github
ββ workflows
ββ CI with pnpm cache setup
.vscode
ββ Recommended extensions and settings for VSCode users
apps
ββ bot
| ββ Node
| ββ Discord JS
| ββ tRPC Client
| ββ TypeScript
ββ next.js
ββ Next.js 13
ββ React 18
ββ Tailwind CSS
ββ E2E Typesafe API Server & Client
packages
ββ api
| ββ tRPC v10 router definition
ββ auth
ββ authentication using next-auth. NOTE: Only with Discord
ββ db
ββ typesafe db-calls using Prisma
As the project uses Turborepo, you could run the following commands on the root, and it will run every inner same command.
Note Ensure you have set the enviorimental variables before running the project
pnpm install
.pnpm build
.pnpm dev
.Note
pnpm dev
will run discord and nextjs project
To get it running, follow the steps below:
You will find a .env.example
file in your project's root directory. Use it as a template for your own .env
.
These are environment variables that you need to set in order to use Discord's OAuth2 API and to authenticate your bot with Discord.
Once you have set these environment variables in your .env
file, you are ready to run the project.
To use Supabase as your database provider, you'll need to create a new project in Supabase and obtain your connection string URI. Here's how:
For more details on setting up your Supabase database, check out the Supabase documentation.
DISCORD_BOT_TOKEN="YOUR_TOKEN"
To configure your Discord keys and enable your application to access the Discord API, follow the steps below:
Client ID: DISCORD_CLIENT_ID="your_client_id_here"
Client Secret: DISCORD_CLIENT_SECRET="your_client_secret_here"
Click βYESβ button.
Youβll also see a βTokenβ and a blue link you can click called βCopyβ.
If you need additional help, consult the Discord Developer Documentation.
Copy the webhook URL and set it as an environment variable in your project:
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/your_webhook_id/your_webhook_token"
Save the changes and restart your server to make the changes take effect.
We welcome contributions from anyone who would like to help improve our project. Whether you're an experienced developer or just starting out, there are plenty of ways to get involved.
If you need help using our project, please visit our SUPPORT.md file. This document provides information on how to get help from the community, how to report issues, and where to find additional resources.
Join our Discord community to connect with other contributors and get help from the maintainers. This is a great place to ask questions, get feedback on your ideas, and collaborate with others on the project.
Before you start contributing, please read our CONTRIBUTING.md file. This outlines the contribution guidelines and provides instructions for setting up your development environment, submitting pull requests, and more.
We appreciate all contributions, big and small. Thank you for helping to make our project better!
We take the security of our project seriously. If you discover a security vulnerability, please let us know right away. We will investigate all legitimate reports and do our best to quickly address any issues.
To learn more about our security practices, please read our SECURITY.md file.
The stack originates from create-t3-app.
A blog post where I wrote how to migrate a T3 app into this
Test the Github GraphQL schema here
Made with contrib.rocks.
Folow us at