2017-11-18 13 views
0

私は、プレイヤーが「ヒット」と言ってモンスターにランダムなダメージを与えるディストートボットゲームを作ろうとしています。モンスターが一定量のダメージを受けると、彼らは死亡し、新しいモンスターが現れる。私が入力したときに しかし、不和の中に、私はDiscord Bot TypeError

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) 

誰かが間違っているとどのようにそれを修正するために何を教えてください。ありがとう!あなたが作成していない

答えて

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') 

お知らせ:

あなたは、文字列を作成して、一つの変数としてそれを渡す必要があります。

関連する問題