Event handling
server.on_connect
You can handle client connections with server.on_connect decorator.
from Planky import PlankyServer, PlankyClient
from Planky.events.connectEvent import ConnectEvent
server = PlankyServer("127.0.0.1", port=1111)
@server.on_connect()
async def on_connect(client: PlankyClient, event: ConnectEvent):
print(f"Client connected")
server.mainloop()
server.on_disconnect
You can handle client disconnections with server.on_disconnect decorator.
from Planky import PlankyServer, PlankyClient
from Planky.events.disconnectEvent import DisconnectEvent
server = PlankyServer("127.0.0.1", port=1111)
@server.on_disconnect()
async def on_disconnect(client: PlankyClient, event: DisconnectEvent):
print(f"Client disconnected")
server.mainloop()
server.on_message
You can handle client messages with server.on_message decorator.
from Planky import PlankyServer, PlankyClient
from Planky.events.messageEvent import MessageEvent
from Planky.messages.parsedMessage import ParsedMessage
from Planky.messages.rawMessage import RawMessage
from Planky.messages.pingMessage import PingMessage
server = PlankyServer("127.0.0.1", port=1111)
@server.on_message(ParsedMessage)
async def on_message(client: PlankyClient, event: MessageEvent):
print(f"Client sent message {event.message}")
@server.on_message(PingMessage)
async def on_ping(client: PlankyClient, event: MessageEvent):
print(f"Client sent ping")
@server.on_message(RawMessage)
async def on_raw_message(client: PlankyClient, event: MessageEvent):
print(f"Client sent unparsed message or ping {event.message}")
server.mainloop()
server.on_ping
You can handle client messages with server.on_ping decorator the same as server.on_message(PingMessage).
from Planky import PlankyServer, PlankyClient
from Planky.events.pingEvent import PingEvent
server = PlankyServer("127.0.0.1", port=1111)
@server.on_ping()
async def on_ping(client: PlankyClient, event: PingEvent):
print(f"Client sent ping {event}")
server.mainloop()