Advertisement
iPlayG

Untitled

Apr 10th, 2018
1,426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.73 KB | None | 0 0
  1. import discord
  2. from discord.ext import commands
  3. import time
  4. import datetime
  5. import sys
  6. import math
  7. import os
  8.  
  9. print('Please wait as I boot up...')
  10. versionnumber = "1.3.0"
  11.  
  12. client = discord.Client()
  13.  
  14. @client.event
  15. async def on_ready():
  16.   unused_variable = os.system("cls")
  17.   print('------')
  18.   print('Logged in as')
  19.   print(client.user.name)
  20.   print(client.user.id)
  21.   print('Version {}'.format(versionnumber))
  22.   print('------')
  23.   global logchannel
  24.   logchannel = client.get_channel("364189189937299467")
  25.  
  26. @client.event
  27. async def on_member_update(memberbefore, memberafter):
  28.   if memberbefore.game != memberafter.game:
  29.     totestafter = str(memberafter.game)
  30.     totestbefore = str(memberbefore.game)
  31.     playing = discord.utils.get(memberafter.server.roles, name="Playing")
  32.     codrole = discord.utils.get(memberafter.server.roles, name="Call of Duty")
  33.     csgorole = discord.utils.get(memberafter.server.roles, name="CS:GO")
  34.     fc5role = discord.utils.get(memberafter.server.roles, name="Farcry 5")
  35.     fortniterole = discord.utils.get(memberafter.server.roles, name="Fortnite")
  36.     gmodrole = discord.utils.get(memberafter.server.roles, name="Garry's Mod")
  37.     gtavrole = discord.utils.get(memberafter.server.roles, name="GTA V")
  38.     h1z1role = discord.utils.get(memberafter.server.roles, name="H1Z1")
  39.     mcrole = discord.utils.get(memberafter.server.roles, name="Minecraft")
  40.     owrole = discord.utils.get(memberafter.server.roles, name="Overwatch")
  41.     pd2role = discord.utils.get(memberafter.server.roles, name="PAYDAY 2")
  42.     pubgrole = discord.utils.get(memberafter.server.roles, name="PUBG")
  43.     r6srole = discord.utils.get(memberafter.server.roles, name="Rainbow Six: Siege")
  44.     rustrole = discord.utils.get(memberafter.server.roles, name="Rust")
  45.     sotrole = discord.utils.get(memberafter.server.roles, name="Sea of Thieves")
  46.     wd2role = discord.utils.get(memberafter.server.roles, name="Watch_Dogs 2")
  47.     if "Call of Duty" in totestafter:
  48.       editroles = [codrole, playing]
  49.       await client.add_roles(memberafter, *editroles)
  50.     elif "Call of Duty" in totestbefore:
  51.       editroles = [codrole, playing]
  52.       await client.remove_roles(memberafter, *editroles)
  53.     if "Counter-Strike Global Offensive" in totestafter:
  54.       editroles = [csgorole, playing]
  55.       await client.add_roles(memberafter, *editroles)
  56.     elif "Counter-Strike Global Offensive" in totestbefore:
  57.       editroles = [csgorole, playing]
  58.       await client.remove_roles(memberafter, *editroles)
  59.     if "Farcry 5" in totestafter:
  60.       editroles = [fc5role, playing]
  61.       await client.add_roles(memberafter, *editroles)
  62.     elif "Farcry 5" in totestbefore:
  63.       editroles = [fc5role, playing]
  64.       await client.remove_roles(memberafter, *editroles)
  65.     if "Fortnite" in totestafter:
  66.       editroles = [fortniterole, playing]
  67.       await client.add_roles(memberafter, *editroles)
  68.     elif "Fortnite" in totestbefore:
  69.       editroles = [fortniterole, playing]
  70.       await client.remove_roles(memberafter, *editroles)
  71.     if "Garry's Mod" in totestafter:
  72.       editroles = [gmodrole, playing]
  73.       await client.add_roles(memberafter, *editroles)
  74.     elif "Garry's Mod" in totestbefore:
  75.       editroles = [gmodrole, playing]
  76.       await client.remove_roles(memberafter, *editroles)
  77.     if "Grand Theft Auto V" in totestafter:
  78.       editroles = [gtavrole, playing]
  79.       await client.add_roles(memberafter, *editroles)
  80.     elif "Grand Theft Auto V" in totestbefore:
  81.       editroles = [gtavrole, playing]
  82.       await client.remove_roles(memberafter, *editroles)
  83.     if "H1Z1" in totestafter:
  84.       editroles = [h1z1role, playing]
  85.       await client.add_roles(memberafter, *editroles)
  86.     elif "H1Z1" in totestbefore:
  87.       editroles = [h1z1role, playing]
  88.       await client.remove_roles(memberafter, *editroles)
  89.     if "Minecraft" in totestafter:
  90.       editroles = [mcrole, playing]
  91.       await client.add_roles(memberafter, *editroles)
  92.     elif "Minecraft" in totestbefore:
  93.       editroles = [mcrole, playing]
  94.       await client.remove_roles(memberafter, *editroles)
  95.     if "Overwatch" in totestafter:
  96.       editroles = [owrole, playing]
  97.       await client.add_roles(memberafter, *editroles)
  98.     elif "Overwatch" in totestbefore:
  99.       editroles = [owrole, playing]
  100.       await client.remove_roles(memberafter, *editroles)
  101.     if "PAYDAY 2" in totestafter:
  102.       editroles = [pd2role, playing]
  103.       await client.add_roles(memberafter, *editroles)
  104.     elif "PAYDAY 2" in totestbefore:
  105.       editroles = [pd2role, playing]
  106.       await client.remove_roles(memberafter, *editroles)
  107.     if "PLAYERUNKNOWN'S" in totestafter:
  108.       editroles = [pubgrole, playing]
  109.       await client.add_roles(memberafter, *editroles)
  110.     elif "PLAYERUNKNOWN'S" in totestbefore:
  111.       editroles = [pubgrole, playing]
  112.       await client.remove_roles(memberafter, *editroles)
  113.     if "Rainbow Six Siege" in totestafter:
  114.       editroles = [r6srole, playing]
  115.       await client.add_roles(memberafter, *editroles)
  116.     elif "Rainbow Six Siege" in totestbefore:
  117.       editroles = [r6srole, playing]
  118.       await client.remove_roles(memberafter, *editroles)
  119.     if "Rust" in totestafter:
  120.       editroles = [rustrole, playing]
  121.       await client.add_roles(memberafter, *editroles)
  122.     elif "Rust" in totestbefore:
  123.       editroles = [rustrole, playing]
  124.       await client.remove_roles(memberafter, *editroles)
  125.     if "Sea of Thieves" in totestafter:
  126.       editroles = [sotrole, playing]
  127.       await client.add_roles(memberafter, *editroles)
  128.     elif "Sea of Thieves" in totestbefore:
  129.       editroles = [sotrole, playing]
  130.       await client.remove_roles(memberafter, *editroles)
  131.     if "Watch_Dogs 2" in totestafter:
  132.       editroles = [wd2role, playing]
  133.       await client.add_roles(memberafter, *editroles)
  134.     elif "Watch_Dogs 2" in totestbefore:
  135.       editroles = [wd2role, playing]
  136.       await client.remove_roles(memberafter, *editroles)
  137.  
  138. @client.event
  139. async def on_message(message):
  140.   if message.content.startswith('$help'):
  141.     helpmsg = "```Commands:\n$lfg - Marks you as Looking For Group\n$notlfg - Marks you as no longer looking for group\n$help - Brings up this message\n$suggest - Messages iPlayG any suggestion you give.\n$version - Gives current version numbe```"
  142.     await client.send_message(message.author, helpmsg)
  143.   if message.content.startswith('$blacklist') and "club owners" in [y.name.lower() for y in message.author.roles]:
  144.     addto = message.content[11:]
  145.     if addto != "":
  146.       with open("files/blacklist.txt", "a") as blacklistfile:
  147.         blacklistfile.write(addto + "\n")
  148.         successchannel = client.get_channel(message.channel.id)
  149.         await client.send_message(successchannel, "Successfully added `{}` to the black list, <@{}>".format(addto, message.author.id))
  150.         print('Added {} to the blacklist. (User: {})'.format(addto, message.author.id))
  151.     if addto == "":
  152.       with open("files/blacklist.txt", "r") as blacklistfile:
  153.         blacklist = blacklistfile.read().splitlines()
  154.       tosend = "Here's a list of all the blacklisted words:"
  155.       for line in blacklist:
  156.         tosend += "\n" + line
  157.       await client.send_message(message.channel, tosend)
  158.   elif message.author != client.user:
  159.     with open("files/blacklist.txt", "r") as blacklistfile:
  160.       blacklist = blacklistfile.read().splitlines()
  161.     for line in blacklist:
  162.       if line in message.content:
  163.         await client.delete_message(message)
  164.         channel = client.get_channel(message.channel.id)
  165.         await client.send_message(channel, "You said a blacklisted word/phrase/url, <@{}>!".format(message.author.id))
  166.   if message.content.startswith('$lfg'):
  167.     lfgrole = discord.utils.get(message.server.roles, name="LFG")
  168.     await client.add_roles(message.author, lfgrole)
  169.     await client.send_message(message.channel, "<@{}>, you have been marked as Looking For Group (LFG)".format(message.author.id))
  170.   if message.content.startswith('$notlfg'):
  171.     lfgrole = discord.utils.get(message.server.roles, name="LFG")
  172.     await client.remove_roles(message.author, lfgrole)
  173.     await client.send_message(message.channel, "<@{}>, you have been marked as no longer Looking For Group (LFG)".format(message.author.id))
  174.   if message.content.startswith('$suggest'):
  175.     suggestion = message.content[9:]
  176.     if suggestion != "":
  177.       channel = client.get_channel("431952231148027904")
  178.       await client.send_message(channel, "Suggestion from <@{}>\nContents:\n{}".format(message.author.id, suggestion))
  179.       await client.send_message(message.channel, "Suggestion sent, <@{}>!".format(message.author.id))
  180.     if suggestion == "":
  181.       await client.send_message(message.channel, "Please type a suggestion <@{}>, such as $suggest add more hotdogs".format(message.author.id))
  182.   if message.content.startswith('$version'):
  183.     await client.send_message(message.channel, "Version: {}\nIf the version number doesn't match the changelog, it's because iPlayᴳ often releases bug fixes without announcing it.".format(versionnumber))
  184.   if message.content.startswith("$ban") and "club owners" in [y.name.lower() for y in message.author.roles]:
  185.     toban = message.server.get_member(message.content[5:])
  186.     client.ban(toban, delete_message_days=2)
  187.     await client.send_message(message.channel, "Successfully banned {}, <@{}>!".format(toban.name, message.author.id))
  188.   if message.content.startswith("$ping"):
  189.     global start
  190.     start = time.time()
  191.     await client.send_message(message.channel, "Pong!")
  192.   if message.content == "Pong!" and message.author == client.user:
  193.     end = time.time()
  194.     ping = (int(end * 10**3) / 10.0**3) - (int(start * 10**3) / 10.0**3)
  195.     await client.edit_message(message, "Pong! Took {} microseconds".format(ping))
  196.   if message.content.startswith("$quit") and message.author.id == 146151306216734720:
  197.     os._exit()
  198.    
  199. @client.event
  200. async def on_message_delete(message):
  201.   if message.author != client.user:
  202.     logembed = discord.Embed(title="{}#{} ({}) has deleted their message.".format(message.author.name, message.author.discriminator, message.author.id), description=":pencil: Channel: <#{}>\nContents:\n{}".format(message.channel.id, message.content), colour=0xFF0000)
  203.     await client.send_message(logchannel, embed=logembed)
  204.  
  205. @client.event
  206. async def on_message_edit(before, after):
  207.   if before.author != client.user:
  208.     logembed = discord.Embed(title="{}#{} ({}) has edited their message.".format(after.author.name, after.author.discriminator, after.author.id), description=":pencil: Channel: <#{}>\nBefore edit:\n{}\nAfter edit:\n{}".format(before.channel.id, before.content, after.content), colour=0xFFFF00)
  209.     await client.send_message(logchannel, embed=logembed)
  210.  
  211. @client.event
  212. async def on_channel_delete(channel):
  213.   logembed = discord.Embed(title="A channel was deleted.", description="The channel {} ({}) has been deleted.".format(channel.name, channel.id), colour=0xFF0000)
  214.   await client.send_message(logchannel, embed=logembed)
  215.  
  216. @client.event
  217. async def on_channel_create(channel):
  218.   logembed = discord.Embed(title="A channel was created.", description="The channel <#{}> ({}, {}) has been created.".format(channel.id, channel.name, channel.id), colour=0x00FF00)
  219.   await client.send_message(logchannel, embed=logembed)
  220.  
  221. @client.event
  222. async def on_member_ban(member):
  223.   logembed = discord.Embed(title="A user was banned.", description="The user <@{}> ({}) has been banned.".format(member.id, member.id), colour=0xFF0000)
  224.   await client.send_message(logchannel, embed=logembed)
  225.  
  226. @client.event
  227. async def on_member_unban(server, member):
  228.   logembed = discord.Embed(title="A user was unbanned.", description="The user <@{}> ({}) has been unbanned.".format(member.id, member.id), colour = 0x00FF00)
  229.   await client.send_message(logchannel, embed=logembed)
  230.  
  231. client.run("REDACTED")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement