分类: Discord 机器人开发
Discord 机器人开发#2为 Slash Command 添加选项(Arguments)!
本文译自韩语原文。
目录4 项
大家好!我是 Mojangcam 🙌
上一篇我们做了一个最基础的斜杠命令 /hello,还记得吗?
这次我们来做一个接收用户输入并据此执行的 Slash Command。
比如 /say message:안녕 这样的命令!
📦 准备好的代码
这次依然基于 Python 和 discord.py。
先参考一下下面的代码👇
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} 机器人已准备就绪!")
@bot.tree.command(name="hello", description="简单的问候命令")
async def hello(interaction: discord.Interaction):
await interaction.response.send_message("你好!")
@bot.tree.command(name="say", description="复述你输入的消息!")
@app_commands.describe(message="请输入要复述的消息。")
async def say(interaction: discord.Interaction, message: str):
await interaction.response.send_message(f"你说的话:{message}")
bot.run("YOUR_TOKEN")🧪 实际使用效果
在 Discord 聊天框里像下面这样输入会怎样?
/say message:안녕 나는 봇이야👇 机器人会这样回复:
你说的话:안녕 나는 봇이야(韩语,意思是"你好,我是机器人")
📌 还支持多种类型的选项!
类型说明示例
| str | 字符串 | message:你好 |
|---|---|---|
| int | 数字 | count:3 |
| bool | true/false 选择 | is_public:true |
| discord.User | 选择用户 | user:@张三 |
| discord.TextChannel | 选择文字频道 | channel:#综合 |
🧠 总结
接收选项的斜杠命令能让机器人的功能变得更加丰富多样! 下一篇我们会介绍限制可选值的 Enum 风格选项, 或者子命令分组(Command Groups)!
有任何疑问欢迎在评论区或留言板留言 🙌 感谢阅读!
连载 · 共 32 篇中的第 2 篇
Discord 机器人开发
- #1Discord 机器人开发 - Slash Command 完全攻略!
- #2为 Slash Command 添加选项(Arguments)!当前文章
- #3在 Slash Command 中添加子命令(Subcommand)!
- #4用 Slash Command 发送 Embed 嵌入消息!
- #5实现按钮(Button)交互!
- #6实现下拉菜单(Select Menu)!
- #7用模态框(Modal)接收用户输入(Python 示例)
- #8用嵌入消息(Embed)的图片和字段美化消息(Python 示例)
- #9接入 AI(Claude·ChatGPT API)!(Python 示例)
- #10支持多语言(i18n)!(Python 示例)
- #11用 Flask 制作网页仪表盘!(Python 示例)
- #12管理命令冷却时间(Cooldown)与权限(Permission)!(Python 示例)
- #13用身份组·频道自动化管理服务器!(Python 示例)
- #14保存数据!JSON vs SQLite(Python 示例)
- #15슬래시 명령어 그룹(Group)으로 명령어 정리하기! (파이썬 예제) (韩语)
- #16리마인더·알림 기능 만들기! 봇이 먼저 말 걸게 하기 (파이썬 예제) (韩语)
- #17RAG로 문서 기반 답변봇 만들기! 우리 서버 전용 FAQ 봇 (파이썬 예제) (韩语)
- #18투표(Poll) 기능 만들기! 다수결로 정하는 서버 규칙 (파이썬 예제) (韩语)
- #19Cog로 코드 쪼개기! 1000줄 봇도 안 더러워지는 구조 (파이썬 예제) (韩语)
- #20자동 환영 메시지·온보딩 만들기! 규칙 동의 버튼으로 자동 역할 부여 (파이썬 예제) (韩语)
- #21키워드 자동응답·금지어 필터 만들기! 경고 누적으로 자동 제재까지 (파이썬 예제) (韩语)
- #22슬래시 명령어 자동완성(Autocomplete) 만들기! 금지어를 골라서 추가·삭제 (파이썬 예제) (韩语)
- #23aiosqlite로 비동기 DB 제대로 설계하기! JSON 탈출 (파이썬 예제) (韩语)
- #24채널 난독화(Channel Obfuscation) 대응하기! 11/16부터 안 보이는 채널이 생겨요 (파이썬 예제) (韩语)
- #25봇이 죽지 않게! 에러 핸들링·로깅 체계 잡기 (파이썬 예제) (韩语)
- #26티켓(Ticket) 문의 시스템 만들기! 버튼 하나로 1:1 상담 채널 자동 생성 (파이썬 예제) (韩语)
- #27티켓 담당자 배정·우선순위 만들기! 스태프가 여러 명이어도 안 꼬이게 (파이썬 예제) (韩语)
- #28레벨·경험치(XP) 시스템 만들기! 채팅할수록 레벨업, 랭킹판까지 (파이썬 예제) (韩语)
- #29화폐·상점(Economy) 시스템 만들기! 코인 벌어서 아이템 사기 (파이썬 예제) (韩语)
- #30打造投票·问卷(Poll)机器人!原生投票 + 按钮实时统计(Python 示例)🗳️
- #32打造服务器日志·审核日志(Audit Log)频道!自动记录消息删除、编辑、成员进出和踢出(Python 示例)🕵️
- #33임시 음성방 확장, 파티방 만들기! 방장 위임·강퇴·초대 전용(비공개) 방 + 전용 채팅방 자동 생성 (파이썬 예제) 🎉 (韩语)
