我在Discord Bot上尝试使用discord.Embed时收到错误 .

2018-09-16T15:46:20.254940 00:00 app [worker.1]:忽略命令dave中的异常2018-09-16T15:46:20.256521 00:00 app [worker.1]:Traceback(最近一次调用最后一次) ):2018-09-16T15:46:20.265538 00:00 app [worker.1]:文件“/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core.py “,第50行,包裹2018-09-16T15:46:20.265541 00:00 app [worker.1]:ret =来自coro的收益率(* args,** kwargs)2018-09-16T15:46:20.265590 00: 00 app [worker.1]:文件“bot.py”,第83行,在dave 2018-09-16T15:46:20.265592 00:00 app [worker.1]:embed = discord.Embed(title = data ['输出'],color = discord.Colour(0x99cc))2018-09-16T15:46:20.265669 00:00 app [worker.1]:AttributeError:模块'discord'没有属性'Embed'2018-09-16T15: 46:20.265720 00:00 app [worker.1]:2018-09-16T15:46:20.265722 00:00 app [worker.1]:上述异常是以下异常的直接原因:2018-09-16T15: 46:20.265723 00:00 app [worker.1]:2018-09-16T15:46:20.265765 00:00 app [worker.1]:Traceback(最近期)最后呼叫):2018-09-16T15:46:20.265840 00:00 app [worker.1]:文件“/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/bot .py“,第822行,在process_commands 2018-09-16T15:46:20.265842 00:00 app [worker.1]:从command.invoke(ctx)得出2018-09-16T15:46:20.265885 00:00 app [ worker.1]:文件“/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core.py”,第367行,调用2018-09-16T15:46:20.265887 00:00 app [worker.1]:从注入的产量(* ctx.args,** ctx.kwargs)2018-09-16T15:46:20.265928 00:00 app [worker.1]:文件“/ app / . heroku / python / lib / python3.6 / site-packages / discord / ext / commands / core.py“,第52行,包裹2018-09-16T15:46:20.265930 00:00 app [worker.1]:raise来自e 2018-09-16T15:46:20.265995 00:00 app [worker.1]的CommandInvokeError(e):discord.ext.commands.errors.CommandInvokeError:命令引发了异常:AttributeError:模块'discord'没有属性'嵌入”

是控制台中的完整输出 .

我的相关代码如下:

from discord.ext.commands import Bot
from discord.ext import commands
import discord
import json
import random
import requests

client = Bot(description="My Bot", command_prefix="~")

@client.command(pass_context=True)
async def dave(ctx, *, query = ""):
    ''' Talks to Dave '''

    if query == "":
        await client.say("Sample usage: ```~dave Hello```")
    else:
        r = requests.get('https://example.com/dave/api.php?discord=' + str(ctx.message.author.id) + '&query=' + str(query))
        data = r.json()
        data = json.dumps(data)
        data = json.loads(data)

        if data['status'] == "unknown":
            unsure = ["I don't know how to do that yet.", "Hmm... I am unsure.", "Sorry, you appear to have confused me.", "I don't know how to help you with that."]
            await client.say(random.choice(unsure))
            return

        embed = discord.Embed(title=data['output'], colour=discord.Colour(0x99cc))

        if data['discordAction'] != None:
            embed.set_image(url=data['discordAction'])

        embed.set_author(name="Dave", url="https://example.com/dave/", icon_url="https://example.com/Storage_new/2018/small/dave-small.png")
        embed.set_footer(text="Powered by Dave", icon_url="https://example.com/drive/uploads/1/bv3gfc333mceuaqw8jlpyrnrfiqi7r/f73h4m12qdxl45n.png")
        await client.say(embed=embed)

client.run('intentionally removed')

该文件也称为 bot.py . 代码已更改为示例而不是我的实际域等等 . 在我介绍 discord.Embed 部分之前,所有代码都有效 .