mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Improved levelup code
This commit is contained in:
parent
8fea42680e
commit
f42dc376bf
2 changed files with 24 additions and 15 deletions
35
main.py
35
main.py
|
@ -2,6 +2,7 @@ import asyncio
|
|||
import discord
|
||||
import json
|
||||
import overwatch
|
||||
import strings as s
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
d_client = discord.Client()
|
||||
|
@ -12,27 +13,31 @@ db = json.load(file)
|
|||
file.close()
|
||||
|
||||
# Get the discord bot token from "discordtoken.txt"
|
||||
f = open("discordtoken.txt", "r")
|
||||
token = f.read()
|
||||
f.close()
|
||||
|
||||
# List overwatch players
|
||||
ow_players = list()
|
||||
for player in db:
|
||||
if db[player]["overwatch"] is not None:
|
||||
ow_players.append(db[player]["overwatch"])
|
||||
file = open("discordtoken.txt", "r")
|
||||
token = file.read()
|
||||
file.close()
|
||||
|
||||
# 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
|
||||
for ow_player in ow_players:
|
||||
r = await overwatch.get_player_data(**ow_player)
|
||||
if r["data"]["level"] > ow_player["level"]:
|
||||
await d_client.send_message(d_client.get_channel("213655027842154508"), "Level up!")
|
||||
ow_player["level"] = r["data"]["level"]
|
||||
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()
|
||||
# Wait for the timeout
|
||||
await asyncio.sleep(timeout)
|
||||
|
||||
loop.create_task(overwatch_level_up(30))
|
||||
d_client.run(token)
|
||||
d_client.run(token)
|
||||
|
|
4
strings.py
Normal file
4
strings.py
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Overwatch: Level up!
|
||||
# {player} = player
|
||||
# {level} = new level
|
||||
overwatch_level_up = "{player} è salito al livello **{level}** su Overwatch!"
|
Loading…
Reference in a new issue