Guest User

Untitled

a guest
Jul 14th, 2022
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 16.13 KB | None | 0 0
  1. @client.command(aliases = ['мьют', 'мут'])
  2. @commands.has_permissions(administrator = True)
  3. async def mute(ctx, member: discord.Member = None, amout: str = None, *, reason = None):
  4.     times_start = datetime.datetime.today()
  5.     emb_user = discord.Embed(title = '**Уведомление - Mute**', colour = discord.Color.red())
  6.     emb_user.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  7.     emb_user.add_field(name = '**Причина:**', value = reason, inline = False)
  8.     emb_user.add_field(name = '**Длительность:**', value = amout, inline = False)
  9.     emb_user.add_field(name = '**Сервер:**', value = ctx.guild.name, inline = False)
  10.     emb_user.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  11.  
  12.     emb_user_stop = discord.Embed(title = '**Уведомление - Unmute**', colour = discord.Color.red() )
  13.     emb_user_stop.add_field(name = '**Снял:**', value = ctx.author.mention, inline = False)
  14.     emb_user_stop.add_field(name = '**Сервер:**', value = ctx.guild.name, inline = False)
  15.     emb_user_stop.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  16.     mute_role = discord.utils.get(ctx.message.guild.roles, id = 997194166012493885)
  17.  
  18.     if member is None:
  19.         emb = discord.Embed(title = '[ERROR] Mute', description = f'{ctx.author.mention}, Укажите пользователя!', colour = discord.Color.red())
  20.         emb.add_field(name = 'Пример 1:', value = f'{ctx.prefix}мьют [@участник] <время(с, м, ч, д)> [причина]', inline = False)
  21.         emb.add_field(name = 'Пример 2:', value = f'{ctx.prefix}мьют {ctx.author.name} 1ч пример')
  22.         emb.add_field(name = 'Время:', value = f'с - секунды\nм - минуты\nч - часы\nд - дни')
  23.  
  24.         await ctx.send(embed = emb)
  25.     else:
  26.         end_time = amout[:-1]
  27.         time = int(amout[:-1])
  28.         if time <= 0:
  29.             emb = discord.Embed(title = '[ERROR] Mute', description = f'{ctx.author.mention}, Время не может быть меньше 1!', colour = discord.Color.red())
  30.             emb.add_field(name = 'Пример 1:', value = f'{ctx.prefix}мьют [@участник] <время> [причина]', inline = False)
  31.             emb.add_field(name = 'Пример 2:', value = f'{ctx.prefix}мьют {ctx.author.name} 1ч пример')
  32.             emb.add_field(name = 'Время:', value = f'с - секунды\nм - минуты\nч - часы\nд - дни')
  33.  
  34.             await ctx.send(embed = emb)
  35.         else:
  36.             if end_time == 'с':
  37.                 if reason is None:
  38.                     emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  39.                     emb.add_field(name = 'Выдал:', value = ctx.author.mention, inline = False)
  40.                     emb.add_field(name = 'Нарушитель:', value = member.mention, inline = False)
  41.                     emb.add_field(name = 'ID нарушителя:', value = member.id, inline = False)
  42.                     emb.add_field(name = 'Причина:', value = 'Не указано', inline = False)
  43.                     emb.add_field(name = 'Длительность:', value = '{} секунд'.format(time))
  44.                     emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  45.                     await member.add_roles(mute_role)
  46.                     await ctx.send(embed = emb)
  47.                     await member.send(embed = emb_user)
  48.                     await asyncio.sleep(time)
  49.                     await member.remove_roles(mute_role)
  50.                     await member.send(embed = emb_user_stop)
  51.                 else:
  52.                     emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  53.                     emb.add_field(name = 'Выдал:', value = ctx.author.mention, inline = False)
  54.                     emb.add_field(name = 'Нарушитель:', value = member.mention, inline = False)
  55.                     emb.add_field(name = 'ID нарушителя:', value = member.id, inline = False)
  56.                     emb.add_field(name = 'Причина:', value = reason, inline = False)
  57.                     emb.add_field(name = 'Длительность:', value = '{} секунд'.format(time))
  58.                     emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  59.                     await member.add_roles(mute_role)
  60.                     await ctx.send(embed = emb)
  61.                     await member.send(embed = emb_user)
  62.                     await asyncio.sleep(time)
  63.                     await member.remove_roles(mute_role)
  64.                     await member.send(embed = emb_user_stop)
  65.             elif end_time == 'м':
  66.                 if reason is None:
  67.                     emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  68.                     emb.add_field(name = 'Выдал:', value = ctx.author.mention, inline = False)
  69.                     emb.add_field(name = 'Нарушитель:', value = member.mention, inline = False)
  70.                     emb.add_field(name = 'ID нарушителя:', value = member.id, inline = False)
  71.                     emb.add_field(name = 'Причина:', value = 'Не указано', inline = False)
  72.                     emb.add_field(name = 'Длительность:', value = '{} минут'.format(time))
  73.                     emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  74.                     await member.add_roles(mute_role)
  75.                     await ctx.send(embed = emb)
  76.                     await member.send(embed = emb_user)
  77.                     await asyncio.sleep(time *60)
  78.                     await member.remove_roles(mute_role)
  79.                     await member.send(embed = emb_user_stop)
  80.                 else:
  81.                     emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  82.                     emb.add_field(name = 'Выдал:', value = ctx.author.mention, inline = False)
  83.                     emb.add_field(name = 'Нарушитель:', value = member.mention, inline = False)
  84.                     emb.add_field(name = 'ID нарушителя:', value = member.id, inline = False)
  85.                     emb.add_field(name = 'Причина:', value = reason, inline = False)
  86.                     emb.add_field(name = 'Длительность:', value = '{} минут'.format(time))
  87.                     emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  88.                     await member.add_roles(mute_role)
  89.                     await ctx.send(embed = emb)
  90.                     await member.send(embed = emb_user)
  91.                     await asyncio.sleep(time *60)
  92.                     await member.remove_roles(mute_role)
  93.                     await member.send(embed = emb_user_stop)
  94.             elif end_time == 'ч':
  95.                 if reason is None:
  96.                     if time == '1':
  97.  
  98.                         emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  99.                         emb.add_field(name = 'Выдал:', value = ctx.author.mention, inline = False)
  100.                         emb.add_field(name = 'Нарушитель:', value = member.mention, inline = False)
  101.                         emb.add_field(name = 'ID нарушителя:', value = member.id, inline = False)
  102.                         emb.add_field(name = 'Причина:', value = 'Не указано', inline = False)
  103.                         emb.add_field(name = 'Длительность:', value = '{} час'.format(time))
  104.                         emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  105.                         await member.add_roles(mute_role)
  106.                         await ctx.send(embed = emb)
  107.                         await member.send(embed = emb_user)
  108.                         await asyncio.sleep(time *60 *60)
  109.                         await member.remove_roles(mute_role)
  110.                         await member.send(embed = emb_user_stop)
  111.                     elif time == '4' or time == '3' or time == '2':
  112.                         emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  113.                         emb.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  114.                         emb.add_field(name = '**Нарушитель:**', value = member.mention, inline = False)
  115.                         emb.add_field(name = '**ID нарушителя:**', value = member.id, inline = False)
  116.                         emb.add_field(name = '**Причина:**', value = 'Не указано', inline = False)
  117.                         emb.add_field(name = '**Длительность:**', value = '{} часов'.format(time))
  118.                         emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  119.                         await member.add_roles(mute_role)
  120.                         await ctx.send(embed = emb)
  121.                         await member.send(embed = emb_user)
  122.                         await asyncio.sleep(time *60 *60)
  123.                         await member.remove_roles(mute_role)
  124.                         await member.send(embed = emb_user_stop)
  125.                     elif time >= '5':
  126.                         emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  127.                         emb.add_field(name = '**Выдал:', value = ctx.author.mention, inline = False)
  128.                         emb.add_field(name = '**Нарушитель:', value = member.mention, inline = False)
  129.                         emb.add_field(name = '**ID нарушителя:', value = member.id, inline = False)
  130.                         emb.add_field(name = '**Причина:', value = 'Не указано', inline = False)
  131.                         emb.add_field(name = '**Длительность:', value = '{} часов'.format(time))
  132.                         emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  133.                         await member.add_roles(mute_role)
  134.                         await ctx.send(embed = emb)
  135.                         await member.send(embed = emb_user)
  136.                         await asyncio.sleep(time *60 *60)
  137.                         await member.remove_roles(mute_role)
  138.                         await member.send(embed = emb_user_stop)
  139.                 else:
  140.                     if time == '1':
  141.                         emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  142.                         emb.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  143.                         emb.add_field(name = '**Нарушитель:**', value = member.mention, inline = False)
  144.                         emb.add_field(name = '**ID нарушителя:**', value = member.id, inline = False)
  145.                         emb.add_field(name = '**Причина:**', value = reason, inline = False)
  146.                         emb.add_field(name = '**Длительность:**', value = '{} час'.format(time))
  147.                         emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  148.                         await member.add_roles(mute_role)
  149.                         await ctx.send(embed = emb)
  150.                         await member.send(embed = emb_user)
  151.                         await asyncio.sleep(time *60 *60)
  152.                         await member.remove_roles(mute_role)
  153.                         await member.send(embed = emb_user_stop)
  154.                     elif time == '4' or time == '3' or time == '2':
  155.                         emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  156.                         emb.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  157.                         emb.add_field(name = '**Нарушитель:**', value = member.mention, inline = False)
  158.                         emb.add_field(name = '**ID нарушителя:**', value = member.id, inline = False)
  159.                         emb.add_field(name = '**Причина:**', value = reason, inline = False)
  160.                         emb.add_field(name = '**Длительность:**', value = '{} часа'.format(time))
  161.                         emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  162.                         await member.add_roles(mute_role)
  163.                         await ctx.send(embed = emb)
  164.                         await member.send(embed = emb_user)
  165.                         await asyncio.sleep(time *60 *60)
  166.                         await member.remove_roles(mute_role)
  167.                         await member.send(embed = emb_user_stop)
  168.                     elif time == '5':
  169.                         emb = discord.Embed(title = f'**System - Mute**', colour = discord.Color.red())
  170.                         emb.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  171.                         emb.add_field(name = '**Нарушитель:**', value = member.mention, inline = False)
  172.                         emb.add_field(name = '**ID нарушителя:**', value = member.id, inline = False)
  173.                         emb.add_field(name = '**Причина:**', value = reason, inline = False)
  174.                         emb.add_field(name = '**Длительность:**', value = '{} часов'.format(time))
  175.                         emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  176.  
  177.                         await member.add_roles(mute_role)
  178.                         await ctx.send(embed = emb)
  179.                         await member.send(embed = emb_user)
  180.                         await asyncio.sleep(time *60 *60)
  181.                         await member.remove_roles(mute_role)
  182.                         await member.send(embed = emb_user_stop)
  183.             elif time == 'д':
  184.                 if reason is None:
  185.                     emb = discord.Embed(title = f'**System - Mute**')
  186.                     emb.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  187.                     emb.add_field(name = '**Нарушитель:**', value = member.mention, inline = False)
  188.                     emb.add_field(name = '**ID нарушителя:**', value = member.id, inline = False)
  189.                     emb.add_field(name = '**Причина:**', value = 'Не указано', inline = False)
  190.                     emb.add_field(name = '**Длительность:**', value = '{} день(ей)'.format(time))
  191.                     emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  192.  
  193.                     await member.send(embed = emb_user)
  194.                     await member.add_roles(mute_role)
  195.                     await ctx.send(embed = emb)
  196.                     await member.send(embed = emb_user)
  197.                     await asyncio.sleep(time *60 *60 *24)
  198.                     await member.remove_roles(mute_role)
  199.                     await member.send(embed = emb_user_stop)
  200.                 else:
  201.                     emb = discord.Embed(title = f'**System - Mute**')
  202.                     emb.add_field(name = '**Выдал:**', value = ctx.author.mention, inline = False)
  203.                     emb.add_field(name = '**Нарушитель:**', value = member.mention, inline = False)
  204.                     emb.add_field(name = '**ID нарушителя:**', value = member.id, inline = False)
  205.                     emb.add_field(name = '**Причина:**', value = reason, inline = False)
  206.                     emb.add_field(name = '**Длительность:**', value = '{} день(ей)'.format(time), inline = False)
  207.                     emb.set_footer(text = f'Дата: {times_start.strftime("%Y-%m-%d, %H:%M:%S")}')
  208.  
  209.                     await member.add_roles(mute_role)
  210.                     await ctx.send(embed = emb)
  211.                     await member.send(embed = emb_user)
  212.                     await asyncio.sleep(time *60 *60 *24)
  213.                     await member.remove_roles(mute_role)
  214.                     await member.send(embed = emb_user_stop)
Advertisement
Add Comment
Please, Sign In to add comment