Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import discord
- from discord.ext import commands
- import random
- from discord.utils import get
- import youtube_dl
- import os
- import shutil
- from os import system
- from discord import Member
- from discord.ext.commands import has_permissions, MissingPermissions, MissingRole
- import unicodedata
- import io
- import textwrap
- from pprint import pprint
- from tabulate import tabulate
- import traceback
- from contextlib import redirect_stdout
- from discord import Colour
- client = commands.Bot(command_prefix = '.')
- client.remove_command('help')
- @client.event
- async def on_ready():
- print("Logged in as : " + client.user.name + "\n")
- @client.command()
- @has_permissions(manage_roles=True)
- async def clear(ctx, amount=10):
- await ctx.channel.purge(limit=amount)
- await ctx.send("Cleared chat.")
- @clear.error
- async def clear_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do that!")
- @client.command()
- @has_permissions(kick_members=True)
- async def kick(ctx, member : discord.Member, *, reason=None):
- await member.kick(reason=reason)
- await ctx.send(f'Kicked {member.mention}!')
- @kick.error
- async def kick_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do that!")
- @client.command()
- @has_permissions(ban_members=True)
- async def ban(ctx, member : discord.Member, *, reason=None):
- await member.ban(reason=None)
- await ctx.send(f'Banned {member.mention}!')
- @ban.error
- async def ban_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do that!")
- @client.command()
- @has_permissions(ban_members=True)
- async def unban(ctx, *, member):
- banned_users = await ctx.guild.bans()
- for ban_entry in banned_users:
- user = ban_entry.user
- await ctx.guild.unban(user)
- await ctx.send(f'`Unbanned user!`')
- @unban.error
- async def unban_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do that!")
- @client.command()
- @has_permissions(manage_server=True)
- async def help(ctx):
- embed = discord.Embed(description='**> Moderation + Commands**', color=0x0071c4)
- embed.add_field(name='Userinfo',value = 'Gives info about a user.', inline=False)
- embed.add_field(name='Clear',value = 'Clears a channel', inline=False)
- embed.add_field(name='Kick',value = 'Kicks a member.', inline=False)
- embed.add_field(name='Ban',value = 'Bans a member.', inline=False)
- embed.add_field(name='Unban',value = 'Unbans a member.', inline=False)
- embed.add_field(name='Mute',value = 'Mutes a member, (mute + member tag)', inline=False)
- embed.add_field(name='Unmute',value = 'Unmutes a member, (unmute + member tag), use if muted.', inline=False)
- await ctx.author.send(embed=embed)
- await ctx.send('```A message containing all commands has been sent do your dm!```')
- @help.error
- async def help_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do this!")
- @client.command()
- @has_permissions(manage_server=True)
- async def userinfo(ctx, member: discord.Member):
- roles = [role for role in member.roles]
- embed = discord.Embed(colour=member.color, timestamp=ctx.message.created_at)
- embed.set_author(name=f"User Info = {member}")
- embed.set_thumbnail(url=member.avatar_url)
- embed.set_footer(text=f"Request by {ctx.author}", icon_url=ctx.author.avatar_url)
- embed.add_field(name="ID:", value=member.id)
- embed.add_field(name="Username:", value=member.display_name)
- embed.add_field(name="Created:", value=member.created_at.strftime("%a, %d %B %Y, %I:%M %p UTC"))
- embed.add_field(name="Joined At:", value=member.joined_at.strftime("%a, %d %B %Y, %I:%M %p UTC"))
- embed.add_field(name=f"Roles ({len(roles)})", value=" ".join([role.mention for role in roles]))
- embed.add_field(name="Highest Role:", value=member.top_role.mention)
- await ctx.send(embed=embed)
- @userinfo.error
- async def userinfo_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do this!")
- @client.command()
- @has_permissions(manage_roles=True)
- async def mute(ctx, member: discord.Member):
- role = discord.utils.get(ctx.guild.roles, name="muted")
- await member.add_roles(role)
- await ctx.send(f"**Muted {member.mention}**")
- await ctx.author.send('You have been muted.')
- @mute.error
- async def mute_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do that!")
- @client.command()
- @has_permissions(manage_roles=True)
- async def unmute(ctx, member: discord.Member):
- role = discord.utils.get(ctx.guild.roles, name="muted")
- await member.remove_roles(role)
- await ctx.send(f"**Unmuted {member.mention}**")
- await ctx.author.send('You have been unmuted.')
- @unmute.error
- async def unmute_error(ctx, error):
- if isinstance(error, MissingPermissions):
- await ctx.send(f"Sorry {member.mention}, you do not have permissions to do that!")
- client.run('')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement