Задать вопрос
@Bot-Developer
Начинающий разработчик ботов

Как исправить ошибку else?

Недавно я начал писать экономического бота, но при запуске выдает такую ошибку:
File "/storage/emulated/0/bot/bot.py", line 28
    else:
    ^
SyntaxError: invalid syntax


Код, который я использовал:
import discord
from discord.ext import commands

import sqlite3
from config import settings

client = commands.Bot(command_prefix = settings['PREFIX'])
client.remove_command('help')

connection = sqlite3.connect('server.db')
cursor = connection.cursor()


@client.event
async def on_ready():
  cursor.execute("""CREATE TABLE IF NOT EXISTS users (
    name TEXT,
    id INT,
    cash BIGINT,
    rep INT,
    lvl INT
    )""")
    
  for guild in client.guilds:
      for member in guild.members:
        if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
          cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)")
          else:
            pass

    connection.commit()
    print('Bot connected')


@client.event
async def on_member_join(member):
  if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
    cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)")
    connection.commit()
    else:
      pass

@client.command(aliases = ['balance', 'cash'])
async def __balance(ctx, member: discord.Member = None):
  if member is None:
    await ctx.send(embed=discord.Embed(
      description = f"""Баланс пользователя **{ctx.author}:** **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]}:leaves:**"""
      ))
    else:
     await ctx.send(embed=discord.Embed(
      description = f"""Баланс пользователя **{ctx.author}:** **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]}:leaves:**"""
      ))

client.run(settings['TOKEN'])
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@EgorSvinarev
У вас табуляции неправильная. Её поправьте
async def on_member_join(member):
  if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
    cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)")
    connection.commit()
  else:
      pass
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы