ошибка синтаксиса условия else

Приветик, я тут не понимаю в чем загвоздка почему это else считается ошибкой синтаксиса?

Вот код:

import disnake 
from disnake.ext import commands

import sqlite3
from congif import settings


client = commands.Bot(command_prefix=".", help_command=None, intents=disnake.Intents.all())

connection = sqlite.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
    )""")
    
    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)")
                    
                    else:
                        pass
@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)")
    else:
        pass

connection.commit()
print('bot connection')
client.run(settings['token'])

Ответы (1 шт):

Автор решения: Andrei

Потому что блок определяется отступами у Вас отступы не правильные. Должно быть так:

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)")
                
        else:
            pass


@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)")
    else:
        pass
→ Ссылка