Не работает поиск и добавление всех участников дискорд канала
У меня есть функция, которая создает таблицу, а также получает имена всех участников сервера. Создание таблицы, функция выполняет, а все, что идет в цикле for - нет, как это исправить?
@bot.event
async def on_ready():
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
id INT,
name TEXT,
cash INT,
mes INT,
mute INT
)""")
for member in bot.get_all_members():
if cursor.execute(f'SELECT id FROM users WHERE id = {member.id}').fetchone() is None:
cursor.execute(f'INSERT INTO users VALUES ({member.id},"{member}",{5},{0},{0})')
elif cursor.execute(f'SELECT mute FROM users WHERE id = {member.id}').fetchone()[0]!=0:
await member.add_roles(discord.utils.get(member.guild.roles, name='mute'))
user = cursor.execute(f"SELECT id FROM users WHERE name = '{str(member)}'").fetchone()[0]
for i in range(cursor.execute(f'SELECT mute FROM users WHERE id = {member.id}').fetchone()[0]):
await asyncio.sleep(1)
cursor.execute(f'UPDATE users SET mute = mute-1 WHERE id={user}')
connection.commit()
cursor.execute("SELECT * FROM users;")
print(cursor.fetchall())
if i == cursor.execute(f'SELECT mute FROM users WHERE id = {member.id}').fetchone()[0] - 1:
cursor.execute(f'UPDATE users SET mute = 0 WHERE id={user}')
connection.commit()
await member.remove_roles(discord.utils.get(member.guild.roles, name='mute'))
await member.send(f'Убран мут, с пользователя <@{user}> ')
break
connection.commit()
cursor.close()
Пробовал for guild in guilds... , тоже не работает.