Почему случается TabError: inconsistent use of tabs and spaces in indentation? Вроде всё правильно сделал
Я решил сделать бота для игры Team Fortress 2. что бы бот показывал сайты с информацией про сервера и давал ссылки на них и когда я запустил своего бота то обнаружил что консоль не любит мой код и отправляет это сообщение:
if lowered( 'информацию' )
^
TabError: inconsistent use of tabs and spaces in indentation
Вот сам код который не хочет работать:
@client.command()
async def servers ( ctx ):
await ctx.send("Тебе нужна информация или играть?")
if lowered('информация')
await ctx.send( "Тогда выбирай сервер:" )
await ctx.send( "401" )
await ctx.send( "402" )
await ctx.send( "403" )
await ctx.send( "404" )
if lowered("401")
await ctx.send( 'Вот информация про Creators.TF | Moscow (West Russia) #401: https://www.gs4u.net/ru/tf2/46.174.48.84:27015.html' )
elif lowered('402')
await ctx.send( 'Вот информация про Creators.TF | Moscow (West Russia) #402: https://www.gs4u.net/ru/tf2/46.174.48.84:27016.html' )
elif lowered('403')
await ctx.send( 'Вот информация про Creators.TF | Moscow (West Russia) #403: https://www.gs4u.net/ru/tf2/46.174.48.84:27017.html' )
elif lowered('404')
await ctx.send( 'Вот информация про Creators.TF | Moscow (West Russia) #404: https://www.gs4u.net/ru/tf2/46.174.48.84:27018.html' )
elif lowered( 'играть' )
await ctx.send( "Тогда выбирай сервер:" )
await ctx.send("401")
await ctx.send("402")
await ctx.send("403")
await ctx.send("404")
if lowered("401")
await ctx.send( 'Подключиться к с.tf #401: steam://connect/46.174.48.84:27015' )
elif lowered("402")
await ctx.send( 'Подключиться к с.tf #402: steam://connect/46.174.48.84:27016' )
elif lowered("403")
await ctx.send( 'Подключиться к с.tf #403: steam://connect/46.174.48.84:27017' )
elif lowered("403")
await ctx.send( 'Подключиться к с.tf #404: steam://connect/46.174.48.84:27018' )
Из за своей не опытности я не знаю как решить эту проблему.
Ответы (1 шт):
Автор решения: Николай
→ Ссылка
Помог комментарий "C 4 строки перед условием лишний отступ. И не только там." и ответ "Поставить двоеточия после всеми скобками строк имеющих if или elif" Нужно было убрать один таб(Tab(4 пробела)) перед всеми if и elif и поставить двоеточия после скобочками этих строк
Вот правильный код:
@client.command()
async def servers ( ctx ):
await ctx.send("Тебе нужна информация или играть?")
if lowered('информация'):
await ctx.send("Тогда выбирай сервер:")
await ctx.send("401")
await ctx.send("402")
await ctx.send("403")
await ctx.send("404")
if lowered("401"):
await ctx.send('Вот информация про Creators.TF | Moscow (West Russia) #401: https://www.gs4u.net/ru/tf2/46.174.48.84:27015.html')
elif lowered('402'):
await ctx.send('Вот информация про Creators.TF | Moscow (West Russia) #402: https://www.gs4u.net/ru/tf2/46.174.48.84:27016.html')
elif lowered('403'):
await ctx.send( 'Вот информация про Creators.TF | Moscow (West Russia) #403: https://www.gs4u.net/ru/tf2/46.174.48.84:27017.html')
elif lowered('404'):
await ctx.send('Вот информация про Creators.TF | Moscow (West Russia) #404: https://www.gs4u.net/ru/tf2/46.174.48.84:27018.html')
elif lowered('играть'):
await ctx.send("Тогда выбирай сервер:")
await ctx.send("401")
await ctx.send("402")
await ctx.send("403")
await ctx.send("404")
if lowered("401"):
await ctx.send('Подключиться к с.tf #401: steam://connect/46.174.48.84:27015')
elif lowered("402"):
await ctx.send('Подключиться к с.tf #402: steam://connect/46.174.48.84:27016')
elif lowered("403"):
await ctx.send('Подключиться к с.tf #403: steam://connect/46.174.48.84:27017')
elif lowered("403"):
await ctx.send('Подключиться к с.tf #404: steam://connect/46.174.48.84:27018')