Задать вопрос
@1uXeR
Начинаю писать своего бота discord.py

Как сделать tempmute или мут на некоторое время?

Это мой код на команду mute:

@client.command( pass_context = True )
@commands.has_any_role( 860824791610032189, 876086379665301534 )

async def mute( ctx, member: discord.Member ):
    emb = discord.Embed( title = "Участник Был Замучен!", colour = discord.Color.blue() )
    await ctx.channel.purge( limit = 1 )

    emb.set_author( name = member.name, icon_url = member.avatar_url )
    emb.set_footer( text = "Его замутил {}".format( ctx.author.name ), icon_url = ctx.author.avatar_url )

    await  ctx.send( embed = emb )

    muted_role = discord.utils.get( ctx.message.guild.roles, name = "Muted" )

    await member.add_roles( muted_role )
  • Вопрос задан
  • 8473 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
retUrn3d
@retUrn3d
Пользователь, просто пользователь...
Это плохой вариант использования, но без лишних затрат.
Если бот будет перезагружен, во время того как у человека висит "мут". То он с ним навсегда и останется.
@client.command(pass_context=True)
@commands.has_any_role(860824791610032189, 876086379665301534)

async def mute( ctx, member: discord.Member, time: int):
    emb = discord.Embed(title="Участник Был Замучен!", colour=discord.Color.blue())
    await ctx.channel.purge(limit=1)

    emb.set_author(name=member.name, icon_url=member.avatar_url )
    emb.set_footer(text="Его замутил {}".format(ctx.author.name ), icon_url=ctx.author.avatar_url )
    
    await ctx.send(embed=emb)
    muted_role = discord.utils.get(ctx.message.guild.roles, name="Muted")
    await member.add_roles(muted_role)
    
    # Спим X секунд, перед тем как снять роль.
    await asyncio.sleep(time) 
    # Снимаем роль замученного.
    await member.remove_roles(muted_role)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Zagir-vip
@Zagir-vip
Web dev, Game dev, app dev, Разработчик на Python!
Вот вам большой, но сам лучший код на мут со временем как в Mee6

https://pastebin.com/Q7NNj46e #Просто слишком много слов!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы