- replace reaction-based helper text with !yes/!no and !skill commands - resolve confirm and cancel through pending confirmation state - render !settings as a read-only status dashboard
41 lines
1.9 KiB
Python
41 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
from adapter.matrix.handlers.chat import (
|
|
handle_list_chats,
|
|
make_handle_archive,
|
|
make_handle_new_chat,
|
|
make_handle_rename,
|
|
)
|
|
from adapter.matrix.handlers.confirm import make_handle_cancel, make_handle_confirm
|
|
from adapter.matrix.handlers.settings import (
|
|
handle_settings,
|
|
handle_settings_connectors,
|
|
handle_settings_plan,
|
|
handle_settings_safety,
|
|
handle_settings_skills,
|
|
handle_settings_soul,
|
|
handle_settings_status,
|
|
handle_settings_whoami,
|
|
handle_toggle_skill,
|
|
)
|
|
from core.handler import EventDispatcher
|
|
from core.protocol import IncomingCallback, IncomingCommand
|
|
|
|
|
|
def register_matrix_handlers(dispatcher: EventDispatcher, client=None, store=None) -> None:
|
|
dispatcher.register(IncomingCommand, "new", make_handle_new_chat(client, store))
|
|
dispatcher.register(IncomingCommand, "chats", handle_list_chats)
|
|
dispatcher.register(IncomingCommand, "rename", make_handle_rename(client, store))
|
|
dispatcher.register(IncomingCommand, "archive", make_handle_archive(client, store))
|
|
dispatcher.register(IncomingCommand, "settings", handle_settings)
|
|
dispatcher.register(IncomingCommand, "settings_skills", handle_settings_skills)
|
|
dispatcher.register(IncomingCommand, "settings_connectors", handle_settings_connectors)
|
|
dispatcher.register(IncomingCommand, "settings_soul", handle_settings_soul)
|
|
dispatcher.register(IncomingCommand, "settings_safety", handle_settings_safety)
|
|
dispatcher.register(IncomingCommand, "settings_plan", handle_settings_plan)
|
|
dispatcher.register(IncomingCommand, "settings_status", handle_settings_status)
|
|
dispatcher.register(IncomingCommand, "settings_whoami", handle_settings_whoami)
|
|
|
|
dispatcher.register(IncomingCallback, "confirm", make_handle_confirm(store))
|
|
dispatcher.register(IncomingCallback, "cancel", make_handle_cancel(store))
|
|
dispatcher.register(IncomingCallback, "toggle_skill", handle_toggle_skill)
|