【问题标题】:Discord.py rewrite 'Context' object has no attribute 'send'Discord.py 重写“上下文”对象没有属性“发送”
【发布时间】:2019-06-19 01:46:58
【问题描述】:

上个月我在 heroku 上托管了一个 Discord.py(异步版本)机器人,它运行良好,本月我将我的机器人从异步更新为重写,但它并没有真正工作。

在我的requirements.txt 文件中,我已经输入了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)

【问题讨论】:

  • 能否将您的需求文件添加到问题中?

标签: heroku discord discord.py-rewrite


【解决方案1】:

您确定安装了正确的版本吗?仅仅将它放在您的需求文件中并不能保证您使用的是正确的。检查您使用pip freeze 安装的内容,然后在必要时卸载旧的异步版本。

【讨论】:

    【解决方案2】:

    仅当您安装了async versiondiscord.py 并且正在使用rewrite 功能时,才会出现这种类型的错误

    仔细检查您的 requirements.txt 文件的名称(您在问题中将其命名为 requirement.txt)并检查它是否仍包含 discord==0.0.2discord.py==0.16.12

    【讨论】:

    • @ItsBenny_ 确保您没有安装 both。很可能您安装了rewrite 却没有删除async 版本,这会导致类似的事情发生。
    猜你喜欢
    • 2020-09-22
    • 2021-08-19
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2021-07-27
    相关资源
    最近更新 更多