2 changed files with 43 additions and 23 deletions
@ -1,12 +1,22 @@ |
|||||
from discord.ext import tasks |
from discord.ext import tasks |
||||
import traceback |
import traceback |
||||
|
import asyncio |
||||
|
|
||||
class Extension: |
class Extension: |
||||
|
core = None |
||||
def __init__(self, core): |
def __init__(self, core): |
||||
@tasks.loop(seconds=60.0) |
self.core = core |
||||
async def stats_loader(core): |
self.core.loop.create_task(self.task()) |
||||
try: |
|
||||
print("Load stats from backend") |
async def task(self, timeout = 60): |
||||
core.stats = await core.GetStats() |
await self.core.wait_until_ready() |
||||
except: |
while True: |
||||
traceback.print_exc() |
await self.updater() |
||||
|
await asyncio.sleep(timeout) |
||||
|
|
||||
|
async def updater(self): |
||||
|
try: |
||||
|
print("Load stats from backend") |
||||
|
self.core.stats = await self.core.GetStats() |
||||
|
except: |
||||
|
traceback.print_exc() |
@ -1,25 +1,35 @@ |
|||||
from discord.ext import tasks |
from discord.ext import tasks |
||||
import discord |
import discord |
||||
import traceback |
import traceback |
||||
|
import asyncio |
||||
|
|
||||
class Extension: |
class Extension: |
||||
show_stats_prev = 0 |
show_stats_prev = 0 |
||||
|
core = None |
||||
def __init__(self, core): |
def __init__(self, core): |
||||
@tasks.loop(seconds=3) |
self.core = core |
||||
async def show_stats(core): |
self.core.loop.create_task(self.task()) |
||||
try: |
|
||||
if not core.stats['servers'].items(): |
async def task(self, timeout = 3): |
||||
print("Stats not be loaded") |
await self.core.wait_until_ready() |
||||
return |
while True: |
||||
try: |
await self.updater() |
||||
server = core.stats['servers'].items()[self.show_stats_prev] |
await asyncio.sleep(timeout) |
||||
self.show_stats_prev += 1 |
|
||||
except: |
|
||||
self.show_stats_prev = 0 |
|
||||
server = core.stats['servers'].items()[self.show_stats_prev] |
|
||||
|
|
||||
addr = server['address'].split(":") |
async def updater(self): |
||||
act = discord.Streaming(name = f"{server['name']} - {server['player_count']}", url=f"https://{addr[0]}/connect/{addr[1]}") |
try: |
||||
await core.change_presence(activity=act) |
if not self.core.stats['servers'].items(): |
||||
|
print("Stats not be loaded") |
||||
|
return |
||||
|
try: |
||||
|
server = self.core.stats['servers'].items()[self.show_stats_prev] |
||||
|
self.show_stats_prev += 1 |
||||
except: |
except: |
||||
traceback.print_exc() |
self.show_stats_prev = 0 |
||||
|
server = self.core.stats['servers'].items()[self.show_stats_prev] |
||||
|
|
||||
|
addr = server['address'].split(":") |
||||
|
act = discord.Streaming(name = f"{server['name']} - {server['player_count']}", url=f"https://{addr[0]}/connect/{addr[1]}") |
||||
|
await self.core.change_presence(activity=act) |
||||
|
except: |
||||
|
traceback.print_exc() |
Loading…
Reference in new issue