Discord.py переписать объект «Context» не имеет атрибута «send» - PullRequest
0 голосов
/ 25 января 2019

В прошлом месяце я размещал бота Discord.py (асинхронная версия) на heroku, и он работал отлично, в этом месяце я обновил свой бот из асинхронного, чтобы переписать, и он не работает на самом деле.

На моем *Файл 1003 * Я положил git+https://github.com/Rapptz/discord.py@rewrite#egg=discord.py[voice], но он не работает.

Я всегда получаю эту ошибку:

2019-01-25T08:30:23.592293+00:00 app[worker.1]: Traceback (most recent call last):
2019-01-25T08:30:23.592356+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/bot.py", line 846, in process_commands
2019-01-25T08:30:23.592358+00:00 app[worker.1]: yield from command.invoke(ctx)
2019-01-25T08:30:23.592363+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core.py", line 374, in invoke
2019-01-25T08:30:23.592365+00:00 app[worker.1]: yield from injected(*ctx.args, **ctx.kwargs)
2019-01-25T08:30:23.592395+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core.py", line 54, in wrapped
2019-01-25T08:30:23.592397+00:00 app[worker.1]: raise CommandInvokeError(e) from e
2019-01-25T08:30:23.592435+00:00 app[worker.1]: discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Context' object has no attribute 'send'

Сценарий:

print("Loading Script")
print("Loading Libs")

import discord
import random
from discord.ext import commands

print("Loading Bot")

bot = commands.Bot(command_prefix='!')



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

@bot.command()
async def rps(ctx):
    rpsa = ["Rock", "Paper", "Scissors"]
    rpsr = random.choice(rpsa)
    await ctx.send(rpsr)

bot.run(Token)

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Вы уверены, что у вас установлена ​​правильная версия? Просто наличие этого в вашем файле требований не гарантирует, что вы используете правильный. Проверьте, что вы установили с pip freeze, а затем при необходимости удалите старую асинхронную версию.

0 голосов
/ 25 января 2019

Этот тип ошибки возникает только в том случае, если у вас установлена ​​ асинхронная версия из discord.py и вы используете переписать функции

Дважды проверьте, как называется ваш requirements.txt файл (вы назвали его requirement.txt в вопросе), и убедитесь, что он по-прежнему не содержит discord==0.0.2 или discord.py==0.16.12

...