fix: runs threads for background tasks
This commit is contained in:
parent
82cd56ace8
commit
ebde4f1310
21
events.py
21
events.py
@ -1,3 +1,6 @@
|
|||||||
|
import asyncio
|
||||||
|
import threading
|
||||||
|
|
||||||
import commands
|
import commands
|
||||||
import core
|
import core
|
||||||
import tasks
|
import tasks
|
||||||
@ -5,7 +8,23 @@ from state import client
|
|||||||
|
|
||||||
|
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
await tasks.check_idle()
|
threading.Thread(
|
||||||
|
name="cleanup",
|
||||||
|
target=asyncio.run_coroutine_threadsafe,
|
||||||
|
args=(
|
||||||
|
tasks.cleanup(),
|
||||||
|
client.loop,
|
||||||
|
),
|
||||||
|
).start()
|
||||||
|
|
||||||
|
threading.Thread(
|
||||||
|
name="check_idle",
|
||||||
|
target=asyncio.run_coroutine_threadsafe,
|
||||||
|
args=(
|
||||||
|
tasks.check_idle(),
|
||||||
|
client.loop,
|
||||||
|
),
|
||||||
|
).start()
|
||||||
|
|
||||||
|
|
||||||
async def on_message(message):
|
async def on_message(message):
|
||||||
|
20
tasks.py
20
tasks.py
@ -6,16 +6,6 @@ import disnake
|
|||||||
from state import client, last_used, players
|
from state import client, last_used, players
|
||||||
|
|
||||||
|
|
||||||
async def check_idle():
|
|
||||||
while True:
|
|
||||||
await asyncio.sleep(3600)
|
|
||||||
|
|
||||||
if time.time() - last_used >= 3600:
|
|
||||||
await client.change_presence(status=disnake.Status.idle)
|
|
||||||
else:
|
|
||||||
await client.change_presence(status=disnake.Status.online)
|
|
||||||
|
|
||||||
|
|
||||||
async def cleanup():
|
async def cleanup():
|
||||||
while True:
|
while True:
|
||||||
await asyncio.sleep(3600)
|
await asyncio.sleep(3600)
|
||||||
@ -26,3 +16,13 @@ async def cleanup():
|
|||||||
targets.append(id)
|
targets.append(id)
|
||||||
for target in targets:
|
for target in targets:
|
||||||
del players[target]
|
del players[target]
|
||||||
|
|
||||||
|
|
||||||
|
async def check_idle():
|
||||||
|
while True:
|
||||||
|
await asyncio.sleep(3600)
|
||||||
|
|
||||||
|
if time.time() - last_used >= 3600:
|
||||||
|
await client.change_presence(status=disnake.Status.idle)
|
||||||
|
else:
|
||||||
|
await client.change_presence(status=disnake.Status.online)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user