错误:命令引发异常:TypeError:“协程”对象不可下标

时间:2020-10-19 01:50:32

标签: python python-3.x discord.py

我目前正在使用Discord机器人,但是我一直遇到错误。 这是我的主要代码: main.py

import discord
from verses import link, verse
from dotenv import find_dotenv, load_dotenv
import os

Token = os.environ.get('DISCORD_TOKEN')

Command = os.environ.get('COMMAND')

Bot = commands.Bot(command_prefix=Command)

@Bot.command(name="Random", help="Get a random verse.")
async def random(ctx):
    url = link('random')

    verses = (verse(url)[0])

    embed = discord.Embed(title="Random Bible verse!")

    embed.add_field(name=f"{verses['bookname']} {verses['chapter']}:{verses['verse']}",
                    value=verses['text'])

    await ctx.send(embed=embed)

@Bot.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.errors.CommandInvokeError):
        print(error)
        await ctx.send(
            f"{ctx.author.mention}, You have used this command incorrectly, please refer to {Command}help or {Command}Helps for help.")

Bot.run(Token)

verses.py,这是我的main.py获取链接和经文功能的地方

import requests


def link(params):
    return f"https://labs.bible.org/api/?passage={params}&type=json"


def verse(url):
    return requests.get(url).json()

每当我运行代码并尝试使用!Random命令时,都会出现错误:

Command raised an exception: TypeError: 'coroutine' object is not subscriptable
C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\asyncio\events.py:81: RuntimeWarning: coroutine 'Command.__call__' was never awaited
  self._context.run(self._callback, *self._args)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

我试图寻找一种解决方案,但似乎找不到。

0 个答案:

没有答案