2017-10-09 5 views
-1

donc j'ai actuellement ce code, ce qui en fait un 8ball pour mon bot de discorde, et je vais avoir cette erreur où il est dit « erreur indenté: attendue et bloc indenté »Bot erreur de code: prévu un bloc indenté

Voici le code que je utilise (voir https://hastebin.com/isageyoqih.py)

import discord 
import asyncio 
import random 
import pickle 
import os 

client = discord.Client() 

@client.event 
async def on_ready(): 
    print('Ready and with') 
    print(client.user.name) 

@client.event 
async def on_message(message): 
    if message.content.startswith('_whatcanyoudo?'): 
     msg = await client.send_message(message.channel, '```Heres what i can do :```') 
     await asyncio.sleep(0.5) 
     msg2 = await client.send_message(message.channel, '```For now, i can only do a thing called "flip a coin"```') 
     await asyncio.sleep(0.5) 
     msg3 = await client.send_message(message.channel, '```Bot powered by Ouindoze™, message will delete in 15 seconds```') 
     await asyncio.sleep(15) 
     await client.delete_message(msg) 
     await client.delete_message(msg2) 
     await client.delete_message(msg3) 


    elif message.content.startswith('_8ball'): 
    8ball = random.choice(['It is certain','As i see it, yes', 'Dont count on it', 'Without a doubt', 'Definitely', 'Very doubtful', 'Outlook not so good', 'My sources say no', 'My reply is no', 'Most likely', 'You may rely on it', 'Ask again later']) 
    msg5 = await client.send_message(message.channel, 8ball) 

client.run('I obiously won't share the token duh xd') 

Here is the error I got.

Répondre

0
elif message.content.startswith('_8ball'): 
8ball = random.choice(['It is certain','As i see it, yes', 'Dont count on it', 'Without a doubt', 'Definitely', 'Very doubtful', 'Outlook not so good', 'My sources say no', 'My reply is no', 'Most likely', 'You may rely on it', 'Ask again later']) 
msg5 = await client.send_message(message.channel, 8ball) 

devrait être (retrait de la note après elif)

elif message.content.startswith('_8ball'): 
    8ball = random.choice(['It is certain','As i see it, yes', 'Dont count on it', 'Without a doubt', 'Definitely', 'Very doubtful', 'Outlook not so good', 'My sources say no', 'My reply is no', 'Most likely', 'You may rely on it', 'Ask again later']) 
    msg5 = await client.send_message(message.channel, 8ball) 

et, par ailleurs, 8ball est le nom illégal pour une variable comme nom de variable doivent commencer par une lettre ou un symbole de soulignement (_).

Note: Les longues listes peuvent être divisées en plusieurs lignes pour une meilleure lisibilité:

ball = random.choice([ 
     'It is certain', 
     'As i see it, yes', 
     'Dont count on it', 
     'Without a doubt', 
     'Definitely', 
     'Very doubtful', 
     'Outlook not so good', 
     'My sources say no', 
     'My reply is no', 
     'Most likely', 
     'You may rely on it', 
     'Ask again later' 
     ]) 
+0

Des questions comme celle-ci auraient dû être commentées et votées pour fermer une simple erreur typographique. Comme cette question ne sera d'aucune aide pour les futurs lecteurs autres que l'OP – abccd

+0

Merci beaucoup, je suis sur ce sujet depuis 2 heures xD – Ouindoze

0
elif message.content.startswith('_8ball'): 
    8ball = random.choice(['It is certain','As i see it, yes', 'Dont count on it', 'Without a doubt', 'Definitely', 'Very doubtful', 'Outlook not so good', 'My sources say no', 'My reply is no', 'Most likely', 'You may rely on it', 'Ask again later']) 
    msg5 = await client.send_message(message.channel, 8ball) 

Eh bien, il est exactement ce que le message d'erreur dit: indentera.