Advertisement
Guest User

Untitled

a guest
Nov 18th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. # Work with Python 3.6
  2. import discord
  3. from datetime import datetime, timedelta
  4.  
  5. import re
  6. time_regex = re.compile(r'(?P<time>[0-9]+)\s*(?P<scale>[dDhHmMsS])')
  7.  
  8.  
  9. def convert_time(time_str):
  10. for scale in ['days', 'hours', 'minutes', 'seconds']:
  11. if scale.startswith(time_str):
  12. return scale
  13.  
  14.  
  15. TOKEN = 'paste token here'
  16. client = discord.Client()
  17.  
  18.  
  19. @client.event
  20. async def on_message(message):
  21. # we do not want the bot to reply to itself
  22. if message.author == client.user:
  23. return
  24.  
  25. if message.content.startswith('!hello'):
  26. msg = 'Hello {0.author.mention}'.format(message)
  27. await client.send_message(message.channel, msg)
  28.  
  29. elif message.content.startswith('!userinfo'):
  30. user = message.author
  31. # -4h to convert from GMT to EST
  32. joined_at = datetime.strptime(
  33. f'{user.joined_at}', '%Y-%m-%d %H:%M:%S.%f') + timedelta(hours=-4)
  34. joined_at_str = datetime.strftime(
  35. joined_at, '%d %b %Y %I:%M%p') + ' EST'
  36. embed = discord.Embed(title="Information report:", color=0x00ff00)
  37. embed.add_field(name="Name", value=user.name, inline=True)
  38. embed.add_field(name="Disc ID", value=user.id, inline=True)
  39. embed.add_field(name="Joined", value=joined_at_str, inline=True)
  40. embed.add_field(name="Role", value=user.top_role)
  41. embed.set_thumbnail(url=user.avatar_url)
  42. await client.send_message(message.channel, embed=embed)
  43.  
  44. elif message.content.startswith("!bandos in"):
  45. time_left = time_regex.findall(message.content.lower())
  46. dt = timedelta(**dict([(convert_time(s), int(t))
  47. for (t, s) in time_left]))
  48. event_datetime = datetime.now() + dt
  49. event_time_GMT = datetime.strftime(
  50. event_datetime, '%d %b %Y %I:%M%p') + ' GMT'
  51. event_time_EST = datetime.strftime(
  52. event_datetime + timedelta(hours=-4), '%d %b %Y %I:%M%p') + ' EST'
  53.  
  54. embed = discord.Embed(title="!Event:", color=0x00ff00)
  55. embed.add_field(
  56. name="Requirements", value='**- Requirement 1**\n**- Requirement 2**\n**- Requirement 3**\n**- Requirement 4**', inline=False)
  57. embed.set_footer(text=event_time_EST + ' | ' + event_time_GMT)
  58. embed.set_thumbnail(url=message.author.avatar_url)
  59. old_msg=await client.send_message(message.channel, embed=embed)
  60.  
  61. elif message.content.startswith("!event2 in"):
  62. time_left = time_regex.findall(message.content.lower())
  63. dt = timedelta(**dict([(convert_time(s), int(t))
  64. for (t, s) in time_left]))
  65. event_datetime = datetime.now() + dt
  66. event_time_GMT = datetime.strftime(
  67. event_datetime, '%d %b %Y %I:%M%p') + ' GMT'
  68. event_time_EST = datetime.strftime(
  69. event_datetime + timedelta(hours=-4), '%d %b %Y %I:%M%p') + ' EST'
  70.  
  71. embed = discord.Embed(title="!Event:", color=0x00ff00)
  72. embed.add_field(
  73. name="Requirements", value='**- Requirement 1**\n**- Requirement 2**\n**- Requirement 3**\n**- Requirement 4**', inline=False)
  74. embed.set_footer(text=event_time_EST + ' | ' + event_time_GMT)
  75. embed.set_thumbnail(url=message.author.avatar_url)
  76. msg = await client.wait_for_message(author=message.author, content='!edit',timeout=10)
  77.  
  78. @client.event
  79. async def on_message(message):
  80. if message.content.startswith('!hi'):
  81. await client.send_message(message.channel, 'Say hello')
  82. msg = await client.wait_for_message(author=message.author, content='hello')
  83. msg = await client.wait_for_message(author=message.author, content='!edit',timeout=10)
  84. if message.content.startswith('!event2 in'):
  85. await client.send_message(message.channel, 'Say hello')
  86. msg = await client.wait_for_message(author=message.author, content='hello')
  87. msg = await client.wait_for_message(author=message.author, content='!edit',timeout=10)
  88.  
  89.  
  90.  
  91. @client.event
  92. async def on_ready():
  93. print('Logged in as')
  94. print(client.user.name)
  95. print(client.user.id)
  96. print('------')
  97.  
  98.  
  99. client.run(TOKEN)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement