Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mytja/harmonoid-music-bot
🎵 Music bot for Discord. Supports lyrics, queues & plays using both YT Music & YouTube.
https://github.com/mytja/harmonoid-music-bot
bot discord discord-bot discord-music discord-py music
Last synced: 28 days ago
JSON representation
🎵 Music bot for Discord. Supports lyrics, queues & plays using both YT Music & YouTube.
- Host: GitHub
- URL: https://github.com/mytja/harmonoid-music-bot
- Owner: mytja
- License: gpl-3.0
- Created: 2021-01-23T10:08:18.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-19T21:49:08.000Z (5 months ago)
- Last Synced: 2024-10-08T22:32:24.010Z (about 1 month ago)
- Topics: bot, discord, discord-bot, discord-music, discord-py, music
- Language: Python
- Homepage:
- Size: 580 KB
- Stars: 13
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Harmonoid Music Bot
🎵 Music bot for Discord. Supports lyrics, queues & plays using both YT Music & YouTube.
## 💜 Support
You may open a issue, and we will be happy to assist.
## 🎵 Invite
You have to self-deploy it - instructions down bellow.
## 🎹 Commands
### 🎵 Playback Commands
| Command | Aliases | Action |
|-----------------------------|----------|-------------------------------------------------------------------------------------------|
| -play | -p | Plays or adds a track to queue from YouTube Music. |
| -playYT | -py | Plays or adds a track to queue from YouTube. |
| -pause | | Pauses playback. |
| -resume | | Resumes playback. |
| -togglePlayback | -pp | Switches between pause & play states. |### 📑 Queue Commands
| Command | Aliases | Action |
|-------------------------|----------|-------------------------------------------------------------------------------------------|
| -queue | -q | Displays the current queue. |
| -next | -n | Jumps to next track in the queue. |
| -back | -b | Jumps to previous track in the queue. |
| -jump | -j | Jumps to specific track in the queue based on its position. |
| -delete | -d | Removes track from the queue from the given position. |
| -clear | -c | Clears the queue. |
### 🧰 Utility Commands| Command | Aliases | Action |
|-------------------------------------|----------|-------------------------------------------------------------------------------------------|
| -lyrics | -l | Shows lyrics of a track. |
| -lyricsSend | -ls | Sends lyrics of a track in a TXT file. |
| -changeChannel | -cc | Changes voice channel where music should be played. |### 📖 Other Commands
| Command | Aliases | Action |
|-------------------------------------|----------|-------------------------------------------------------------------------------------------|
| -status | -s | Displays bot's statistics. |
| -about | -a | Displays information about bot. |## 🔐 Deploy Personally
You can deploy this bot on Heroku or on a self hosted machine.
### Personal deployment
Docker is recommended for personal deployment.#### Docker (self-hosted machine)
If you have Docker installed, you can enter following commands:
```bash
sudo docker pull ghcr.io/mytja/harmonoid-music-bot:latest
sudo docker run -d -e DISCORD_TOKEN= ghcr.io/mytja/harmonoid-music-bot
```
You can view your running machines using `sudo docker ps`Afterwards, you can see logs using `sudo docker logs `.
Docker container ID can be obtained using `sudo docker ps`#### Self-deploy on Ubuntu/Debian based distros
1. Get repository `git clone https://github.com/mytja/harmonoid-music-bot`
2. Change directory `cd harmonoid-music-bot`
3. Install Python dependencies `python3 -m pip install -r requirements.txt`
4. Install ffmpeg `sudo apt install ffmpeg`
5. Export environment variable `export DISCORD_TOKEN=`
6. Run a program `python3 main.py`### Deploying to Heroku
- Create an account on Heroku if you don't have it yet
- Create an app
- Create a fork of our repo on GitHub & Deploy it on Heroku
- Get a Discord Bot Token from Discord
- Add a secret key called DISCORD_TOKEN with value of a discord token, you got earlier, to Heroku app
- Flip a toggle switch on main page of your app[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
## ⭐ Acknowledgements
- [sigmatics](https://github.com/sigma67) for [ytmusicapi](https://github.com/sigma67/ytmusicapi)
- [PyTube](https://github.com/pytube) for [PyTube](https://github.com/pytube/pytube)
- [Tin Tvrtković](https://github.com/Tinche) for [aiofiles](https://github.com/Tinche/aiofiles)
- [alexmercerind](https://github.com/alexmercerind) for [youtube-search-python](https://github.com/alexmercerind/youtube-search-python)
- [Danny](https://github.com/Rapptz) for [discord.py](https://github.com/Rapptz/discord.py)