PhineX Bot is a powerful, feature-rich Discord bot with a modern web dashboard for complete server management. Built with Discord.js v14 and featuring slash commands for the best user experience.
- Modern Discord interface with autocomplete
- Better discoverability for users
- Improved permission handling
/write- Send styled messages with fonts (Bold, Italic, Monospace, Strikethrough, Underline, Spoiler) and custom colors/announce- Professional announcements with optional @everyone ping/social- Display server social links beautifully
- Channel selection - Send polls to specific channels
- Custom colors - Match your server's theme
- Auto-end timers - Polls automatically close and show results
- Support for up to 10 options
- Channel selection - Host giveaways in dedicated channels
- Automatic winner selection
- Professional embed design
/rolemenu- Create role selection menus/addrole-menu- Add roles with custom emojis and descriptions- Users get/remove roles by reacting
- Perfect for server organization
- Custom emoji support - Use any emoji, not just โญ
- Adjustable threshold
- Shows message context and jump links
- Beautiful embed design
/suggest- Submit suggestions/setup-suggestions- Configure suggestions channel- Auto-react with ๐/๐ for voting
- Track community feedback
Transform your messages with:
- Normal, Bold, Italic,
Monospace Strikethrough, Underline, ||Spoiler||
- Node.js 16.0.0 or higher
- Discord Bot Token
- Discord Application ID & Secret
-
Clone/Download this repository
-
Install dependencies
npm install- Configure
cp config.json.example config.jsonEdit config.json:
{
"botToken": "YOUR_BOT_TOKEN",
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET",
"callbackURL": "https://your-backend.com/auth/discord/callback",
"dashboardURL": "https://phinex-org.github.io/PhineX-Bot",
"sessionSecret": "RANDOM_SECRET_STRING",
"port": 3000
}-
Setup Discord OAuth
- Go to Discord Developer Portal
- Navigate to OAuth2 โ Redirects
- Add:
https://phinex-org.github.io/PhineX-Bot/auth/discord/callback - IMPORTANT: If hosting backend separately, use your backend URL instead
-
Start the bot
npm startGitHub Pages can ONLY serve static HTML/CSS/JS files.
It CANNOT run Node.js servers (the bot backend).
Frontend (GitHub Pages):
index.htmlanddashboard.htmlserved from GitHub Pages- URL:
https://phinex-org.github.io/PhineX-Bot
Backend (Separate Hosting):
- Bot + API server on Railway/Heroku/DigitalOcean
- URL:
https://your-app.railway.app(or your chosen platform)
Option A: Railway (Recommended - Free tier available)
# Install Railway CLI
npm install -g @railway/cli
# Login
railway login
# Initialize project
railway init
# Deploy
railway upOption B: Heroku
# Install Heroku CLI
# Then:
heroku create phinex-bot
git push heroku mainOption C: DigitalOcean/AWS/VPS
- Use PM2 for process management
- Set up reverse proxy with Nginx
- Configure SSL with Let's Encrypt
Update your dashboard.html and index.html to point API calls to your backend:
// Change this:
const API_URL = 'http://localhost:3000';
// To this:
const API_URL = 'https://your-backend.railway.app';In Discord Developer Portal:
- Redirect URL:
https://your-backend.railway.app/auth/discord/callback - The callback must point to your backend server, not GitHub Pages
{
"callbackURL": "https://your-backend.railway.app/auth/discord/callback",
"dashboardURL": "https://phinex-org.github.io/PhineX-Bot",
}The GitHub 404 error at https://phinex-org.github.io/auth/discord happens because:
- GitHub Pages is trying to serve a static page at
/auth/discord - But OAuth callbacks need a backend server to handle them
- Your bot backend must be hosted separately (not on GitHub Pages)
Solution:
- Host bot backend on Railway/Heroku/etc.
- Update OAuth redirect to point to backend:
https://your-backend.com/auth/discord/callback - GitHub Pages only serves the frontend HTML/CSS/JS
/setup-suggestions <channel> - Configure suggestions
/welcome <channel> <message> - Setup welcome messages
/starboard <channel> [threshold] [emoji] - Configure starboard
/write <channel> <message> [color] [font] - Send styled messages
/announce <channel> <title> <message> [color] [@everyone] - Announcements
/social <channel> - Display social links
/poll <channel> <question> <options> [color] [duration] - Create polls
/giveaway <channel> <duration> <winners> <prize> - Start giveaway
/rolemenu <channel> <title> [description] - Create role menu
/addrole-menu <role> <emoji> [description] - Add role to menu
/suggest <suggestion> - Submit suggestion
/ban <user> [reason] - Ban user
/kick <user> [reason] - Kick user
/warn <user> [reason] - Warn user
/warnings [user] - View warnings
/clear-warnings <user> - Clear all warnings
/help - Command list
/serverinfo - Server statistics
/userinfo [user] - User information
/avatar [user] - Get avatar
Normal Text
๐๐ผ๐น๐ฑ ๐ง๐ฒ๐
๐
๐๐ต๐ข๐ญ๐ช๐ค ๐๐ฆ๐น๐ต
`Monospace Text`
~~Strikethrough Text~~
__Underlined Text__
||Spoiler Text||
Every command that posts messages includes channel selection:
- โ Polls โ Specific poll channel
- โ Giveaways โ Giveaway channel
- โ Announcements โ Announcement channel
- โ Social links โ Anywhere you want
- โ Welcome messages โ Welcome channel
- Create menu:
/rolemenu #roles "Select Your Roles" - Add roles:
/addrole-menu @Member ๐ฎ "Gaming role" - Add more:
/addrole-menu @VIP โญ "VIP role" - Users react with emoji to get roles!
Access at https://phinex-org.github.io/PhineX-Bot (after setup):
- ๐ OAuth2 Discord login
- ๐ Server statistics
- โ๏ธ Configure all settings
- ๐ฅ Manage roles & channels
- ๐ View moderation logs
- ๐ Setup social links (Website, Twitter, YouTube, Instagram, Discord, GitHub)
- ๐ข Configure welcome messages
- โญ Starboard settings
- Wait up to 1 hour for global commands to register
- Reinvite bot with
applications.commandsscope - Check bot has proper permissions
- โ Backend server must be running (not GitHub Pages)
- โ Redirect URL must point to backend server
- โ
Update
callbackURLin config.json to backend URL - โ GitHub Pages only serves frontend HTML
- Bot needs Manage Roles permission
- Bot's role must be higher than assigned roles
- Verify reactions are being added
- Update API URL in frontend files to point to backend
- Check CORS configuration allows GitHub Pages domain
- Verify backend server is running
{
"website": "https://yourwebsite.com",
"twitter": "https://twitter.com/yourhandle",
"youtube": "https://youtube.com/@yourchannel",
"instagram": "https://instagram.com/yourhandle",
"discord": "https://discord.gg/yourinvite",
"github": "https://github.com/yourorg"
}{user} - Mentions the new member
{server} - Server name
Example: "Welcome {user} to {server}! ๐"
โ
View Channels
โ
Send Messages
โ
Send Messages in Threads
โ
Embed Links
โ
Attach Files
โ
Read Message History
โ
Add Reactions
โ
Use External Emojis
โ
Manage Messages
โ
Manage Channels
โ
Manage Roles
โ
Kick Members
โ
Ban Members
โ
Moderate Members
Invite Link Template:
https://discord.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=8&scope=bot%20applications.commands
- Use channel selection - Keep your server organized by sending different types of messages to different channels
- Custom colors - Match embeds to your server's color scheme using hex codes
- Font variety - Use different fonts for different purposes (Bold for important, Monospace for codes)
- Role menu organization - Create separate role menus for different categories (colors, notifications, games)
- Auto-end polls - Set durations to automatically close and show results
- ๐ Documentation: Check this README
- ๐ Issues: GitHub Issues
- ๐ฌ Discord: Support Server
- ๐ Star this repo if you find it helpful!
MIT License - see LICENSE file
Contributions welcome! Fork, create a feature branch, and submit a PR.
Made with โค๏ธ by PhineX Organization
โญ Don't forget to star this repository!