59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
import asyncio
|
|
import threading
|
|
import time
|
|
|
|
import commands
|
|
import core
|
|
import tasks
|
|
from state import client, start_time
|
|
|
|
|
|
def prepare():
|
|
threading.Thread(
|
|
name="cleanup",
|
|
target=asyncio.run_coroutine_threadsafe,
|
|
args=(
|
|
tasks.cleanup(),
|
|
client.loop,
|
|
),
|
|
).start()
|
|
|
|
|
|
async def on_bulk_message_delete(messages):
|
|
commands.voice.delete_queued(messages)
|
|
|
|
|
|
async def on_message(message):
|
|
await core.on_message(message)
|
|
|
|
|
|
async def on_message_delete(message):
|
|
commands.voice.delete_queued([message])
|
|
|
|
|
|
async def on_message_edit(before, after):
|
|
if before.content == after.content:
|
|
return
|
|
|
|
await core.on_message(after, edited=True)
|
|
|
|
|
|
async def on_ready():
|
|
print(f"logged in as {client.user} in {round(time.time() - start_time, 1)}s")
|
|
|
|
|
|
async def on_voice_state_update(member, before, after):
|
|
await core.on_voice_state_update(member, before, after)
|
|
|
|
|
|
for event_type, handlers in client.get_listeners().items():
|
|
for handler in handlers:
|
|
client.remove_listener(handler, event_type)
|
|
|
|
client.add_listener(on_bulk_message_delete, "on_bulk_message_delete")
|
|
client.add_listener(on_message, "on_message")
|
|
client.add_listener(on_message_delete, "on_message_delete")
|
|
client.add_listener(on_message_edit, "on_message_edit")
|
|
client.add_listener(on_ready, "on_ready")
|
|
client.add_listener(on_voice_state_update, "on_voice_state_update")
|