-1

所以我目前有这段代码,它为我的不和谐机器人制作了一个 8ball,我遇到了这个错误,上面写着“缩进错误:预期和缩进块”

这是我正在使用的代码(请参阅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')

这是我得到的错误

4

2 回答 2

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)

应该是(注意后缩进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)

顺便说一下,8ball变量名是非法的,因为变量名必须以字母下划线符号( _) 开头。

注意:为了更好的可读性,长列表可以分成多行:

    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'
        ])
于 2017-10-09T16:53:10.477 回答
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)

嗯,这正是错误消息所说的:缩进它。

于 2017-10-09T17:04:10.957 回答