You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用interactions库的Discord斜杠命令发送Embed触发TypeError求助

修复方案

错误原因是你混用了discord.py的discord.Embed和interactions库的消息发送API,interactions库的ctx.send()不支持embed参数,且需要使用该库自身的Embed类。

具体修复步骤:

  • 从interactions库导入Embed,替代discord.Embed
  • 创建嵌入消息时使用interactions.Embed
  • 发送时用embeds参数(复数形式,接收列表),而非embed
  • 修正图片URL的引用错误(你之前写的是字符串'url',应该用变量url)

修复后的完整代码:

import asyncio, json, requests, time, datetime, random, os
from discord_components import Button, ButtonStyle, DiscordComponents, SelectOption, Select
import interactions

# 填入你的Bot Token
bot = interactions.Client("YOUR_BOT_TOKEN")

@bot.event
async def on_ready():
    print("Ready!")

@bot.command(name="example", description="example description")
async def example(ctx: interactions.CommandContext):
    response = requests.get('some url')
    json_data = response.json()
    url = json_data['url']
    # 使用interactions库的Embed类
    embed = interactions.Embed(color=0xff9900, title='')
    # 引用变量url,而非字符串'url'
    embed.set_image(url=url)
    # 用embeds参数传入嵌入消息列表
    await ctx.send(embeds=[embed])

bot.start()

额外说明:

  • 移除了未使用的导入(discord、commands、tasks、files),精简代码
  • 记得替换YOUR_BOT_TOKEN为你的机器人实际Token

内容的提问来源于stack exchange,提问作者P1ck1e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:12:11