У меня есть команда, которая раз в час случайным образом определяет пользователя и дает ему особую роль, и я хочу, чтобы пользователь из этой роли дал другим роль, и у них дабы был по-типу клан. Но после того, как случайный человек теряет эту роль, а именно через день, я хочу, чтобы клан также был разформлен, а именно те пользователи, которым выдали роль,при окончании дня, то есть когда бот сам снимет случайному человеку его роль, с этим он снял и другим,кого добавили.
@commands.cooldown(1, 3600, commands.BucketType.default)
async def pd(ctx):
gomo_role = discord.utils.get(ctx.guild.roles, id=800360472595267604)
alyanc_role = discord.utils.get(ctx.guild.roles, id=801182180101324810)
await ctx.send('```Итак гомо часа становиться...```')
await asyncio.sleep(float(0.5))
await ctx.send('```Барабанная дробь.....```')
await asyncio.sleep(float(0.5))
global user
user = choice(ctx.channel.guild.members)
if user == bot.user:
print('бот гей часа')
await ctx.send('```Увы но гомо часа стал я, альянс делать не буду,по этому просто давайте отдохнём```')
else:
await ctx.send(f'``Эта: ``{user.mention}')
await user.add_roles(gomo_role, alyanc_role)
time = float(0.10)
await asyncio.sleep(time * 60)
await user.remove_roles(gomo_role, alyanc_role)
await ctx.send(f'```Час подходит к концу по этому {user.display_name} лишаеться звания гомо часа.```')
#Альянс Command dont work
@bot.command(aliases = ['добавитьгомо'])
@commands.has_any_role('3 lvl', 800360472595267604)
async def add_pidor(ctx, member: discord.Member):
if get(member.roles, id = 801182180101324810):
await ctx.send('```Данный пользователь уже находиться в Альянсе.```')
else:
gomo_role = discord.utils.get(ctx.guild.roles, id=800360472595267604)
alyanc_role = discord.utils.get(ctx.guild.roles, id=801182180101324810)
if member == bot.user:
await ctx.send('```Нельзя сделать альянс гомо с главным гомо сервера.```')
elif member == ctx.author:
await ctx.send('```Как бы нельзя самому себе выдать, ну ты клоун.```')
else:
await ctx.send(f'```В Альянс гомо был добавлен {member.display_name}```')
await member.add_roles(alyanc_role)
if get(user.roles, id = 800360472595267604):
for i in user.roles:
if get(user.roles, id = 800360472595267604):
break
else:
await ctx.send('```Альянс был разформлен так как гомо часа сменен.```')
await member.remove_roles(alyanc_role)```
P.S. с циклами не много не шарю.