0

0

Discord.py Slash 命令中 Embed 无法响应的解决方案

碧海醫心

碧海醫心

发布时间:2026-02-11 12:13:44

|

237人浏览过

|

来源于php中文网

原创

Discord.py Slash 命令中 Embed 无法响应的解决方案

discord.py 2.0+ 中使用 slash 命令发送嵌入(embed)时,若误传 `embeds=[embed]`(列表形式),将导致“application did not respond”错误;正确用法是传入单个 `embed=` 参数。

在 Discord.py 2.0+(即 discord.py 重写版,基于 app_commands)中,slash 命令的响应机制与传统消息事件不同:必须在 3 秒内对交互(Interaction)作出首次响应,否则 Discord 会判定应用无响应并显示 “Application did not respond”。而常见错误之一,正是混淆了 send_message() 方法的参数签名。

? 核心问题定位

你当前代码中使用了:

await ctx.response.send_message(embeds=[embed])

但 ctx.response.send_message() 不接受 embeds 参数(该参数仅存在于 channel.send() 等非交互响应方法中)。它只支持 embed=(单个 discord.Embed 对象),而非 embeds=(列表)。传入 embeds=[embed] 会导致参数被忽略、响应未被正确触发,最终超时失败。

✅ 正确写法应为:

Interior AI
Interior AI

AI室内设计,上传室内照片自动帮你生成多种风格的室内设计图

下载
await ctx.response.send_message(embed=embed)

✅ 完整修正示例

以下是修复后的完整 slash 命令代码(含关键注释):

@bot.tree.command(name="avatar", description="Show a member's avatar")
async def avatar(ctx: discord.Interaction, member: discord.Member):
    # 注意:使用 member.display_avatar 而非 member.avatar(更健壮,兼容用户未设置头像场景)
    embed = discord.Embed(
        title="?️ Avatar",
        description=f"{member.mention}'s profile picture!",
        color=discord.Color.blurple()
    )
    embed.set_image(url=member.display_avatar.url)  # 推荐使用 display_avatar 并调用 .url
    embed.set_footer(
        text=f"Requested by {ctx.user.display_name}",
        icon_url=ctx.user.display_avatar.url
    )

    # ✅ 关键修正:使用 embed=,而非 embeds=[...]
    await ctx.response.send_message(embed=embed)

⚠️ 其他重要注意事项

  • ctx.message 在 slash 命令中不可用:ctx.message.author 和 ctx.message.author.avatar 会引发 AttributeError。请改用 ctx.user(代表触发命令的用户)及其 display_avatar 属性。
  • 避免 .avatar → 改用 .display_avatar:member.avatar 可能为 None(如用户未设置头像),而 member.display_avatar 总会返回一个有效 URL(默认为 Discord 默认头像)。
  • 响应时效性:所有 ctx.response.* 调用必须在 3 秒内完成;若需异步耗时操作(如 API 请求),请先调用 await ctx.response.defer(),再用 await ctx.followup.send(...) 发送结果。
  • 同步命令:确保 bot.tree.sync() 已成功执行(如 on_ready 中),且 bot 拥有 applications.commands 权限,并已在测试服务器启用开发者模式与命令同步。

? 总结

“Application did not respond” 错误通常不是网络或权限问题,而是交互响应逻辑错误。牢记三点:

  1. slash 命令响应必须用 ctx.response.send_message(embed=...),不是 embeds=[...]
  2. 交互对象(ctx)中无 message 属性,一律使用 ctx.user / ctx.guild 等原生属性;
  3. 所有响应必须及时——超时即失败,无重试机制。

遵循以上规范,即可稳定发送 Embed 响应,彻底告别静默失败。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang channel原理
Golang channel原理

本专题整合了Golang channel通信相关介绍,阅读专题下面的文章了解更多详细内容。

253

2025.11.14

golang channel相关教程
golang channel相关教程

本专题整合了golang处理channel相关教程,阅读专题下面的文章了解更多详细内容。

349

2025.11.17

2026春节习俗大全
2026春节习俗大全

本专题整合了2026春节习俗大全,阅读专题下面的文章了解更多详细内容。

54

2026.02.11

Yandex网页版官方入口使用指南_国际版与俄罗斯版访问方法解析
Yandex网页版官方入口使用指南_国际版与俄罗斯版访问方法解析

本专题全面整理了Yandex搜索引擎的官方入口信息,涵盖国际版与俄罗斯版官网访问方式、网页版直达入口及免登录使用说明,帮助用户快速、安全地进入Yandex官网,高效使用其搜索与相关服务。

154

2026.02.11

虫虫漫画网页版入口与免费阅读指南_正版漫画全集在线查看方法
虫虫漫画网页版入口与免费阅读指南_正版漫画全集在线查看方法

本专题系统整理了虫虫漫画官网及网页版最新入口,涵盖免登录观看、正版漫画全集在线阅读方式,并汇总稳定可用的访问渠道,帮助用户快速找到虫虫漫画官方页面,轻松在线阅读各类热门漫画内容。

37

2026.02.11

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

4

2026.02.11

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

1

2026.02.11

Spring Boot企业级开发与MyBatis Plus实战
Spring Boot企业级开发与MyBatis Plus实战

本专题面向 Java 后端开发者,系统讲解如何基于 Spring Boot 与 MyBatis Plus 构建高效、规范的企业级应用。内容涵盖项目架构设计、数据访问层封装、通用 CRUD 实现、分页与条件查询、代码生成器以及常见性能优化方案。通过完整实战案例,帮助开发者提升后端开发效率,减少重复代码,快速交付稳定可维护的业务系统。

5

2026.02.11

包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法
包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法

本专题汇总了包子漫画官网和网页版入口,提供最新章节抢先看方法、正版免费阅读指南,以及稳定访问方式,帮助用户快速直达包子漫画页面,无广告畅享全集漫画内容。

156

2026.02.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号