Categoría: Bots de Discord

Crear un bot de Discord#2¡Añade opciones (argumentos) a tus Slash Commands!

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

Índice4 secciones

¡Hola! Soy Mojangcam 🙌 La última vez creamos un comando de barra básico, /hello, ¿te acuerdas?

Esta vez vamos a crear un Slash Command que recibe lo que escribe el usuario y actúa con ello. ¡Algo como /say message:안녕!


📦 El código

Una vez más, usamos Python y discord.py. Primero, echa un vistazo al código de abajo👇

Python
import discord
from discord.ext import commands
from discord import app_commands

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

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

@bot.tree.command(name="hello", description="Un comando de saludo sencillo")
async def hello(interaction: discord.Interaction):
    await interaction.response.send_message("¡Hola!")

@bot.tree.command(name="say", description="¡Repite el mensaje que escribas!")
@app_commands.describe(message="Escribe el mensaje que quieres repetir.")
async def say(interaction: discord.Interaction, message: str):
    await interaction.response.send_message(f"Lo que dijiste: {message}")

bot.run("YOUR_TOKEN")

🧪 Así se ve en acción

¿Qué pasa si escribes esto en el chat de Discord?

Terminal
/say message:안녕 나는 봇이야

👇 El bot responde así:

Lo que dijiste: 안녕 나는 봇이야 ("Hola, soy un bot" en coreano)

📌 ¡También puedes usar muchos otros tipos de opciones!

Tipo Descripción Ejemplo

str Texto message:Hola
int Número count:3
bool Elegir true/false is_public:true
discord.User Elegir un usuario user:@JuanPerez
discord.TextChannel Elegir un canal de texto channel:#general

🧠 Para terminar

¡Los slash commands que reciben opciones hacen que tu bot sea mucho más versátil! La próxima vez veremos las opciones tipo Enum que limitan las elecciones, o cómo agrupar subcomandos (Command Groups).

Si tienes alguna duda, déjala en los comentarios o en el libro de visitas 🙌 ¡Gracias por leer!

Serie · Parte 2 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!Estás aquí
  3. #3¡Añade subcomandos (Subcommand) a tus Slash Commands!
  4. #4¡Envía embeds con Slash Commands!
  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.