A modern Discord bot designed for Greater Faith services, rebuilt in TypeScript from the original Go version. This project uses Bun as its runtime for lightning-fast performance and modern developer experience.
- Service Management: Automate, announce, and manage Greater Faith service events.
- Slash Commands: Interact with the bot using Discord's modern slash command interface for clear, user-friendly experiences.
- Moderation Tools: Keep your server safe with configurable moderation features.
- Event Notifications: Send reminders and alerts for upcoming events and services.
- Extensible: Built with scalability and customization in mind.
- Language: TypeScript
- Runtime: Bun
- Discord API: discord.js or Eris (specify here based on actual usage)
- Containerization: Docker (optional)
All interactions are performed via Discord's slash commands. The main command is /gfcbot, with the following subcommands and groups:
| Command | Description | Required Role |
|---|---|---|
/gfcbot server start |
Start the server | Admin role |
/gfcbot server stop |
Stop the server | Admin role |
/gfcbot server reboot |
Reboot the server | Admin role |
/gfcbot server status |
Get server status | Admin role |
/gfcbot server check-website |
Check if the website returns a 200 success code | Admin role |
/gfcbot bot status |
Check if the bot is running normally | Admin role |
Note: You must have the configured admin role to use these commands.
- Bun installed (
curl -fsSL https://bun.sh/install | bash) - Node.js (if Bun is not used everywhere)
- Docker (optional, for containerized deployment)
- Discord Bot Token (How to create a bot account)
-
Clone the repository:
git clone https://github.com/Glucktek/gfc-discord-bot.git cd gfc-discord-bot -
Install dependencies:
bun install
-
Configure environment:
-
Copy
.env.exampleto.envand fill in your credentials.cp .env.example .env
-
Set your Discord bot token and any other required environment variables in
.env.
-
-
Run the bot:
bun run start
Or, if using Docker:
docker build -t gfc-discord-bot . docker run --env-file .env gfc-discord-bot
- Invite the bot to your Discord server using the OAuth2 URL with the required permissions.
- Use Discord's slash commands (type
/in the chat) to interact with the bot and view all available commands. - Configure additional settings via the
.envfile or command line as needed.
| Script | Description |
|---|---|
bun run start |
Start the bot |
bun run dev |
Start in development mode |
bun run build |
Build the project |
bun run lint |
Lint the codebase |
bun run test |
Run tests |
All configuration is managed through environment variables. See .env.example for all available options.
DISCORD_TOKEN- Your Discord bot token.GUILD_ID- Your Discord server's Guild ID.ADMIN_ROLE- The Role ID required to use bot commands.- Add other configuration options as needed.
Contributions are welcome! Please open issues and pull requests for new features, bug fixes, or suggestions.
- Fork the repo
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a pull request
This project is licensed under the GNU General Public License v3.0 License. See LICENSE for details.
Redesigned with ❤️ in TypeScript and powered by Bun.