Discord Bot TypeError

时间:2017-11-18 16:14:24

标签: python-3.x discord

我正在尝试制作一个不和谐机器人游戏,其中玩家说“击中”并且怪物会受到随机的伤害。在怪物受到一定程度的伤害后,它们会死亡并出现一个新怪物。 但是,当我输入“命中”成不和谐时,我收到错误说

TypeError: send_message() takes from 2 to 3 positional arguments but 7 were given

这是我的代码:

@client.command(pass_context=True)
async def hit (ctx):
    global HP
    damage = random.randrange(50,500)
    HP -= damage
    if HP > 0 :
        await client.say('The monster took', damage, 'damage and has', HP, 'health left')
    else :
        await client.say('The monster has died! Another one approaches...')
        HP = random.randrange(600,1000)

有人请告诉我什么是错的以及如何解决它。谢谢!

1 个答案:

答案 0 :(得分:0)

将字符串传递给client.say()

时,您无法正确创建/连接字符串
client.say('The monster took', damage, 'damage and has', HP, 'health left')

每次在这里使用逗号时,都会将其视为传递给函数的新参数。

您需要创建字符串并将其作为一个变量传递:

client.say('The monster took ' + damage + ' damage and has ' + HP + ' health left')

请注意,这使用+而不是,来加入字符串。