40 lines
1021 B
Python
40 lines
1021 B
Python
import core
|
|
import events
|
|
from state import client
|
|
|
|
dynamic_handlers = {}
|
|
|
|
|
|
async def trigger_dynamic_handlers(event_type: str, *data):
|
|
if event_type in dynamic_handlers:
|
|
for dynamic_handler in dynamic_handlers[event_type]:
|
|
try:
|
|
await dynamic_handler(*data)
|
|
except Exception as e:
|
|
print(
|
|
f"error in dynamic event handler {dynamic_handler} for {event_type}: {e}"
|
|
)
|
|
|
|
|
|
@client.event
|
|
async def on_message_edit(before, after):
|
|
await events.trigger_dynamic_handlers("on_message_edit", before, after)
|
|
|
|
await core.on_message(after)
|
|
|
|
|
|
@client.event
|
|
async def on_message(message):
|
|
await events.trigger_dynamic_handlers("on_message", message)
|
|
|
|
await core.on_message(message)
|
|
|
|
|
|
@client.event
|
|
async def on_voice_state_update(member, before, after):
|
|
await events.trigger_dynamic_handlers(
|
|
"on_voice_state_update", member, before, after
|
|
)
|
|
|
|
await core.on_voice_state_update(member, before, after)
|