我的Discord机器人程序的命令突然停止听我的arg提示,然后完全停止工作

时间:2020-08-01 23:20:37

标签: discord.py

我正在尝试编写一条命令,以将本地篮球模拟服务器中的自由球员报价收集为CSV格式,以便我们可以更快,更有效地进行交易。我写了这个命令来接受要约,但是突然,我的论点停止了倾听我给出的提示:

async def offer(ctx, firstName: str, lastName: str, amount: float, length: int, option: str='no', ntc: str='no'):

即使我在这里使用了这些提示,它也允许将整数用于lastName。它运行正常,除了如果您使用了错误的输入类型,它没有引发错误,然后我的Discord机器人突然完全停止响应该命令。它仍然可以正确地响应其他命令,因此该命令特别出了点问题,我无法弄清楚...

这是完整的命令:

@bot.command()
async def offer(ctx, firstName: str, lastName: str, amount: float, length: int, option: str='no', ntc: str='no'):

    team = ctx.channel.category.name
    username = ctx.author.name
    usermention = ctx.author.mention
    userid = ctx.author.id

    if option.lower() == 'po' or option.lower() == 'yes': option = 'yes'
    else: option = 'no'
    if ntc.lower() == 'ntc' or ntc.lower() == 'yes': ntc = 'yes'
    else: ntc = 'no'

    offer = (str(team) + ',' + str(username) + ',' + str(userid) + ',' + str(firstName) + ' ' + str(lastName) + ',' + str(amount) + ',' + str(length) + ',' + str(option) + ',' + str(ntc))
    offersList.append(offer)

    baseText = ('The ' + team + ' (' + usermention + ') offered ' + firstName + ' ' + lastName + ' a $' + str(amount) + ' million contract for ' + str(length) + ' years')
    if option == 'no' and ntc == 'no': text = (baseText + '.')
    if option == 'no' and ntc == 'yes': text = (baseText + ' with an NTC.')
    if option == 'yes' and ntc == 'no': text = (baseText + ' with a player option.')
    if option == 'yes' and ntc == 'yes': text = (baseText + ' with a player option and an NTC.')
    print(text)
    await ctx.send(text)

请让我知道它是否很明显,否则我必须重新考虑一下此命令...谢谢大家!

1 个答案:

答案 0 :(得分:0)

Ahmed询问它是否在命令开头执行了打印功能。添加此打印功能后,突然整个命令又重新开始工作。我不确定为什么,但是它在起作用...所以我不会碰它。大声笑。谢谢大家。