]> git.giacomolli.uk - onechat/blobdiff - README.rst
Find WhatsApp contacts and groups
[onechat] / README.rst
index b17cd64349b05077ef6a0c4d6e7db8976c90e154..457cb19a87f1d1f6d5f273a12607b394ec53993b 100644 (file)
@@ -237,6 +237,24 @@ private chat holds the phone number of the contact, such as
 ``15550002222@s.whatsapp.net``, and the ID of a group can hold the
 number of the person who made it.
 
+While the daemon is stopped or disconnected, the WhatsApp servers keep
+the messages for the linked device and send them at the next connection.
+They keep them only for a limited time, so a long stop can lose
+messages. These messages form batches by their original times, as live
+messages do. The daemon waits for the end of this catch-up, or one
+minute at the most, and then gives all its batches to the agent in one
+turn, not one turn for each chat. The batches of ``whatsapp/state.json``
+at the start wait for the first catch-up in the same way.
+
+The agent finds a chat with the tool ``whatsapp_find``: it gives the
+contacts and the groups whose name holds a text, with no regard to case
+and accents, with their IDs. The names of the contacts come from the
+session, and the names of the groups from WhatsApp, kept in memory for
+one hour. The names arrive from the phone some minutes after the link,
+and until then the tool says that they are not ready. Without a link,
+the tool tells the agent to ask the user to run ``/whatsapp pair
+PHONE``. Only the agent has the WhatsApp tools, not its subagents.
+
 Each batch of a group goes to the chat, also with no turn, and the
 memory tree summarizes it with model calls, which use the quota.