A comprehensive Discord bot built with Harmony (harmonyland/harmony) Discord API library, featuring music playbook, role management, and various utility functions.
- Play music from YouTube with search functionality
- Queue management (add, skip, stop, pause, resume)
- Volume control and real-time audio streaming
- Now playing information with thumbnails
- Music charts from Spotify, Apple Music, and Melon
- Create roles with custom colors and settings
- Assign/remove roles to/from users
- Delete roles with proper permission checks
- List all roles in the server with member counts
- Set AFK status with custom reasons
- Automatic nickname updates with [AFK] prefix
- AFK mention notifications when users are mentioned
- Welcome back messages with AFK duration
- Add personal D-Days with custom names and dates
- View all D-Days with countdown/countup display
- Remove D-Days by number or name
- Date validation and formatting
- Set reminders with natural time parsing (5m, 1h30m, 2d)
- List active reminders with time remaining
- Remove reminders before they trigger
- Automatic notifications in the original channel
- Start timers with custom names and durations
- Multiple active timers per user
- Stop/cancel timers before completion
- Timer completion notifications
- Start/stop/pause stopwatches with precision timing
- Multiple named stopwatches per user
- Reset and delete stopwatch functionality
- High-precision time display (milliseconds)
- Ban/unban users with reasons
- Kick users from server
- Mute/unmute members temporarily
- Clear messages in bulk
- Server information with detailed stats
- User information with join dates and roles
- Role information with permissions and member lists
- Bot uptime and system information
- osu! player stats lookup
- Minecraft server status checker
- Random color generator
- Han River temperature (Korean weather data)
-
Install dependencies:
npm install
-
Create a
settings.jsonfile in the root directory:{ "token": "YOUR_BOT_TOKEN_HERE", "prefix": "n>", "osuApiKey": "YOUR_OSU_API_KEY_HERE", "owners": ["YOUR_USER_ID_HERE"] }Or set environment variables:
export naesungToken="YOUR_BOT_TOKEN_HERE" export naesungPrefix="n>" export OSU_API_KEY="YOUR_OSU_API_KEY_HERE"
-
Run the bot:
npm start
This bot includes various commands such as:
ping- Shows bot latencyinfo- Shows bot informationuserinfo- Shows user informationserverinfo- Shows server informationclear- Clears messagesuptime- Shows bot uptime
ban- Bans a userkick- Kicks a userunban- Unbans a usermute/unmute- Mutes/unmutes a user
play <song>- Plays a song from YouTubesearch <query>- Searches for songs on YouTubequeue- Shows the current music queueskip- Skips the current songstop- Stops music and clears queuepause/resume- Pauses/resumes musicvolume <0-100>- Sets the music volumenowplaying- Shows currently playing song
spotify- Shows Spotify Global Top 50applemusic- Shows Apple Music top songsmelon- Shows Melon music charthangang- Shows Han River temperature
userlist- Exports user list (Admin only)osu- Shows osu! player information (requires API key)minecraft- Shows Minecraft player informationrandomcolor- Generates a random coloraddchannel- Creates a new channelguildedit- Edits guild nameroleinfo- Shows role informationinvite- Creates an invite link- And more!
token: Your Discord bot tokenprefix: Command prefix (default: "n>")
osuApiKey: osu! API key for osu! player lookup commandowners: Array of user IDs with owner permissions for userlist commandspotifyClientId&spotifyClientSecret: Spotify API credentials for live chart dataappleMusicKey: Apple Music API key for live chart data
- osu! API: Get your API key from https://osu.ppy.sh/p/api
- Spotify API: Create an app at https://developer.spotify.com/dashboard
- Apple Music API: Get credentials from https://developer.apple.com/apple-music/
- Add them to your
settings.jsonor set environment variables
- YouTube music playback with search functionality
- Queue management (add, skip, clear)
- Volume control and pause/resume
- Live music charts from Spotify and Apple Music
- Korean music chart integration (Melon)
This bot has been migrated from Discord.js to Harmony. Key changes include:
- Using
@harmonyland/harmonyinstead ofdiscord.js - Event
messagechanged tomessageCreate MessageEmbedchanged toEmbed- Various API method changes for consistency with Harmony
- Cache access changed from
.cache.get()to direct manager methods - Permission checks updated for Harmony's permission system
ISC