Техническое задание на разработку Telegram бота для администрирования каналов

Техническое задание на разработку Telegram бота для администрирования каналов



Разработчику желательно знать следующее:

Понимание командной разработки

Понимание БД PostgreSQL/MySQL

Понимание библиотек psycopg/py-postgresql / pyTelegramBotAPI

Понимание HTTP и SSL

Понимание веб сервера

Желателен опыт настройки веб сервера nginx/apache

Знание Python

Понимание синтаксиса

Понимание парадигмы объектно ориентированного программирования.


Все вышеперечисленные пункты помогли бы Вам быстро реализовать бота


Функционал бота:


После нажатия на кнопку /start появляется главное меню. Кнопки будут закрепленными под чатом.


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

Добавить канал


Чтобы добавить канал пользователю нужно в первую очередь добавить бота в администраторы канала, далее нажать на кнопку Добавить канал и прислать боту ID  канала или переслать сообщение с канала боту. После того как канал добавлен, открывается информация та же что при нажатии на кнопку Мои каналы, а именно список добавленных каналов и кнопка все каналы.

Мои каналы

При нажатии на кнопку Мои каналы не экран выводится список всех каналов и кнопка Все каналы.

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


При нажатии на кнопку Мои публикации (мои посты) бот выводит список всех постов канала созданных с помощью бота (если кнопка нажата в разделе отдельного канала) или список вообще всех постов созданных с помощью данного бота во всех каналах (если кнопка нажата в разделе Все каналы). Здесь можно открыть отдельный пост, удалить его или отредактировать и опубликовать еще раз.

Добавить переключатель "Закрепить"




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

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



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


В разделе Настройки есть две кнопки Мои каналы, с количеством каналов х и у. Данные кнопки есть только в разделе Все каналы. Значение х определяет сколько каналов уже настроено отличительно от остальных, количество остальных каналов это значение у. Эти кнопки работают как переключатели, если включены оба переключателя - настройки меняются для всех каналов. Если включен один из двух переключателей, то настройки будут изменены только для тех каналов, для которых этот переключатель активен.

Например:

- изменяться  настройки всех всех каналов.

-настройки меняются только для 85 каналов.

 - настройки меняются только для 15 ранее настроенных каналов.

В разделе Отложенные посты отображается список отложенных постов. Если нажать на пост из списка бот присылает сам пост (и если пользователь нажал эту кнопку в разделе все каналы то каналы в каком он будет опубликован) и кнопки удалить, опубликовать сейчас, назад. В разделе Реакции можно выбрать реакцию которая будет добавлятся по умолчанию (если включен переключатель) к постам, а также можно добавить шаблоны для реакций. Чтобы добавить шаблон, нужно нажать на кнопку Добавить реакцию, далее отправить боту смайлы через пробел одним сообщением. После отправления смайлов, бот присылает пример как это будет выглядеть в посте: “текст, картинку и реакции под постом”. В разделе Часовой пояс можно выбрать часовой пояс для канала или всех каналов. В разделе Удаление постов можно настроить через какое время посты будут удалятся автоматически. Если настройки меняются в разделе Все каналы, то они устанавливаются для всех каналов, независимо от того что было настроено в каждом канале отдельно.


Переключатели (иконки ) в боте должны быть такого вида

- активный

- неактивный






Обратная связь: https://t.me/mybote


Report Page