feat(backend): watches fire on new, edited and deleted messages and on coming online, legacy keyword included
This commit is contained in:
1 parent
8ed9ca1951
commit
4469938f47
12 files changed
+501
-60
No files matched your search
@@ -9,6 +9,7 @@ from dependencies.container import container
|
||||
from utils.listen import Listener
|
||||
from utils.logging import logger, setup_logging
|
||||
from utils.read.bots import BOTS_CHANGED_CHANNEL
|
||||
from utils.read.watches import WATCHES_CHANGED_CHANNEL
|
||||
from utils.storage import ContentAddressedStorage
|
||||
from watcher.registry import BotRegistry
|
||||
|
||||
@@ -32,7 +33,20 @@ def _change_listener(registry: BotRegistry, tasks: set[asyncio.Task]) -> Listene
|
||||
tasks.add(task)
|
||||
task.add_done_callback(tasks.discard)
|
||||
|
||||
return Listener("watcher", {BOTS_CHANGED_CHANNEL: on_change}, lambda: on_change(""))
|
||||
def on_watch(_payload: str) -> None:
|
||||
task = asyncio.create_task(registry.refresh_watches())
|
||||
tasks.add(task)
|
||||
task.add_done_callback(tasks.discard)
|
||||
|
||||
def on_reconnect() -> None:
|
||||
on_change("")
|
||||
on_watch("")
|
||||
|
||||
return Listener(
|
||||
"watcher",
|
||||
{BOTS_CHANGED_CHANNEL: on_change, WATCHES_CHANGED_CHANNEL: on_watch},
|
||||
on_reconnect,
|
||||
)
|
||||
|
||||
|
||||
async def runner() -> None:
|
||||
|
||||
Reference in new issue
Block a user