У меня нет практического опыта по этому вопросу, но я сам об этом некоторое время думал.
Действительно, «слияние» различных учетных записей (по каналам) - это то, что нам нужно. чтобы поддерживать себя, следя за тем, чтобы каждый идентификатор пользователя канала в конечном итоге соответствовал универсальному идентификатору пользователя (для меня имеет смысл таблица поиска).
Поскольку у вас есть веб-сайт, адрес электронной почты и несколько каналов, я бы сказал, что предположение является то, что пользователей, впервые зарегистрированных на веб-сайте . Каждый пользователь имеет уникальный адрес электронной почты и получает учетную запись, защищенную именем пользователя / паролем, а также уникальный секретный токен.
При общении в браузере (ie Rasa WebChat) вы можете инициализировать плагин с пользовательскими параметрами (ie userId = 1 или token = X), в этом случае сеанс чата назначается данному идентификатору пользователя.
При использовании Telegram (или другого приложения для обмена сообщениями) я бы (при самом первом доступе) ) спросите пользователя, зарегистрирован ли он / она.
Если да, то я бы попросил токен: это можно использовать для создания карты и связать этого пользователя Telegram с идентификатором универсального пользователя.
Тот же подход для других каналы.
В зависимости от ваших потребностей вам может потребоваться анонимный доступ (пользователи не предоставляют токен) или, возможно, вы хотите предоставить другой токен для каждого канала (более безопасный, но требующий больше работы и простой способ объяснить это пользователям).
Наконец-то посмотреть (я не пробовал себя) это возможность предоставить мне На веб-сайте можно открыть Telegram (или другие), передавая дополнительный параметр, который позволит вам выполнить сопоставление. Я не знаю, возможно ли это, но это упростит этот процесс для ваших конечных пользователей.
Или наоборот: пользователям Telegram может быть предоставлена ссылка, которая открывает веб-сайт, где они могут войти в систему и быть распознанным. .
Надеюсь, это поможет, удачи.
Беппе