Categoría: Bots de Discord

Crear un bot de Discord#4¡Envía embeds con Slash Commands!

Esta entrada es una traducción del original en coreano.

Índice5 secciones

¡Hola! Hoy vamos a ver los slash commands (comandos de barra), que se usan muchísimo al crear bots de Discord, junto con cómo hacer embeds, que te permiten darle un aspecto bonito a tus mensajes.

📌 Lo que necesitas

  • Tener instalada la librería discord.py
cmake
pip install discord.py

📌 Registrar un slash command

Para usar slash commands en un bot de Discord, basta con aprovechar discord.app_commands.

Python
import discord
from discord.ext import commands

intents = discord.Intents.default()
bot = commands.Bot(command_prefix="/", intents=intents)

@bot.event
async def on_ready():
    await bot.tree.sync()
    print(f"✅ ¡El bot {bot.user} está listo!")

@bot.tree.command(name="임베드", description="¡Muestra un embed bonito!")
async def embed(interaction: discord.Interaction):
    embed = discord.Embed(
        title="Mensaje embed",
        description="¡Los embeds muestran tus mensajes de forma bonita!",
        color=0x00ff00,
    )
    embed.add_field(name="Campo 1", value="Contenido del primer campo", inline=False)
    embed.add_field(name="Campo 2", value="Contenido del segundo campo", inline=True)
    embed.set_footer(text="Mensaje del pie")
    await interaction.response.send_message(embed=embed)

bot.run("YOUR_TOKEN")

📌 Los elementos principales de un embed

  • Title: la parte del título.
  • Description: donde escribes una explicación o un mensaje adicional.
  • Color: te permite elegir el color de la barra de la izquierda.
  • Field: se usa para añadir información detallada.
  • Footer: se usa para poner un texto pequeño al final del todo.

📌 Consejos para decorar tus embeds

  • Si ajustas el color al tema de tu bot o de tu servidor, todo se verá más uniforme.
  • Con inline=True puedes colocar los campos uno al lado del otro.
  • Para añadir una imagen, usa embed.set_image(url="이미지_링크") (la URL de la imagen).

📌 Comprobar el resultado

Ejecuta el bot y escribe el comando /임베드 (embed) en un canal de Discord: ¡aparecerá un mensaje embed genial!✨

¡Ahora te toca a ti usar slash commands y embeds para crear un bot de Discord todavía mejor!🚀

Serie · Parte 4 de 32

Crear un bot de Discord

  1. #1Crear un bot de Discord - ¡Domina por completo los Slash Commands!
  2. #2¡Añade opciones (argumentos) a tus Slash Commands!
  3. #3¡Añade subcomandos (Subcommand) a tus Slash Commands!
  4. #4¡Envía embeds con Slash Commands!Estás aquí
  5. #5¡Implementa interacciones con botones (Button)!
  6. #6¡Implementa menús desplegables (Select Menu)!
  7. #7Pide texto al usuario con un modal (Modal) (ejemplo en Python)
  8. #8Decora embeds (Embed) con imágenes y campos (ejemplo en Python)
  9. #9¡Integra la IA (API de Claude y ChatGPT)! (ejemplo en Python)
  10. #10¡Añade soporte multilingüe (i18n)! (ejemplo en Python)
  11. #11¡Crea un panel web con Flask! (ejemplo en Python)
  12. #12¡Gestiona los cooldowns y permisos de tus comandos! (ejemplo en Python)
  13. #13¡Administra tu servidor automatizando roles y canales! (ejemplo en Python)
  14. #14¡Guarda tus datos! JSON vs SQLite (ejemplo en Python)
  15. #15슬래시 명령어 그룹(Group)으로 명령어 정리하기! (파이썬 예제) (en coreano)
  16. #16리마인더·알림 기능 만들기! 봇이 먼저 말 걸게 하기 (파이썬 예제) (en coreano)
  17. #17RAG로 문서 기반 답변봇 만들기! 우리 서버 전용 FAQ 봇 (파이썬 예제) (en coreano)
  18. #18투표(Poll) 기능 만들기! 다수결로 정하는 서버 규칙 (파이썬 예제) (en coreano)
  19. #19Cog로 코드 쪼개기! 1000줄 봇도 안 더러워지는 구조 (파이썬 예제) (en coreano)
  20. #20자동 환영 메시지·온보딩 만들기! 규칙 동의 버튼으로 자동 역할 부여 (파이썬 예제) (en coreano)
  21. #21키워드 자동응답·금지어 필터 만들기! 경고 누적으로 자동 제재까지 (파이썬 예제) (en coreano)
  22. #22슬래시 명령어 자동완성(Autocomplete) 만들기! 금지어를 골라서 추가·삭제 (파이썬 예제) (en coreano)
  23. #23aiosqlite로 비동기 DB 제대로 설계하기! JSON 탈출 (파이썬 예제) (en coreano)
  24. #24채널 난독화(Channel Obfuscation) 대응하기! 11/16부터 안 보이는 채널이 생겨요 (파이썬 예제) (en coreano)
  25. #25봇이 죽지 않게! 에러 핸들링·로깅 체계 잡기 (파이썬 예제) (en coreano)
  26. #26티켓(Ticket) 문의 시스템 만들기! 버튼 하나로 1:1 상담 채널 자동 생성 (파이썬 예제) (en coreano)
  27. #27티켓 담당자 배정·우선순위 만들기! 스태프가 여러 명이어도 안 꼬이게 (파이썬 예제) (en coreano)
  28. #28레벨·경험치(XP) 시스템 만들기! 채팅할수록 레벨업, 랭킹판까지 (파이썬 예제) (en coreano)
  29. #29화폐·상점(Economy) 시스템 만들기! 코인 벌어서 아이템 사기 (파이썬 예제) (en coreano)
  30. #30¡Crea un bot de encuestas y votaciones (Poll)! Encuestas nativas + botones con recuento en tiempo real (ejemplo en Python) 🗳️
  31. #32¡Crea un canal de registros y auditoría (Audit Log) del servidor! Registra automáticamente mensajes borrados y editados, entradas, salidas y expulsiones (ejemplo en Python) 🕵️
  32. #33임시 음성방 확장, 파티방 만들기! 방장 위임·강퇴·초대 전용(비공개) 방 + 전용 채팅방 자동 생성 (파이썬 예제) 🎉 (en coreano)
Ver las 32Contraer

Autor

Mojangcam

Un registro práctico de desarrollo e IT: código que escribo, servidores que mantengo y los errores que resuelvo por el camino.