Написать telegram бота на Python для создания опросов и топиков

8 000 руб. за проект
06 февраля 2024, 01:13 • 15 откликов • 79 просмотров
Накидала блок-схему в Миро для наглядности
https://miro.com/app/board/uXjVNwkOpb0=/?share_lin...

Функционал бота
------------------------------------------------------------------
Фиксированная возможность:
Добавлять в админы бота пользователей по запросу для предоставления возможности менять настройки, описанные ниже

Вижу это так:
У меня полная админка, т.к. бот создан через мой акк
Другие люди, заходя в бота, могут запросить у меня доступ, заявка для которого отправится мне в этот же бот
(Мб мне сразу в Бот приходит месседж с id аккаунта и кнопками "Предоставить доступ", "Отказать")
------------------------------------------------------------------
Вариативная возможность:
Есть 2 варианта работы бота
Можно выбрать 1 из 2
Есть возможность переключения на другой, но активным должен быть только 1, т.к. они взаимоисключающие

Вижу это так:
Кнопка "Настройки режима", которая переходит к 2-м inline кнопкам с названиями режимов (визуал есть в Миро)
------------------------------------------------------------------
Базовое использование бота:
Бот добавляется в группу с топиками, я предоставляю ему права админа

И далее про режимы работы:
------------------------------------------------------------------
Режим отправки:
1. Кто-то создает Опрос в топике с названием N (название фиксировано, напишу при обсуждении)
1. Бот создает новый топик, в названии которого пишет название созданного кем-то Опроса в теме N
3. Бот пересылает в созданный топик Опрос из п.1
------------------------------------------------------------------
Режим создания:
1. В главном меню бота появляется 3-я кнопка - "Создать опрос"
2. После нажатия у пользователя запрашиваются следующие параметры по порядку:
  • Описание
  • Картинка
  • Название
  • Дата
  • Время
  • Локация
3. Бот присылает пользователю сообщения с заполненными параметрами из п.2
Ниже 2 inline кнопки "Подтвердить" (переходим к п.4) "Отменить" (возвращает в стартовое меню)
4. Бот присылает в топик с названием N (название фиксировано, напишу при обсуждении) сообщение с Описание + Картинка
5. Бот присылает в топик с названием N Опрос, который называется "Название, Дата, Время,Локация"
  • опрос не анонимный
  • три варианта ответа (фиксированные)
  • нет возможности мультиплай ответа
6. Бот создает новый топик, в название которого пишет название созданного Опроса в теме N
7. Бот пересылает в созданный топик сообщение с Описанием и Картинкой из п.2
8. Бот пересылает в созданный топик Опрос из п.5
------------------------------------------------------------------
Валидации:
  • Картинка - не более 1
  • Описание - не более 1 024 (одно сообщение телеграм), иначе вывод ошибки:
    "Описание превышает максимальный размер сообщения, пришлите другое"
  • Возможность вернуться назад при заполнении полей, либо кнопка "Отменить создание"
  • Сочетание "Название, Дата, Время,Локация" не более 255 символов, иначе после п.2 вывод сообщения:
    "Присланные параметры превышают максимальный размер названия Опроса, заполните параметры заново"

    Ниже сообщения 2 inline кнопки - "Заново", "Отменить создание"
    Заново - возвращает в п.2 к сообщению Введите Название
    Отменить создание - возвращает в главное меню
------------------------------------------------------------------
Вариативная возможность:
В Боте есть кнопка, позволяющая включить или отключить следующий функционал:
1. Бот удаляет созданный им топик спустя 4 дня после создания
(но только те, что создал бот. Если топик создал кто-то из участников группы, то его удалять не нужно)
------------------------------------------------------------------
Валидации общие:
  • При написании любого текста, не задуманного кодом, выводить месседж:
    Я получил от тебя команду, которую не смог обработать
    Попробуй перезапустить бота через /start