【问题标题】:Aiohttp adding values to string in discord.pyAiohttp 将值添加到 discord.py 中的字符串
【发布时间】:2021-02-05 01:00:42
【问题描述】:

我正在尝试将用户的响应添加到 URL 中。我的代码是

async def dungeondata():
    async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=False)) as session:
        async with session.get('https://sky.shiiyu.moe/api/v2/dungeons/{}/{}'.format(name, cutename)) as resp:
            return await resp.json()

@bot.command(name='dungeon', aliases=['dungeons'])
async def dungeon(ctx, name, cutename):
    JSONData = await dungeondata(name, cutename)

当用户执行 ?dungeons 时,我正在尝试将 and 添加到 URL 中,因此 url 变为 https://sky.shiiyu.moe/api/v2/dungeons/name/cutename。我该怎么做?

【问题讨论】:

    标签: python discord.py aiohttp


    【解决方案1】:

    dungeon 函数中添加namecutename 作为参数。

    async def dungeon(name, cutename):
        async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=False)) as session:
            async with session.get('https://sky.shiiyu.moe/api/v2/dungeons/{}/{}'.format(name, cutename)) as resp:
                return await resp.json()
    

    【讨论】:

    • 那行不通。我从 exc discord.ext.commands.errors.CommandInvokeError 得到错误 raise CommandInvokeError(exc): Command raise an exception: TypeError: dungeon() missing 1 required positional argument: 'cutename'
    • 可以,在discord中发送命令时需要传入name和cutename
    • 我做了 e?dungeon enormouz pineapple,但没用。其中名字是 enormouz 而可爱的名字是菠萝
    • 是的,将地牢函数重命名为其他名称,因为它与命令名称冲突
    • 我已将其重命名为 async def dungeondata(name, cutename): 但它仍然无法正常工作,并且出现同样的错误。我已经编辑了我的问题,因此它包含了更改。
    猜你喜欢
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 2022-01-23
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    相关资源
    最近更新 更多