A fun and feature-rich Discord bot built with TypeScript and Discord.js v14, designed to make server management easier and more enjoyable.
- Browse Commits - View commit history from any GitHub repository
- Commit Details - Inspect file changes, additions/deletions, and diffs with syntax highlighting
- User Profiles - Explore GitHub user profiles and their repositories
- README Viewer - Display repository README files directly in Discord
- Auto-Update - Automatically pull latest changes from GitHub on restart
- Configurable Options - Toggle git pull and npm install features on/off
- Persistent Settings - Options saved to JSON and survive bot restarts
- User Info - Display detailed user information including roles, avatars, and banners
- Help Command - Organized command list with emoji categories
- Ping Command - Check bot latency and responsiveness
- Node.js v18 or higher
- A Discord Bot Token (Discord Developer Portal)
- A GitHub Personal Access Token (optional, for higher API rate limits)
-
Clone the repository
git clone https://github.com/uitgeteld/overseas-bot.git cd overseas-bot -
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in the root directory:TOKEN=your_discord_bot_token CLIENT_ID=your_bot_application_id GITHUB_TOKEN=your_github_token
-
Build the project
npm run build
-
Start the bot
npm start
npm run devThis uses tsx watch to automatically restart the bot when you make changes.
overseas-bot/
├── src/
│ ├── commands/ # Slash commands
│ │ ├── git/ # Git-related commands
│ │ ├── settings/ # Bot configuration commands
│ │ └── util/ # Utility commands
│ ├── events/ # Discord event handlers
│ ├── functions/ # Command and event loaders
│ ├── helpers/ # Utility functions
│ ├── types/ # TypeScript type definitions
│ ├── config.ts # Configuration loader
│ └── index.ts # Main entry point
├── dist/ # Compiled JavaScript (generated)
├── startOptions.json # Bot runtime options
└── package.json
| Command | Description |
|---|---|
npm run dev |
Start bot in development mode with hot reload |
npm run build |
Compile TypeScript to JavaScript |
npm start |
Run the compiled bot (auto-updates from git first) |
/git [repo]- Browse commits from a repository or GitHub user/repo [repo/user]- View repository README or user's pinned repos
/help- Display all available commands organized by category/ping- Check bot response time/user [target]- View detailed information about a Discord user
/options- Toggle auto-pull and npm install features
The bot uses startOptions.json to control startup behavior:
{
"gitPull": true,
"npmInstall": true
}These can be toggled via the /options command and persist across restarts.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
uitgeteld
- GitHub: @uitgeteld
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Give a ⭐️ if this project helped you!
Built with ❤️ using Discord.js and TypeScript