@intp7th Просто мысли на тему того, как подобные вещи делаются:
Бэкенд:
1) Нужна тулза, которая умеет экспортировать весь чат, включая медиа (возможно такая тулза уже есть и писать не придется)
2) Нужен бэкенд, который будет эту тулзу по расписанию запускать
3) Бэкенд, получив экспортированный чат, должен эти данные где-то хранить. Допустим, записали в БД
4) Делаем API для фронта, чтобы он мог получать эти данные и отображать
Фронт:
1) Допустим, это SPA. При заходе на / отправляется запрос к API бэкенда
2) Допустим, данные получены. Нужно подумать как их отображать, и вот тут лучше отталкиваться от макета.
Больше на фронте никаких функций не требуется (ссылку на чат куда-нибудь в футер можно положить)