Как выдать роль в discord.py
Коротко надо чтобы роль выдавалась по имени из базы данных, но это не получается реализовать. Ошибок нет, просто ничего не происходит.
@commands.cooldown(1, 10, commands.BucketType.user)
@bot.command()
@commands.has_role(t_slave_role)
async def rising(ctx):
if ctx.author.id in banned:
await channel.send(f"**{ctx.author}** соси ты в бане")
else:
channel = bot.get_channel(1198294998412705913) # ID Канала где игра
slave_role = discord.utils.get(ctx.guild.roles, id=1198295390252974211) #Роль - раб
clear_role = discord.utils.get(ctx.guild.roles, id=1198295666410135572) #Роль - Свобоный человек
get_slave_role = discord.utils.get(ctx.guild.roles, id=1198295566787027004) #Роль - Рабовладелец
if random.random() < 0.9:
await channel.send(embed=discord.Embed(description=f'Восстание прошло успешно!', colour=discord.Color.green()))
cursor.execute("SELECT * FROM slaves")
for slaves in cursor.fetchall():
for row in cursor.execute(f"SELECT id_slaveget, name_slaveget FROM slaves WHERE id_slave = {slaves[1]}"):
print(slaves[0], slaves[1], row[1], row[0])
cursor.execute(f"UPDATE users SET cash = cash / 5 WHERE id = {row[0]}")
cursor.execute(f"UPDATE users SET earning = earning / 5 WHERE id = {slaves[1]}")
cursor.execute(f"UPDATE users SET updates = updates * 5 WHERE id = {slaves[1]}")
await slaves[0].add_roles(clear_role) #РОЛИ НЕ СНИМАЮТСЯ
await row[1].add_roles(clear_role)
await slaves[0].remove_roles(slave_role)
await row[1].remove_roles(get_slave_role)
print(slaves[0], slaves[1], row[1], row[0])
cursor.execute(f"DELETE FROM slaves WHERE id_slave = {slaves[1]}")
else:
await channel.send(embed=discord.Embed(description=f'**{ctx.author}**, что-то пошло не по плану', colour=discord.Color.red()))
connection.commit()