Практика работы с Telegram
Бот автопостинга в Telegram на Python: публикации по расписанию
Как поставить текстовый пост в свой канал на заданное время: бесплатный пример, разрешённые каналы, очередь и проверка результата.
Подготовьте канал и бота
Для небольшого собственного канала можно запустить отдельного бота с локальной очередью. Пример из архива принимает текст из файла и дату публикации. Для каждого поста вы явно выбираете канал; случайный адрес не пройдёт проверку списка разрешённых целей.
Скачать Python-примеры с README и лицензией MIT →
В архиве только исходный код и инструкции. Токены, аккаунты и готовые базы пользователей в него не входят. Код бесплатный; компьютер, хостинг и интернет оплачиваются отдельно.
- Создайте собственного бота и добавьте его в свой канал с правом публикации.
- Заполните
post_channelsв config.json: например,["@your_owned_channel"]. Для закрытого канала используйте его числовой ID как строку. - Задайте токен переменной среды, выполните init и запустите run. Подробный порядок есть в README архива.
Создайте пост без немедленной отправки
python community_bot.py post --id release-001 --channel @your_owned_channel --text-file post.txt --at "2026-09-20T12:00:00+03:00"Команда показывает план. Замените адрес, дату и текст своими. Время без часового пояса отклоняется: 12:00 в Москве и 12:00 UTC — разные моменты. Пример допускает текст до 3500 единиц UTF-16, без HTML-разметки, альбомов и вложений. Это ограничение примера, а не полное описание возможностей Telegram.
Добавьте пост в очередь
python community_bot.py post --id release-001 --channel @your_owned_channel --text-file post.txt --at "2026-09-20T12:00:00+03:00" --queue
python community_bot.py statusДоставляющий процесс run должен работать в этой же папке и с той же базой. Повтор того же ID не добавляет новый пост и не редактирует старый. Для следующей публикации используйте другой ID. Этот пример не включает интерфейс переноса времени или удаления задания: сначала проверьте текст и время в режиме просмотра.
Как читать результат
| Статус | Действие владельца |
|---|---|
| pending | Сверить срок, запущен ли процесс, и путь к базе. |
| sent | Проверить публикацию в канале и message_id. |
| failed | Проверить адрес канала и право бота публиковать; прочитать код отказа. |
| unknown | Сначала открыть канал и найти пост. Не создавать дубль автоматически. |
После выключения сервера точность расписания не сохраняется: просроченные задания обрабатываются при возобновлении. Для production потребуется собственное наблюдение за процессом и резервная копия базы. Часовой пояс хранится как единый момент времени, поэтому часы сервера должны быть корректны.
Бот или автопостинг аккаунта
Этот проект отправляет от имени вашего бота и предназначен для каналов, где у него есть необходимые права. В Telecobra также есть сценарий публикации через подключённые пользовательские аккаунты. Для него действуют другой способ авторизации и собственные права отправителя.
Выбирайте инструмент по задаче: один управляемый канал удобно начать проверять на боте; работу через аккаунты и выбранный список целей смотрите в отдельной инструкции API. Код учебного планировщика проверен локально, без боевых публикаций.
Источники и документация
Одна платформа · разные задачи
Подписка Telecobra
Соберите инструменты для работы с Telegram в одном кабинете. Сроки доступа, цены и условия — на странице подписки.
В этой инструкции описана только часть возможностей платформы. Полный список доступен в разделе функций.