1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00
royalnet/main.py

44 lines
1.5 KiB
Python
Raw Normal View History

2016-08-12 13:55:59 +00:00
import asyncio
import discord
2016-08-12 15:23:45 +00:00
import json
import overwatch
2016-08-12 19:08:36 +00:00
import strings as s
2016-08-12 15:48:35 +00:00
loop = asyncio.get_event_loop()
2016-08-12 15:23:45 +00:00
d_client = discord.Client()
# Get player database from the db.json file
file = open("db.json")
db = json.load(file)
file.close()
2016-08-12 13:55:59 +00:00
2016-08-12 14:01:05 +00:00
# Get the discord bot token from "discordtoken.txt"
2016-08-12 19:08:36 +00:00
file = open("discordtoken.txt", "r")
token = file.read()
file.close()
2016-08-12 15:23:45 +00:00
2016-08-12 17:21:43 +00:00
# Every 300 seconds, update player status and check for levelups
async def overwatch_level_up(timeout):
while True:
# Update data for every player in list
2016-08-12 19:08:36 +00:00
for player in db:
if db[player]["overwatch"] is not None:
r = await overwatch.get_player_data(**db[player]["overwatch"])
if r["data"]["level"] > db[player]["overwatch"]["level"]:
# Convert user ID into a mention
user = "<@" + player + ">"
# Prepare the message to send
msg = s.overwatch_level_up.format(player=user, level=r["data"]["level"])
# Send the message to the discord channel
loop.create_task(d_client.send_message(d_client.get_channel("213655027842154508"), msg))
db[player]["overwatch"]["level"] = r["data"]["level"]
# Update database
f = open("db.json", "w")
json.dump(db, f)
f.close()
2016-08-12 17:21:43 +00:00
# Wait for the timeout
await asyncio.sleep(timeout)
2016-08-12 19:25:03 +00:00
loop.create_task(overwatch_level_up(900))
2016-08-12 19:08:36 +00:00
d_client.run(token)