Задача

Создать бота в Телеграмме, который будет брать содержимое из Notion.

Базовая единица информации в Notion - это блок. Каждый блок имеет свой личный адрес.

Бот берёт содержимое блока по ссылке и создаёт из этого содержимого пост в Телеграмме.

API Notion

API Telegram

Ситаксис переноса

Обычный текст бот переносит из Notion в Телеграм как текст. Учитывая полужирное или наклонное начертание. В Notion помечается * на языке Markdown

Бот берёт текст из абзаца, на который ведёт ссылка, из следующего за ним абзаца и далее до разделителя страницы. Который в Notion ставится тремя дефисами.

Ссылки внутри текста бот переносит как ссылки.

Отдельные ссылки после блока текста бот переносит как инлайн-кнопки. Располагает в таком же количестве столбцов, как сделано в Notion.

Ссылки на вложенные страницы ботом не воспринимаются.

Изображение и видеоролик переносятся вместе с блоком текста. Несколько изображений переносятся как альбом.

Сообщение от пользователя

Пользователь может написать боту в Телеграмме. Бот обрабатывает запрос и уточняет у пользователя, верно ли он понял.

Например, при наборе слов: старт, меню, главное меню, начало - бот переходит в начало.

При наборе слов: Наполеон, 1812 - переходит на страницу войны 1812 года.

Полагаю, что сделать такой поиск будет сложнее, чем переходы по блокам. Поэтому его можно прикрутить позже.

Место входа