Advertisement
Guest User

Untitled

a guest
Aug 31st, 2017
494
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.18 KB | None | 0 0
  1. import discord
  2. from discord.ext import commands
  3. import logging
  4. from datetime import datetime
  5. bot = commands.Bot(command_prefix='$')
  6.  
  7.  
  8. @bot.event
  9. async def on_ready():
  10.     print('Logged in')
  11.     print('ID: ' + bot.user.id)
  12.     await bot.change_presence(game=discord.Game(name="benis"))
  13.  
  14. @bot.event
  15. async def on_message(message):
  16.     # we do not want the bot to reply to itself
  17.     if message.author == bot.user:
  18.         return
  19.  
  20.     if message.content.startswith('benis') and message.author.name == 'sercankd':
  21.         await bot.send_message(message.channel, "benis ebin :DDD")
  22.         #await bot.send_message(message.channel, message.author.name)
  23.     await bot.process_commands(message)
  24.  
  25. @bot.command(pass_context=True, description='Usage: $giveme "title you want" #colorcodeinhex')
  26. async def giveme(ctx, title: str, color: str):
  27.     """Usage: $giveme "title you want" #colorcodeinhex"""
  28.     server = ctx.message.server
  29.     msg_author = ctx.message.author
  30.     user_role = "[" + msg_author.name + "] " + title
  31.     if color.startswith("#"):
  32.         color = color[1:]
  33.     if len(color) == 6:
  34.         roles_list = []
  35.         for r in ctx.message.author.roles:
  36.             roles_list.append(r.position)
  37.  
  38.         color_var = discord.Colour(int(color, 16))
  39.         for val in server.roles:
  40.             if val.name.startswith("[" + msg_author.name + "]"):
  41.                 try:
  42.                     await bot.delete_role(server, val)
  43.                 except Exception as e:
  44.                     await bot.say(e)
  45.                     #pass
  46.                 else:
  47.                     role = await bot.create_role(server, name=user_role, permissions=discord.Permissions(0), color=color_var)
  48.                     bots_role = discord.utils.get(server.roles, name="ColorMeBot")
  49.                     await bot.move_role(server, role, bots_role.position - 1)
  50.                     await bot.add_roles(ctx.message.author, role)
  51.                     await bot.say("Done")
  52.             elif val.position == max(roles_list):
  53.                 try:
  54.                     if ("[" in val.name) or ("]" in val.name):
  55.                         await bot.delete_role(server, val)
  56.                 except Exception as e:
  57.                     await bot.say(e)
  58.                 else:
  59.                     role = await bot.create_role(server, name=user_role, permissions=discord.Permissions(0), color=color_var)
  60.                     bots_role = discord.utils.get(server.roles, name="ColorMeBot")
  61.                     await bot.move_role(server, role, bots_role.position - 1)
  62.                     await bot.add_roles(ctx.message.author, role)
  63.                     await bot.say("Done")
  64.         # await bot.say("DEBUG: title =" + user_role + ", color =" + color)
  65.     else:
  66.         await bot.say("Invalid color: Use only 6 digits Hex value")
  67.        
  68.  
  69. '''@bot.command(pass_context=True, description='DEV ONLY')
  70. async def removeroles(ctx):
  71.    server = ctx.message.server
  72.    for val in ctx.message.author.roles:
  73.        if ("[" in val.name) or ("]" in val.name):
  74.            try:
  75.                await bot.delete_role(server, val)
  76.            except Exception as e:
  77.                pass
  78.                #await bot.say(e)
  79.    await bot.say("Done!")
  80.  
  81. @bot.command(pass_context=True, description='DEV ONLY')
  82. async def roles(ctx, command: str):
  83.    server = ctx.message.server
  84.    roles_list = []
  85.    await bot.say("Working on it...")
  86.    with open('roles.txt', 'w') as file_handler:
  87.        for val in server.roles:
  88.            if command.startswith("standart"):
  89.                if ("[" not in val.name) or ("]" not in val.name):
  90.                    file_handler.write("{}\n".format(val.name))
  91.            elif command.startswith("all"):
  92.                file_handler.write("{}\n".format(val.name))
  93.    await bot.say("Done!")
  94. @bot.command(pass_context=True, description='Usage: $lobby <region> <password> <players> <time>')
  95. async def lobby(ctx, region: str, password: str, players: str, time: str = None):
  96.    mentions = []
  97.    for rol in region.upper().split(","):
  98.        rol_ = discord.utils.get(ctx.message.server.roles, name=rol)
  99.        mentions.append(rol_.mention)
  100.    channel = discord.utils.get(ctx.message.server.channels, name='lobby')
  101.  
  102.    if time is None:
  103.        await bot.send_message(channel, "**Lobby up!**\n" + "**Region:** " + ", ".join(
  104.            mentions) + "\n**Password:** " + password + "\n**Game Type:** " + players)
  105.    else:
  106.        await bot.send_message(channel, "**Lobby up!**\n" + "**Region:** " + ", ".join(
  107.            mentions) + "\n**Password:** " + password + "\n**Game Type:** " + players + "\n*Going public in ~" + time + " minutes*")
  108.  
  109. @bot.command(pass_context=True, description='admin only')
  110. async def tell(ctx):
  111.    server = ctx.message.server
  112.    rol_ = discord.utils.get(server.roles, name="ColorMeBot")
  113.    await bot.say("**My role: **" + rol_.name + ", **Position:** " + str(rol_.position))
  114.    await bot.say("**Total Roles:** " + str(len(server.roles)))
  115.    rol_top = discord.utils.get(server.roles, position=len(server.roles)-1)
  116.    await bot.say("**Highest Role:** " + rol_top.name + ", **Position** " + str(rol_top.position))
  117.    rol_low = discord.utils.get(server.roles, position=1)
  118.    await bot.say("**Lowest Role:** " + rol_low.name + ", **Position** " + str(rol_low.position))
  119.    rol_latest = discord.utils.get(server.roles, position=rol_.position - 1)
  120.    await bot.say("**Latest Role I gave** " + rol_latest.mention + ", **Position** " + str(rol_latest.position))
  121.    roles_list = []
  122.    user_roles_count = len(ctx.message.author.roles)
  123.    await bot.say("**Your roles count is:** " + str(user_roles_count-1))
  124.    for r in ctx.message.author.roles:
  125.        #await bot.say(r.name + " " + r.id + " " + str(r.position))
  126.        roles_list.append(r.position)
  127.    await bot.say(discord.utils.get(server.roles, position=max(roles_list)))
  128. '''
  129.  
  130.  
  131. epoch_time = str(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
  132. logger = logging.getLogger('discord')
  133. logger.setLevel(logging.ERROR)
  134. handler = logging.FileHandler(filename=epoch_time+'.log', encoding='utf-8', mode='w')
  135. handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s'))
  136. logger.addHandler(handler)
  137.  
  138. bot.run('accestoken')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement