Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.49 KB | None | 0 0
  1. import discord, datetime, re, os, requests, asyncio
  2. from dateutil import parser
  3. from lifxlan import LifxLAN
  4.  
  5. client = discord.Client()
  6. token = open('tokens/wot','r').read()
  7. lastex = datetime.datetime.now()
  8. gtime = lastex - datetime.timedelta(days=1)
  9. light = LifxLAN(4).get_device_by_name('Lounge Room')
  10.  
  11. @client.event
  12. async def on_ready():
  13.     print('-'*34)
  14.     print('Lounge Light setter is ready')
  15.     print('-'*34)
  16.  
  17. now = datetime.datetime.now()
  18. tdown = ''
  19.  
  20. async def check_lightz():
  21.     global lastex
  22.     global gtime
  23.     await client.wait_until_ready()
  24.     while not client.is_closed():
  25.         statss = os.popen('sudo nmap -sn 192.168.1.0/24').readlines()
  26.         if ('30:5A:3A:02:6A:E4' in str(statss)) or ('D4:81:D7:8D:3E:4E' in str(statss)) or ('2C:F0:5D:05:B1:39' in str(statss)):
  27.             if datetime.datetime.now() > gtime and light.get_power() == 0:
  28.                 try:
  29.                     tdown = requests.get('https://www.timeanddate.com/sun/australia/adelaide')
  30.                     tdown.raise_for_status()
  31.                     gtime = datetime.datetime.now() + datetime.timedelta(hours=4)
  32.                 except:
  33.                     print('Web err')
  34.                 else:
  35.                     td = re.findall('Sunset Today: </span><span class=three>(.*)</span><span class="comp sa24"', tdown.text)
  36.                     td = parser.parse(td[0])
  37.                     now = datetime.datetime.now()
  38.                     w10 = now + datetime.timedelta(minutes=45)
  39.                     if w10 > td:
  40.                         try:
  41.                             light.set_power(65535, 59000)
  42.                             light.set_color(45510, 0, 40240, 2500)
  43.                         except:
  44.                             pass
  45.         else:
  46.             try:
  47.                 lts.get_device_by_name('Lounge Room').set_power(0)
  48.             except:
  49.                 pass
  50.         lastex = datetime.datetime.now()
  51.         await asyncio.sleep(60)
  52.  
  53. async def redun():
  54.     global lastex
  55.     await client.wait_until_ready()
  56.     while not client.is_closed():
  57.         try:
  58.             if lastex + datetime.timedelta(minutes = 3) < datetime.datetime.now():
  59.                 erch = client.get_channel(695443373292781599)
  60.                 await erch.send(f'''autolounge.py: Restarting check_lightz.''')
  61.                 client.loop.create_task(check_lightz())
  62.         except:
  63.             pass
  64.         await asyncio.sleep(120)        
  65.  
  66. client.loop.create_task(check_lightz())      
  67. client.run(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement