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