Как отложить пост в Телеграмме

TL;DR: Если у вас есть Telegram-канал и вы устали руками заполнять отложку, то такой бот здорово облегчит вам жизнь.

Видеть это окно каждый раз при создании отложенного поста очень утомляет

Стандартный алгоритм создания отложенного поста выглядит так:

  1. Открыть канал
  2. Создать пост
  3. Выбрать тип публикации «Отложенная»
  4. Указать время поста
  5. Отправить публикацию

При фиксированном интервале между постами алгоритм напрашивается на оптимизацию, в идеале хотелось бы оставить только пункты 1, 2, 5. Причем пункт 2 прокачать до «Создать посты».

Несмотря на обилие готовых решений, большинство их них перегружено функциями (зачастую платными) и работа с ними может, наоборот, увеличить время создания поста. Поэтому было решено реализовать собственного бота, которому можно просто отсылать фотографии (видео, документы, что угодно), а он бы сам уже добавлял их в отложенные публикации, основываясь на времени последнего поста.

Как Создать И Подключить Телеграм Канал | Отложенные Посты В Телеграм | Кнопки К Постам В Телеграм

Звучит здорово, но этот подход не сработал из-за того, что боту недоступно это самое время последнего поста в канале, а также из-за этого:

Дуров, почему?

Получается без собственной реализации отложки не обойтись.

Идея

У любого файла, загруженного на сервера Telegram, есть уникальный fileId. Если мы отправим боту фотографию, то он сможет достать этот id из входящего сообщения и сохранить в базу:

В случае картинки на серверах создается несколько файлов в разном разрешении

Далее, когда настанет время, мы сможем использовать сохраненный fileId, чтобы отправить пост в канал.

Создаем проект

Бота будем писать на Java с использованием Spring Boot и библиотеки TelegramBots,. В качестве БД используем PostgreSQL. На Spring Initializr сгенерируем наш проект с необходимыми зависимостями:

Откроем сгенерированный проект в IDE. В build.gradle в тег dependencies добавим библиотеку для работы с ботами:

implementation ‘org.telegram:telegrambots-spring-boot-starter:5.5.0’

Далее настроим подключение к нашей локальной БД. Для этого в application.yaml пропишем:

spring: datasource: url: $

И создадим класс конфигурации БД:

databaseChangeLog: — changeSet: id: 1-add-record author: ananac changes: — createTable: tableName: record columns: — column: name: id type: bigint constraints: primaryKey: true nullable: false — column: name: file_id type: varchar(255) constraints: nullable: true — column: name: comment type: text constraints: nullable: true — column: name: data_type type: varchar(15) constraints: nullable: false — column: name: create_date_time type: timestamp constraints: nullable: false — column: name: post_date_time type: timestamp constraints: nullable: true — column: name: author type: varchar(255) constraints: nullable: false
databaseChangeLog: — include: file: db/changelog/1-add-record.yaml

После этого можно запускать приложение, чтобы миграции накатились и в БД появилась наша таблица для хранения постов.

Создаем бота

telegram: name: botname token: 1793090787:AaaaAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaa chatId: -1948372984327 adminId: 265765765

Пишем логику

Реализуем сущность для созданной нами таблицы:

И JPA-репозиторий с необходимыми нам запросами:

Займемся непосредственно обработчиком входящих сообщений. Создаем новый класс, отнаследованный от TelegramLongPollingBot . В нем определяем метод, который будет обрабатывать входящие события. Мы хотим, чтобы с ботом мог работать только пользователь указанный в конфиге, поэтому добавим проверку по userId:

Далее реализуем метод сохранения поста в БД. Пока делаем поддержку только для фото, но в будущем ничего не мешает расшириться на все типы вложений. Помним, что во входящем сообщении лежит несколько файлов в разном разрешении, нас интересует только самый большой:

private void processMessage(Message message) < Long chatId = message.getChatId(); if (message.getPhoto() != null !message.getPhoto().isEmpty()) < Record record = buildRecord(message); recordRepository.save(record); reply(chatId, «Добавлено. Количество постов в отложке: » + recordRepository.getNumberOfScheduledPosts()); >else < reply(chatId, «Принимаются только фото»); >> private Record buildRecord(Message message) < Record record = new Record(); String fileId = getLargestFileId(message); record.setFileId(fileId); record.setComment(message.getCaption()); record.setDataType(«PHOTO»); record.setId(message.getMessageId()); record.setCreateDateTime(LocalDateTime.now()); record.setAuthor(message.getFrom().getUserName()); return record; >private String getLargestFileId(Message message)

Еще по теме:  Это лиана в Телеграмме

Метод запускается раз в минуту и первым делаем проверяет есть ли в БД неопубликованные посты. Если посты есть, то проверяется не прошло ли 120 минут с момента публикации последнего поста и на основании этого принимается решении о постинге. Также учитываем, что при первом запуске у нас не будет опубликованных постов в БД.

Далее добавим пару команд, чтобы с ботом было удобнее работать:

И реализуем их в коде. Команду для очистки сделаем с подтверждением, чтобы избежать мискликов:

private void processMessage(Message message) < Long chatId = message.getChatId(); if (message.getPhoto() != null !message.getPhoto().isEmpty()) < Record record = buildRecord(message); recordRepository.save(record); reply(chatId, «Добавлено. Количество постов в отложке: » + recordRepository.getNumberOfScheduledPosts()); >else if (message.getText() != null) < switch (message.getText()) < case «/info»: < reply(chatId, «Количество постов в отложке: » + recordRepository.getNumberOfScheduledPosts()); break; >case «/clear»: < reply(chatId, «Чтобы очистить напиши /delete»); break; >case «/delete»: < recordRepository.clear(); reply(chatId, «Очищено. Количество постов в отложке: » + recordRepository.getNumberOfScheduledPosts()); break; >default: < break; >> > else < reply(chatId, «Принимаются только фото»); >> public void sendPhoto(Record record) < try < SendPhoto sendPhoto = new SendPhoto(); sendPhoto.setChatId(chatId); sendPhoto.setPhoto(new InputFile(record.getFileId())); execute(sendPhoto); afterPost(record); >catch (TelegramApiException e) < e.printStackTrace(); >> private void afterPost(Record record)

Запуск и проверка

Поднимаем приложение и проверяем:

Посты удаляются и добавляются

В дальнейшем приложение можно задеплоить в облако, например, на Heroku (что и было сделано с этим ботом) по этому гайду. С кодом можно ознакомиться здесь.

Источник: habr.com

Как сделать отложенные посты в Телеграм

Как создавать отложенные посты в Телеграм, используя стандартные возможности мессенджера, боты и сторонние сервисы — расскажу в сегодняшней статье.

Превью к статье отложенные посты в Телеграм

Отложенный постинг — это автоматическая публикация контента в заданное время. С помощью отложенного постинга удобно планировать контент в сообществе на несколько дней или недель вперед.

Через боты и сервисы отложенного постинга в Телеграм контент возможно оригинально подать, и прикрепить к постам смайлы и реакции.

Уголок Админа — авторский блог о Телеграм. Только качественная и полезная информация о продвижении и развитии Телеграм-каналов.

Стандартная отложка от Телеграм

С недавних пор отправлять посты в заданное время возможно без всяких ботов и сервисов. Для этого на десктоп версии Телеграм вы можете нажать «Отправить» правой кнопкой мыши и выбрать «Отправить позже», чтобы автоматически отправить любое сообщение в заданное время.

Стандартная отложка от Телеграм

На андроид версии Телеграм при отправке сообщения зажмите стрелку отправки и выберите «отправить позже». Отметьте дату и время, когда хотите отправить сообщение.

Controller Bot (Контроллер бот)

Создавать отложенные посты в Телеграм можно через специальный бот Controller Bot. Он старый, проверенный и бесплатный. Его используют тысячи каналов.

Подключение и настройка

Controller Bot (Контроллер бот)

5. Придумываем название нашему боту, например, Postbot2018.

7. Все, нас поздравляют с созданием бота, дают ссылку на него и в самом низу сообщения мы видим токен.

8. Копируем токен, возвращаемся в ControllerBot и вводим полученный токен.

9. Контроллер бот просит добавить нашего бота в админы канала.

10. Переходим в управление каналом, раздел «Администраторы».

Добавляем бота в администраторы

11. Кликаем «Добавить администратора».

Добавляем бота в администраторы шаг 2

12. В поиске вводим юзернейм нашего бота (Post18bot) и добавляем его в админы с правом постить.

Добавляем бота в администраторы шаг 3

Добавляем бота в администраторы шаг 4

13. Пересылаем любое сообщение с канала в Контроллер бот или отправляем юзернейм канала.

14. Бот просит ввести название города для настройки временной зоны, указываем.

отложенные посты в телеграм

15. Все готово, кликаем «создать новый пост». Теперь через наш бот, привязанный к Контроллер боту, мы сможем отправлять сообщения и делать отложку.

Инструкция на вид сложная, но лишь на первый взгляд, на все у меня ушло 10 минут. Ничего нового я не придумывал, все это написано в самих ботах и с настройкой и подключением проблем быть не должно.

Создаем отложенные посты в Телеграм, через Controller Bot

Проверим работу отложенных постов через созданный нами бот.

1. Выбираем форматирование и кликаем «Продолжить».

отложенные посты в телеграм

2. Бот просит отправить посты. Я отправил картинку.

отложенные посты в телеграм

Бот показывает, как будет выглядеть пост, а снизу мы видим дополнительные функции (добавить реакции, комментарии, кнопки).

3. Кликаем «Далее».

4.Теперь кликаем «Отложить» и выбираем день, а снизу указываем время

Еще по теме:  Крутые фотки в Телеграмме для пацанов

отложенные посты в телеграм

5. Пост отложен и выйдет согласно заданному времени.

6. Пост вышел, как и планировалось.

отложенные посты в телеграм

Controller Bot — удобный и бесплатный вариант для создания отложенных постов в Телеграм.

Плюсы и минусы Controller Bot

  • Невозможно отправить пост сразу в несколько каналов. К примеру, вы продаете рекламу оптом, и пост рекламодателя нужно разместить в 10 каналах. Через Controller Bot придется вручную вбивать этот пост в отложку каждого из 10 каналов, что отнимает массу времени.
  • Иногда дает небольшие сбои и зависает. Это своеобразная плата за бесплатное использование.
  • Нет техподдержки.
  • Бот бесплатный.
  • Простая настройка.
  • Работа с ботом осуществляется внутри мессенджера. Не нужно открывать сторонние сайты.

FleepBot

FleepBot — конструктор умных чат-ботов для бизнеса. В нем возможно создавать боты для отложенных постов и умных чат-ботов под разные цели и задачи. Как создать и настроить боты, обзор возможностей, обо всем этом читайте в статье.

Конструктор умных чат-ботов для бизнеса Fleep.

Telepost

Telepost – отличный инструмент для создания отложенных постов в Телеграм-каналах. Сервис полностью бесплатный, есть широкий функционал, присутствует веб-версия. Как его настроить и подключить к каналу, обзор возможностей, читайте в статье.

Notepost

Notepost — это удобный бот для отложенного постинга в Телеграм с большим функционалом. Как работать с сервисом, обзор возможностей — обо всем я писал в статье.

Отложенные посты в Телеграм через сторонние сервисы

Сейчас на рынке представлено немало интересных сервисов автоматического поиска и постинга контента. Хорошие отзывы о smmplanner, assistant и пр. Но я с ними не работал, и поэтому расскажу о своем любимом и проверенном сервисе SmmBox .

Я уже писал о нем, рекомендую обязательно прочитать, ведь с ним можно собирать контент из соц. сетей и сайтов просто в пару кликов!
Сегодня же посмотрим, как делать через него отложенные посты в телеграм.

SmmBox

2. Переходим в раздел «Моя страница»

отложенные посты в телеграм

3. Пролистываем вниз до «Мои группы и аккаунты»

отложенные посты в телеграм

4. Выбираем Телеграм и кликаем «Добавить канал».

отложенные посты в телеграм

5. Канал добавлен и появился в списке.

отложенные посты в телеграм

6. Переходим в раздел «Расписание», здесь можно сразу создать расписание выхода постов для нашего канала. Отмечаем точками на шкале время для выхода наших постов.

отложенные посты в телеграм

Если расписание вам не нужно, пропустите эти шаги.

7. Все готово, проверим работу.

Первый способ

Найдем нужный контент через поиск внутри сервиса.
Заходим в поиск контента, выбираем раздел, например, «Кулинария».

отложенные посты в телеграм

Выбираем подходящий пост и кликаем «Забрать в свою группу».

отложенные посты в телеграм

Слева можно отформатировать пост, а справа выбрать время. Сейчас нам предлагают опубликовать пост по расписанию, откажемся, сняв галку с пункта «запланировать на будущее» и запостим сразу.

отложенные посты в телеграм

Отлично, пост опубликован.

отложенные посты в телеграм

Второй способ

Загрузим файл с компьютера и отложим его.
Кликаем «Новый пост».

отложенные посты в телеграм

Я подгрузил картинку и ввел текст. Выбираю «Опубликовать 17 ноября в 12.00»

отложенные посты в телеграм

Проверим, есть ли наш пост в «Отложенных»

Переходим в соответствующий раздел и видим, что пост есть и находится в отложке.

отложенные посты в телеграм

В назначенное время пост вышел.

оженные посты в телеграм

Плюсы и минусы SmmBox

Хочу отметить, чем удобен SmmBox именно для администратора Телеграм.

  • Есть возможность создать «наборы» и опубликовать один пост в несколько каналов разом.
  • Возможно создать расписание для выхода постов.
  • Быстрый поиск контента из соц. сетей через сервис, а также загрузка с сайтов благодаря плагину.
  • Кросспостинг из групп ВК в Телеграм-каналы.
  • Встроенная функция укорачивания ссылок и наложения водяных знаков.
  • Сервис платный. Пусть цена и небольшая.
  • Весь основной функционал представлен на сайте, а не внутри Тг.
  • Непростая настройка.

Заключение

На мой взгляд, если вы работаете только с Телеграм и имеете несколько каналов, достаточно использовать Controller Bot или Telepost / Fleep / Notepost. Если же у вас крупная сетка каналов, плюс сообщества в других соц. сетях, нужен кросспостинг и снятие рутины, то автоматизированные сервисы вам очень пригодятся и рекомендованы к использованию.

Надеюсь, статья была для вас полезной. Всегда рад видеть ваши комментарии. Подписывайтесь на канал для админов в телеграм и рассылку, делитесь статьей.

Успехов вам! До новых встреч в следующих статьях. С уважением, Дмитрий Толстой

Источник: blogger-tolstoy.ru

Как сделать отложенный пост в Телеграм

Канал в Telegram поможет вам найти клиентов на свои услуги, завлечь аудиторию на авторскую программу или продать товары заинтересованным покупателям. Но, если вы ведете параллельно несколько социальных сетей, времени на полноценное качественное ведение страницы может не хватить. И в этом случае вам поможет автопостинг. О нем мы подробно расскажем в этой статье.

Еще по теме:  Как понять заходил недавно в Телеграмме

Создаем отложенные посты в Телеграмм

Виды отложенного постинга в Телеграмме

Существует несколько способов для запуска автоматического выхода публикаций в аккаунте:

1. Постинг в самом Телеграм. Это самый очевидный и простой метод. Чтобы отложить отправку любого сообщения в личной переписке или в публичном канале, удерживайте кнопку отправки. После этого всплывет дополнительное окно, где нужно кликнуть на вариант «Отправить позже». Выберите дату на календаре и запланируйте запись.

Минус этого метода в ограниченном функционале. У вас не получится изменить дату выхода материала, прикрепить изображение, закрепить его в верхней части телеграм-канала или настроить автоудаление.

Создание отложенного сообщения в Телеграм

2. Публикация с помощью сторонних площадок. Например, в SmmBox. Данный способ отличается более широким функционалом. Вы одновременного разместите контент в нескольких телеграм-каналах или в других соцсетях. Легко настроите автоудаление или повтор.

В любой момент замените дату выхода статьи в календаре и сможете неоднократно вносить изменения в данные перед отправкой.

В SmmBox есть много инструментов для комфортной командной работы. Вам не придется предоставлять доступ к соцсети всем администраторам. Достаточно добавить админов на сайт, который надежно защитит личные данные профиля.

Сделайте пост для Телеграм в SmmBox

Если вы хотите опубликовать небольшое текстовое сообщение, то достаточно непосредственно автопостинга в Телеграмм. Но для добавления фотоподборок, статей, рекламы и других важных материалов лучше использовать специальную платформу. Далее мы расскажем, как.

Как делать отложенные посты в Телеграмме с помощью SmmBox

Чтобы внести новую публикацию в календарь, следуйте простой инструкции:

1. Создайте бота, чтобы система могла вносить изменения в ваш профиль. Это необходимо сделать один раз, следуя простым инструкциям на сайте.

Подключение страницы в Телеграм на главной странице сервиса

1. Перейдите во вкладку «Отложенные посты» и выберите аккаунт в Телеграм.

2. Определитесь с подходящей датой на календаре и нажмите «+» ниже, чтобы добавить информацию.

Календарь для отложенного постинга в SmmBox

3. После откроется окно для редактирования. Напишите текст и прикрепите файлы.

Можно разместить следующие вложения:

• изображения; • видео; • аудиозаписи; • документы; • опросы; • ссылки; • кнопки для сбора реакций.

Прикрепление реакций для сбора голосов в Телеграмм

Выберите время публикации. Укажите, нужен ли повтор или автоудаление. Далее нажмите на кнопку «Опубликовать». Данные отобразятся в системе постинга. Материал будет опубликован в назначенный срок.

Таким образом вы сможете запланировать контент на недели вперед.

Дополнительные возможности в системе постинга

Автопостинг из ВК в Телеграмм

VK и Telegram — две основные соцсети рунета. Многие предприниматели и блогеры ведут одновременно несколько аккаунтов. Даже если вы вручную переносите все посты из одной страницы в другую, это занимает много времени. Но процесс можно легко автоматизировать. Рассмотрим, как.

Первый способ

Когда вы будете создавать публикацию в сервисе SmmBox, сразу отметьте два аккаунта в выпадающем списке. Если вы хотите, чтобы статьи немного отличались, поставьте галочку в поле «Разный текст для групп». Тогда у вас откроется 2 окна для редактирования, где вы выберете любые вложения и измените сам текст. После нажатия кнопки «Опубликовать» записи выйдут в назначенное время в разных соцсетях.

Кнопка для одновременного создания похожих постов в разных группах

Второй способ

Откройте раздел «Инструменты СММ» на сайте. Найдите функцию «Кросспостинг» и нажмите «Настроить». Вставьте ссылку на свою страницу ВКонтакте и выберите, в каком именно канале Telegram вы хотите опубликовать информацию.

Вы можете полностью управлять кросспостингом. К примеру, не переносить записи с некоторыми словами. Или избегать копирования материалов с определенным видом вложений. Благодаря этому вам не придется параллельно вести две социальной сети. Можно настроить сканирование группы во ВКонтакте раз в час, и система будет автоматически переносить все в другую соцсеть.

Это освободит большую часть времени.

Настройте кросспостинг для регулярных обновлений контента

Заключение

Сегодня мы поделились тем, как сделать отложенный пост в Телеграм. Автопостинг и кросспостинг – незаменимые инструменты как для SMM-специалистов, так и для блогеров и предпринимателей. Освободив себя от многих рутинных задач, вы будете больше времени уделять стратегическим решениям и непосредственно продаже своих товаров и услуг.

Источник: newsland.com

Рейтинг
( Пока оценок нет )
Загрузка ...