Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Цель: Создать Telegram-бота, который собирает данные пользователей, Контакт пользователя (Номер телефона, имя, фамилия, пол, дата рождения) через участие в конкурсах. Бот должен предоставлять администратору возможность управления конкурсами и экспорта данных в Excel.

Основные функции:

  • Сбор данных участников.

  • Создание и управление конкурсами.

  • Генерация Excel-файла с собранными данными.

Целевая аудитория:

  • Администраторы (создание конкурсов, управление данными).

  • Пользователи Telegram (участие в конкурсах).


1. Функционал бота

Для администратора:

  1. Создание конкурса:

    • Команда /create_contest для запуска мастера создания.

    • Поля для заполнения:

      • Название конкурса.

      • Описание.

      • Дата начала/окончания.

    • После создания — автоматическая генерация кнопки «Участвовать» в чате бота.

  2. Управление конкурсами:

    • Просмотр списка активных/завершенных конкурсов (команда /contests).

    • Возможность закрыть конкурс досрочно.

  3. Экспорт данных:

    • Команда /export_data для выгрузки данных в Excel.

    • Формат Excel-файла:

      • Столбцы: ID пользователя, Имя, Фамилия, Пол, Дата рождения, Название конкурса, Дата участия.

      • Данные сортируются по дате участия.

Для пользователя:

  1. Участие в конкурсе:

    • Кнопка «Участвовать» в описании конкурса.

    • После нажатия — запрос данных:

      • Имя и фамилия (текстовый ввод).

      • Пол (кнопки «Мужской», «Женский», «Другое»).

      • Дата рождения (календарь или ввод в формате ДД.ММ.ГГГГ).

  2. Подтверждение данных:

    • Пользователь видит сводку введенных данных.

    • Кнопка «Подтвердить» для завершения регистрации.

  3. Уведомления:

    • Сообщение об успешном участии в конкурсе.


2. Технические требования

  • Язык программирования: Python (рекомендуется с библиотекой aiogram).

  • База данных: SQLite/PostgreSQL для хранения данных участников и конкурсов.

  • Excel-экспорт: Использование библиотеки openpyxl или pandas.

  • Хостинг: Развертывание на VPS (например, Heroku, AWS) или сервере с поддержкой Python.

  • Безопасность:

    • Ограничение доступа к админ-командам (проверка по ID администратора).

    • Защита от спама (лимит запросов).


3. Этапы разработки

  1. Прототип интерфейса:

    • Настройка команд бота.

    • Реализация кнопки «Участвовать» и формы ввода данных.

  2. База данных:

    • Создание таблиц:

      • Users (user_id, first_name, last_name, gender, birthdate).

      • Contests (contest_id, title, description, start_date, end_date).

      • Participants (user_id, contest_id, participation_date).

  3. Админ-панель:

    • Реализация команд /create_contest, /contests, /export_data.

  4. Тестирование:

    • Проверка валидации данных (например, корректность даты).

    • Тест экспорта в Excel.

  5. Документация:

    • Инструкция по установке и настройке бота.

    • Руководство для администратора.


4. Сроки и бюджет

  • Срок выполнения: 1-14 дней

  • Бюджет: Договорной

2 месяца назад
guest_1738153282168
2 месяца в сервисе
Был
месяц назад

Заявки фрилансеров

Саидмурод
 
19 лет
месяц в сервисе
Был
14 дней назад
21 день назад
Ярослав
 
25 лет
25 дней в сервисе
Был
24 дня назад
24 дня назад
Ярослав
 
21 год
месяц в сервисе
Был
25 дней назад
месяц назад
Михаил
 
18 лет
месяц в сервисе
Был
4 дня назад
месяц назад
Денис
 
26 лет
2 месяца в сервисе
Был
месяц назад
2 месяца назад
Максим
 
26 лет
6 лет в сервисе
Был
8 дней назад
38 отзывов(-3)
2 месяца назад
Денис
 
22 года
6 месяцев в сервисе
Был
36 минут назад
2 месяца назад
Адиль
 
25 лет
2 месяца в сервисе
Был
2 часа назад
2 месяца назад
Макар
 
15 лет
2 месяца в сервисе
Был
месяц назад
2 месяца назад
Андрей
 
25 лет
4 года в сервисе
Был
час назад
4 отзыва
2 месяца назад
Сергей
 
40 лет
5 лет в сервисе
Был
6 часов назад
1 отзыв
2 месяца назад
Денис
 
35 лет
9 лет в сервисе
Был
3 часа назад
15 отзывов(-1)
2 месяца назад
Владимир
 
23 года
3 месяца в сервисе
Был
7 дней назад
7 отзывов(-1)
2 месяца назад
Алексей
 
51 год
8 лет в сервисе
Был
день назад
110 отзывов(-1)
2 месяца назад