This repository has been archived by the owner on Apr 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
mute.py
47 lines (46 loc) · 2.48 KB
/
mute.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
@client.command(pass_context = True)
@commands.has_permissions(kick_members=True)
async def mute(ctx, member: discord.Member=None, mutetime=None):
if member is None:
await client.say('Please specify member i.e. Mention a member to mute. Example-``mv!mute @user <time in minutes>``')
return
if mutetime is None:
await client.say('Please specify time i.e. Mention a member to mute with time. Example-``mv!mute @user <time in minutes>``')
return
if member.server_permissions.kick_members:
await client.say('**You cannot mute admin/moderator!**')
return
if ctx.message.author.bot:
return
else:
mutetime =int(mutetime)
mutetime = mutetime * 60
output = mutetime/60
role = discord.utils.get(member.server.roles, name='Muted')
await client.add_roles(member, role)
await client.say("Muted **{}**".format(member.name))
await client.send_message(member, "You are muted by {0} for {1} Minutes".format(ctx.message.author, output))
for channel in member.server.channels:
if channel.name == '<log channel name>':
embed=discord.Embed(title="User Muted!", description="**{0}** was muted by **{1}** for {2} minutes!".format(member, ctx.message.author, output), color=0x37F60A)
await client.send_message(channel, embed=embed)
await asyncio.sleep(mutetime)
await client.remove_roles(member, role)
await client.say("Unmuted **{}**".format(member.name))
embed=discord.Embed(title="User unmuted!", description="**{0}** was unmuted!".format(member, ctx.message.author), color=0xFD1600)
await client.send_message(channel, embed=embed)
@client.command(pass_context = True)
@commands.has_permissions(kick_members=True)
async def unmute(ctx, member: discord.Member=None):
if member is None:
await client.say('Please specify member i.e. Mention a member to unmute. Example- ``mv!unmute @user``')
if ctx.message.author.bot:
return
else:
role = discord.utils.get(member.server.roles, name='Muted')
await client.remove_roles(member, role)
await client.say("Unmuted **{}**".format(member))
for channel in member.server.channels:
if channel.name == '<log channel name>':
embed=discord.Embed(title="User unmuted!", description="**{0}** was unmuted by **{1}**!".format(member, ctx.message.author), color=0xFD1600)
await client.send_message(channel, embed=embed)