Переписка
Разговор один на один внутри приложения: ученик пишет автору, автор отвечает, обоим приходит уведомление в бот.

Блок «Переписка» — это лента реплик и строка ввода под ней. Собрать похожее из списка, поля и кнопки можно было и раньше; не получалось ровно то, из-за чего разговор узнают разговором: реплики разной ширины по двум сторонам, лента, которая сама держится низа, отправка по Enter и поле ввода, не уезжающее под клавиатуру.
Что заполнить:
- Таблица переписки — обычная таблица с режимом доступа «каждый пишет себе, админ видит всё». Ученик видит свою ветку, автор — все.
- Столбец с текстом и столбец «от кого». Второй блок заполняет сам: обе стороны лежат в строках ученика, и различить их можно только тем, что записано.
- «Где запомнен собеседник (для экрана автора)» — только на экране автора: здесь запоминается выбранный человек, и лента показывает его ветку. У ученика поле остаётся пустым — ветка у него одна.
- Пока там ничего не запомнено, автор видит список разговоров: имя, последняя реплика, время и точка у тех, кто ждёт ответа. Нажатие открывает разговор, «Закрыть переписку» (действие «Запомнить» с пустым значением) возвращает к списку.
- Высота ленты. Число — лента такой высоты посреди страницы. Ноль — чат-экран: лента занимает всё, что осталось от окна, прокручивается сама, а строка ввода стоит внизу и остаётся над клавиатурой.
Жесты в ленте — те же, к которым привыкли в мессенджерах. Свайп вправо по реплике отвечает на неё: цитата встаёт над полем ввода и уходит вместе с ответом, а потом видна в самом пузыре. Долгое нажатие открывает ряд значков — реакция ставится и снимается одним касанием. И то и другое хранится в самой строке переписки (replyText, replyFrom, reaction), то есть видно и в панели данных.
Галочка «Сообщать о сообщении в бот» работает в обе стороны, и адресата выбирает сама: реплика ученика уходит уведомлением владельцу приложения, а ответ автора — тому ученику, которому он отвечает. Пишет бот владельца, поэтому уведомление придёт только тому, кто хоть раз нажимал в нём «Старт»; молчание в этом случае — не сбой.
Кто перед лентой — решает не блок, а права: автор приложения и тот, кого вы назначили админом этой таблицы, видят и ведут чужие ветки; все остальные — свою. Роль админа назначается в таблице людей, где у человека одна строка: «админ — это тот, у кого в столбце „Роль“ написано „Тренер“».
Где: Палитра блоков → «Данные» → «Переписка».