Нужен скрипт на Flask + PyTelegramBotAPI

3 000 руб. за проект
15 мая 2020, 11:01 • 3 отклика • 64 просмотра
Требуется разработать скрипт на Flask. Создать web-интерфейс на html+css+js для управления сервером.

После запуска сервера, на главной странице должна отображаться панель для авторизации. Данные для авторизации передаются POST-запросом на другой IP и там же проверяются. В случае успеха, ответ будет True (либо False в противном случае). После успешной авторизации мы переходим на страницу управления сервером. На этой странице есть:

1. Поле для ввода ссылки на канал в Telegram. Мы сюда вводим ссылку и нажимаем кнопку "Добавить канал". Выполняется POST-запрос на другой IP и возвращается True/False. Если True, тогда ссылка на канал появляется на этой же странице. Если False - выводится alert уведомление с текстом "Не добавлен". То есть, здесь будет список с каналами.
2. На строке с добавленным каналом должна быть кнопка рядом "Настройки". Нажимаем ее и редактируем данные в Modal-окне. Здесь есть следующие поля для ввода текстовых данных: "Никнейм бота", "Токен бота", "Прокси", "Никнейм админа". Должны быть кнопки "Сохранить" и "Отменить" (с соответствующими действиями и возвратом на страницу после этого). При сохранении данных отправляется POST-запрос на другой IP и возвращается True/False. И, как обычно, True - возвращаемся на предыдущую страницу. False - показываем ошибку с текстом "Ошибка". При этом данные, которые мы ввели в модальном окне сохраняются в глобальных переменных и привязаны к введенному каналу. Могут сохраняться на диск при необходимости (по каждому каналу отдельно).
3. Возле введенного канала должна быть кнопка "Старт/Стоп" (меняется при запуске/остановке). Если пользователь нажал на эту кнопку, то в фоне запускается функция, которая принимает все данные по каналу (ссылка + то, что мы ввели в модальном окне). При этом, возле этого канала отображается прогрессбар, что говорит о том, что канал работает. Также запускается бот, который готов принимать сообщения (примеры кода можно посмотреть тут) от нашей функции. В коде функции требуется отправить сообщение запущенному боту, чтобы он вернул нам отправленный текст (EchoBot, как в этом примере ). Сообщение (Текст: "/start") боту отправляется с помощью библиотеки Pyrogram (для этого нужно авторизоваться под телеграм аккаунтом).
4. Должно быть окно лога, в котором будет выводится текст из процессов (какая-то информация из функции). Например, "функция отправила сообщение боту", "бот получил сообщение с текстом: test" и т.д. Для отслеживания статуса работы.
5. Также должна отображаться информация о том, сколько каналов и ботов сейчас запущено и работает.

Если обобщить, то Flask-сервер будет работать с несколькими каналами, а значит - выполнять в фоне для каждого канала 1 функцию и 1 бота. Если, например, будет 3 канала - то сервер должен будет выполнять в фоне 3 функции и 3 бота одновременно и параллельно. Поэтому вероятно потребуется реализовать также многопоточность. Веб интерфейс нужен для удобства управления сервером.

В принципе, не важно, что тут использовать. Можно заменить Flask и PyTelegramBotAPI на что-то другое. Главное, чтобы все работало.

Важные условия:
1. Программа должна быть в одном файле *.py (не считая css/html/js).
2. Оплата осуществляется только после демонстрации работы.
3. После оплаты мне передается исходный код + все файлы.

Предлагайте свои цены и требуемое время на заказ в комментариях или в личку в телеграм.