Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/butakerodev/butakerobot
ButakeroMusicBotGo es un bot de Discord diseñado para reproducir música en tus servidores. Nota: Se están añadiendo nuevas características de forma regular.
https://github.com/butakerodev/butakerobot
aws disocrd-bot docker ecs-fargate golang grafana kubernetes loki microservice music-bot prometheus
Last synced: 1 day ago
JSON representation
ButakeroMusicBotGo es un bot de Discord diseñado para reproducir música en tus servidores. Nota: Se están añadiendo nuevas características de forma regular.
- Host: GitHub
- URL: https://github.com/butakerodev/butakerobot
- Owner: ButakeroDev
- License: apache-2.0
- Created: 2024-11-14T19:12:06.000Z (3 days ago)
- Default Branch: master
- Last Pushed: 2024-11-14T21:03:16.000Z (2 days ago)
- Last Synced: 2024-11-14T21:35:36.948Z (2 days ago)
- Topics: aws, disocrd-bot, docker, ecs-fargate, golang, grafana, kubernetes, loki, microservice, music-bot, prometheus
- Language: Go
- Homepage:
- Size: 114 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ButakeroMusicBotGo
**ButakeroMusicBotGo** es un bot de Discord desarrollado en GoLang que permite reproducir música en servidores de Discord. Este repositorio contiene el código fuente del bot junto con instrucciones para instalarlo y usarlo. Actualmente tiene compatibilidad con Youtube, pero mas adelante voy a agregar otras plataformas :D
## 🏗️ Arquitectura del Bot
¿Querés chusmear la arquitectura del bot en producción? Hacé clic [aca](/images/ARQUITECTURA.MD) para ver todos los detalles sobre cómo está construido y desplegado ButakeroMusicBotGo.
## 🤖 Invitación al Bot
Aca tenes la invitacion para probar ButakeroMusicBotGo en tu servidor de Discord, usa este enlance para invitarlo:
[Invitacion del bot a tu server](https://discord.com/oauth2/authorize?client_id=987850036866084974)## 🚀 Instalación
### ⚙️ Configuración del bot en el portal de desarrolladores de Discord
1. Ve a [Discord Developer Portal](https://discord.com/developers/applications).
2. Hacé clic en "New Application" y dale un nombre a tu aplicación.
3. En la pestaña de "Installation", marcá las casillas "User install" y "Guild install".
4. En la pestaña activa las siguientes opciones:
- **PUBLIC BOT**: Permití que el bot sea agregado por cualquiera. Cuando no está marcado, solo vos podés agregar este bot a servidores.
- **PRESENCE INTENT**: Necesario para que tu bot reciba eventos de actualización de presencia.
- **Nota**: Una vez que tu bot llegue a 100 o más servidores, esto requerirá verificación y aprobación. Leé más [aquí](https://support-dev.discord.com/hc/en-us/articles/6205754771351-How-do-I-get-Privileged-Intents-for-my-bot).
- **SERVER MEMBERS INTENT**: Necesario para que tu bot reciba eventos listados bajo GUILD_MEMBERS.
- **Nota**: Una vez que tu bot llegue a 100 o más servidores, esto requerirá verificación y aprobación. Leé más [aquí](https://support-dev.discord.com/hc/en-us/articles/6205754771351-How-do-I-get-Privileged-Intents-for-my-bot).
- **MESSAGE CONTENT INTENT**: Necesario para que tu bot reciba el contenido de los mensajes en la mayoría de los mensajes.
- **Nota**: Una vez que tu bot llegue a 100 o más servidores, esto requerirá verificación y aprobación. Leé más [aquí](https://support-dev.discord.com/hc/en-us/articles/6205754771351-How-do-I-get-Privileged-Intents-for-my-bot).5. Copiá el `DISCORDTOKEN` de la sección de Bot y guardalo, lo necesitarás para configurar el archivo `.env`.
### 🐳 Ejecución con Docker Compose
Para ejecutar **ButakeroMusicBotGo** utilizando Docker Compose, seguí estos pasos:
1. Asegurate de tener Docker y Docker Compose instalados en tu sistema. Podés encontrar instrucciones de instalación en [Docker](https://docs.docker.com/get-docker/) y [Docker Compose](https://docs.docker.com/compose/install/).
2. Cloná este repositorio a tu máquina local:
```
git clone [email protected]:Tomas-vilte/ButakeroMusicBotGo.git
```3. Navegá hasta el directorio del repositorio clonado:
```
cd ButakeroMusicBotGo
```4. Creá un archivo `.env` utilizando el archivo de ejemplo proporcionado `.env.example`. Este archivo debería contener las siguientes variables:
- `DISCORDTOKEN`: El token del bot que obtuviste en el portal de desarrolladores de Discord.
- `COMMANDPREFIX`: El prefijo de comando que desees utilizar (por ejemplo, `/bot`).5. Ejecutá el siguiente comando para construir los contenedores Docker:
```
docker-compose --env-file .env -f local-docker-compose.yml build
```6. Una vez que se haya completado la construcción, podés levantar todos los servicios necesarios (bot de Discord, servicios de monitoreo etc) con el siguiente comando:
```
docker-compose --env-file .env -f local-docker-compose.yml up
```### 💻 Ejecución manual
Si preferís ejecutar el bot manualmente, primero necesitas instalar algunas dependencias en tu sistema:
1. **Instala las dependencias del sistema**:
```sh
sudo apt-get update
sudo apt-get install -y build-essential libopus-dev libopusfile-dev ffmpeg wget libopusfile0
```2. **Instala `dca`**:
```sh
go install github.com/bwmarrin/dca/cmd/dca@latest
```3. **Instala `yt-dlp`**:
```sh
sudo wget https://github.com/yt-dlp/yt-dlp/releases/download/2024.04.09/yt-dlp_linux -O /usr/local/bin/yt-dlp
sudo chmod +x /usr/local/bin/yt-dlp
```4. Navegá hasta el directorio del repositorio clonado:
```
cd ButakeroMusicBotGo
```5. Instalá las dependencias necesarias:
```
go mod tidy
```6. Ejecutá el bot:
```
go run cmd/main.go
```
---### 🐳 Uso de la imagen Docker preconstruida
Si no queres instalar todas las dependencias manualmente, puedes usar la imagen Docker preconstruida:
1. Descargate y ejecuta la imagen docker:
```sh
docker pull tomasvilte/butakero-bot-local:latest
docker run --env-file .env tomasvilte/butakero-bot-local:latest
```### 📊 Servicios adicionales en Docker Compose
El archivo [local-docker-compose.yml](/local-docker-compose.yml) incluye servicios adicionales como Grafana y Prometheus para monitorear el bot. Si quieres aprovechar estos servicios, simplemente segui las instrucciones de la sección [Ejecución con Docker Compose](#-ejecución-con-docker-compose).
## 🎧 Uso
Una vez que el bot esté en funcionamiento, podés interactuar con él en tu servidor de Discord. Acá tenés algunos comandos básicos que podés usar:
- `/seso play `: Reproduce una canción en el canal de voz actual.
- `/seso stop`: Detiene la reproducción actual y desconecta el bot del canal de voz.
- `/seso list`: Muestra la lista de reproducción actual.
- `/seso skip`: Salta a la siguiente canción en la lista de reproducción.
- `/seso remove `: Elimina una canción específica de la lista de reproducción.
- `/seso playing`: Muestra información sobre la canción que se está reproduciendo actualmente.## 🤝 Contribuciones
¡Se agradecen las contribuciones! Si querés contribuir en el proyecto, seguí estos pasos:
1. Hacete un fork de este repositorio.
2. Realizá tus cambios en una nueva rama.
3. Envía un PR con una descripción clara de tus cambios.---