Discord.py - AttributeError: модуль 'discord' не имеет атрибута 'Embed' - PullRequest
0 голосов
/ 16 сентября 2018

Я получаю сообщение об ошибке при попытке использовать discord.Embed на моем Discord Bot.

2018-09-16T15: 46: 20.254940 + 00: 00 app [worker.1]:Игнорирование исключения в команде dave 2018-09-16T15: 46: 20.256521 + 00: 00 app [worker.1]: трассировка (последний вызов был последним): 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 = yield из 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 ['output'], 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]: обратная связь (последний вызов был последним): 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_commands2018-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 приложение [работник.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]: поднять CommandInvokeError (e)от e 2018-09-16T15: 46: 20.265995 + 00: 00 app [worker.1]: discord.ext.commands.errors.CommandInvokeError: Команда вызвала исключение: AttributeError: модуль 'discord'не имеет атрибута 'Embed'

Был ли полный вывод в консоли.

Мой соответствующий код выглядит следующим образом:

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 part.

1 Ответ

0 голосов
/ 22 февраля 2019

Весь код работал до тех пор, пока я не представил discord.Embed part.

Я думаю, я знаю, почему ... это может быть устаревшим.

Здесь попробуйте использовать следующую команду: pip install --upgrade discord.py

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...