Cleanup Locale system, remove legacy Locale API, add command help handling, misc

This commit is contained in:
2024-08-07 02:27:17 +02:00
parent 6a1a21027c
commit c9895a4bed
37 changed files with 314 additions and 297 deletions

View File

@ -48,6 +48,7 @@ def MatrixMain() -> bool:
await MatrixClient.sync(30000) # resync old messages first to "skip read ones"
asyncio.ensure_future(queue_handler())
MatrixClient.add_event_callback(MatrixMessageHandler, nio.RoomMessage)
MatrixClient.add_event_callback(MatrixInviteHandler, nio.InviteEvent)
await MatrixClient.sync_forever(timeout=30000)
Thread(target=lambda:asyncio.run(client_main())).start()
return True
@ -63,7 +64,7 @@ def MatrixMakeInputMessageData(room:nio.MatrixRoom, event:nio.RoomMessage) -> In
id = f"matrix:{room.room_id}",
name = room.display_name,
),
user = SafeNamespace(
user = UserData(
id = f"matrix:{event.sender}",
#name = , # TODO name must be get via a separate API request (and so maybe we should cache it)
),
@ -75,6 +76,9 @@ def MatrixMakeInputMessageData(room:nio.MatrixRoom, event:nio.RoomMessage) -> In
data.user.settings = (GetUserSettings(data.user.id) or SafeNamespace())
return data
async def MatrixInviteHandler(room:nio.MatrixRoom, event:nio.InviteEvent) -> None:
await MatrixClient.join(room.room_id)
async def MatrixMessageHandler(room:nio.MatrixRoom, event:nio.RoomMessage) -> None:
if MatrixUsername == event.sender:
return # ignore messages that come from the bot itself