Stack Exchange
выдача роли при заходе на сервер
Бот должен запоминать id роли участника и выдавать при обратном входе
Ошибка:
File "voice.py", line 143, in on_member_join
cursor.execute(f"INSERT INTO users VALUES ('{member.id}, {member.role.id}')")
AttributeError: 'Member' object has no attribute 'role'

Код:
@client.event
async def on_member_join (member):

    print ('присоединился')


    if cursor.execute(f"SELECT id from users WHERE id = {member.id}").fetchone() is None:
        for guild in client.guilds:
            for member in guild.members:
                role = discord.utils.get(member.guild.roles)
                cursor.execute(f"INSERT INTO users VALUES ('{member.id}, {member.role.id}')")
    else:
        role = discord.utils.get(member.guild.roles, id = {role})
        cursor.execute('SELECT role FROM users WHERE id = {}'.format(member.role.id)).fetchone() 
        await member.add_roles (member, role)
            
        print ('а')


в ошибке же все написано) AttributeError: 'Member' object has no attribute 'role'
Вы строкой выше получаете role, полагаю от этого объекта Вам нужно брать id. Вы так же можете вывести все атрибуты объекта в лог либо посмотреть документацию.

sqlite3.OperationalError: table users has 2 columns but 1 values were supplied

что тут делать? код тот же но вместо member.role.id просто role.id

Покажите исправленный код, кажется Вы передали не достаточно полей для записи.
