Чем Telegram API отличается от Bot API
Разработать бота — значит написать программу, которая связывается с серверами Телеграма, чтобы получать информацию (например, приходящие сообщения) и отдавать команды (например, ответить на такое-то сообщение). Давайте разберёмся, как это происходит.
MTProto API — он же Telegram API — это апи, через которое ваше приложение Телеграма на телефоне или компьютере связывается с серверами Телеграма. Он открыт: разработчики могут использовать его, чтобы создавать свои приложения для мессенджера. Называется оно так потому, что основано на протоколе MTProto, который команда Телеграм и разработала.
Telegram Bot API — это отдельное апи поверх Telegram API, на котором могут работать только боты.
Оно было создано для того, чтобы разработчики могли писать ботов на обычных HTTP-запросах, не разбираясь в протоколе MTProto. Ещё в Bot API есть фичи для упрощения разработки: например, он может работать через вебхуки и автоматически размечать сообщения через HTML или Markdown.
Но вам это не нужно :)
Скорее всего, вы не будете писать сырые HTTP-запросы, а будете использовать готовые библиотеки для разработки ботов. Такие библиотеки есть под многие языки программирования, и обычно в них есть всё, что вам понадобится для удобной работы.
В общем, для разработки ботов вы можете использовать как библиотеки под Telegram API, так и библиотеки под Bot API.
Какой API выбрать?
Некоторые библиотеки основаны на Bot API, а некоторые — на Telegram API.
С одной стороны, под Bot API библиотек гораздо больше.
С другой стороны, в Bot API есть небольшие ограничения. Обычно он запрещает загружать большие файлы или получать стыре сообщения (см. сравнительную таблицу). Я предпочитаю всегда использовать Telegram API, но обычно это непринципиально.
О выборе библиотеки — на следующей странице.
О юзерботах
Раз Telegram API открыт, и под него даже есть всякие библиотеки, — значит, вы легко можете написать программу, управляющую не ботом, а аккаунтом пользователя.
В народе такую программу называют юзерботом.
Юзерботы используются для различных целей, например, чтобы каждую минуту ставить текущее время себе на аватарку, сохранять сообщения из публичных групп и каналов, и автоматизировать повторяющиеся задачи.
В Papercraft Book мы не рассматриваем юзерботов, но библиотеки Telegram API, описанные на следующей странице, будут полезны, если вы захотите разработать юзербота.
WARNING
Телеграм обычно не банит за использование юзерботов, но будьте осторожны: за спам аккаунт могут ограничить или удалить.