Вместо того, чтобы усложнять ваши узлы, как это, имейте super node
, который отслеживает ответы определенного идентификатора чата, каждый раз, когда пользователь добавляет свои идентификаторы к этому super node
. Примерно так:
Replies
|
|
|-------------M5D96yP5Ac688-ZPU0C << chatId 1
|
-----8J7PX3ezjMTuOiAPO1BbOGJGP1g1: true
-----QvmGG2vPfTrdjZBfWP2ZotajYE3: true
|
|
|-------------QRE36yP5Ac688-ZPU0C << chatId 2
|
-----8J7PX3ezjMTuOiAPO1BbOGJGP1g1: true
Всякий раз, когда вы хотите проверить, кто еще не ответил
при входе в чат l oop через пользователей в поговорите и проверьте, существуют ли идентификаторы в этом суперузле, если нет, то отправьте уведомление После этого просто удалите chatID из супер-узла. И начните сначала.
ОБНОВЛЕНИЕ:
Я объясню еще раз.
Конечно, я предполагаю, что у вас есть список UID в чате из вашей базы данных я вижу это. Теперь вот шаги, чтобы узнать, какой пользователь ответил, а какой нет:
1) Когда пользователь отвечает, добавьте его / ее UID в supernode
в Replies/chatID
.
2) До сих пор это означает, что наличие UID пользователя в Replies/chatID
означает, что он ответил.
3) Когда вы хотите проверить, какой пользователь ответил, вы выполняете запрос к пользователям текущего чата, и я oop через них. И проверьте, существуют ли их UID под Replies/chatID
. Если да, они ответили, если нет - не ответили.