ChessMateBot
Техническое задание на создание чат-бота в Telegram
1. Описание задачи
Необходимо разработать чат-бота для Telegram, который будет помогать пользователям найти соперника для игры в шахматы, создавать ссылки на игру на базе chess.com и Zoom конференцию, регистрировать пользователей, отображать анкету пользователя и предлагать создать или присоединиться к игре с контролем времени.
2. Функциональные требования
Чат-бот должен иметь следующие функции:
2.1 Регистрация пользователя
Чат-бот должен позволять пользователям зарегистрироваться в системе. Для этого чат-бот должен обладать следующими функциями:
- Пользователь отправляет чат-боту сообщение с командой регистрации.
- Чат-бот запрашивает у пользователя информацию "о себе".
- Чат-бот сохраняет информацию о пользователе в базе данных.
2.2 Создание игры с контролем времени
Чат-бот должен позволять пользователям создавать игры с контролем времени. Для этого чат-бот должен обладать следующими функциями:
- Пользователь отправляет чат-боту сообщение о том, что он хочет создать игру с контролем времени.
- Чат-бот предлагает пользователю выбрать один из трех вариантов игры: "Шахматы 960 с контролем времени 10+0", "Классические шахматы с контролем времени 10+0" и "Шахматы на четверых".
- Чат-бот создает ссылку на партию на базе chess.com и ссылку на Zoom конференцию.
- Чат-бот начинает поиск партнера и отправляет анкету участника, содержащую два-три предложения о себе, ссылку на профиль игрока в chess.com и ссылку на социальную сеть.
- Создатель игры получает анкеты игроков в листе ожидания и выбирает из двух кнопок "подтвердить" и "отклонить".
- После нажатия кнопки "подтвердить" чат-бот присылает пригласительное письмо первому в очереди, кто выбрал соответствующую игру в варианте "присоединиться к игре". Через 30 секунд первому в очереди, нажавшему "предлагать все варианты". Через 20 секунд всем остальным в листе ожидания и получившим "подтверждение от создателя партии.
- Если создатель игры не получает подтверждение от игрока в течение 5 минут, то чат-бот отменяет игру.
2.3 Присоединение к игре с контролем времени
Чат-бот должен позволять пользователям присоединяться к играм с контролем времени. Для этого чат-бот должен обладать следующими функциями:
- Пользователь отправляет чат-боту сообщение о том, что он хочет присоединиться к игре с контролем времени.
- Чат-бот предлагает пользователю выбрать один из четырёх вариантов игры: "Шахматы 960 с контролем времени 10+0", "Классические шахматы с контролем времени 10+0", "Шахматы на четверых" и "Любой вариант".
- Если в данный момент существует созданная игра с контролем времени выбранного варианта, чат-бот присылает игроку ссылку на эту игру.
- Если созданной игры нет, пользователь попадает в лист ожидания. Если в момент времени появляются два игрока, желающие присоединиться к одному и тому же (либо любому) типу игры, им присылаются ссылки на анкеты друг друга и в случае подтверждения от обоих создается партия на chess.com двоих/четверых.
3. Технические требования
Чат-бот должен быть разработан на языке программирования Python с использованием библиотеки python-telegram-bot. Для работы с базой данных должна использоваться СУБД PostgreSQL. Для создания ссылок на игру на базе chess.com и Zoom конференцию можно использовать API этих сервисов.
4. Результаты
Результатом работы над проектом должен стать рабочий чат-бот в Telegram, способный находить соперников для игры в шахматы, создавать ссылки на игру на базе chess.com и Zoom конференцию, регистрировать пользователей, отображать статистику игр и предлагать создать или присоединиться к игре с контролем времени.
-
853 11 0 Здравствуйте!
Разрабатываю ботов на python
субд MySQL, PostgreSQL,sqlite
работа с API
parsing
Сделаю все качественно, примеры можете посмотреть у меня в профиле и на github
Буду ждать вашего сообщения что бы подробнее узнать некоторые детали и обсудить тз.
-
953 5 0 Здравствуйте, мне понравился ваш проект.
У меня есть опыт в создании телеграмм ботов и проектировании баз данных.
В шахматах немного понимаю, умею разбираться в API сервисов.
Готов разработать и развернуть на сервере бота, с нужным вам функционалом.
В процессе работы всегда нахожусь на связи и даю отчет о проделанной работе.
Надеюсь на наше взаимовыгодное сотрудничество.
-
164 10 2 Здравствуйте. Готов взяться за работу. Можете написать мне в лс. Обсудим.
Актуальные фриланс-проекты в категории Python
Специалист по Excel / автоматизации процессов (Excel + желательно программирование)Ищем специалиста с ПРОДВИНУТЫМИ знаниями Excel для оптимизации существующего файла и автоматизации процессов. Будет большим преимуществом, если вы также имеете навыки программирования / VBA / Power Query / Power Automate или опыт создания сложной логики в Excel. Задачи проекта… Python, Базы данных и SQL ∙ 37 минут назад ∙ 7 ставок |
Автоматизация процессоів через API и PhytonНиже описал текущий процесс и то, к какому результату хотелось бы прийти. Также прикладіваю файлы реалтного процесса чтобы лучше понять как он выглядит в ревльности Текущий процесс Сейчас весь процесс выполняется вручную: загрузка/выгрузка файлов, перенос данных между… AI и машинное обучение, Python ∙ 1 час 38 минут назад ∙ 18 ставок |
Необходимо создать бота в ТГ для оплаты подписки.
2000 UAH
Необходимо создать бота в телеграме, где пользователь сможет оформить подписку на доступ к веб-камерам, которые находятся во дворе. Организовать в боте оплату двух видов подписок (на месяц и на один день). Бот должен автоматически проверять оплату и после выдавать ссылку-доступа. Python, Разработка ботов ∙ 14 часов 25 минут назад ∙ 67 ставок |
Парсинг и классификация большого массива изображенийНеобходимо реализовать проект по сбору и структурированию большого массива архитектурных изображений из открытых веб-источников.Задача включает: автоматизированный сбор изображений; загрузка файлов в максимально доступном качестве; классификацию изображений по категориям:… Python, Парсинг данных ∙ 21 час 25 минут назад ∙ 30 ставок |
Бизнес-логикa платформы: подтверждение занятий, контроль посещаемости-и история уроков (DjangoДоработка бизнес-логики образовательной платформы: подтверждение занятий, контроль посещаемости и история уроков (Django + React) Необходимо реализовать полноценную систему подтверждения уроков, контроля посещаемости и хранения истории подтверждений. Важно Перед началом… Python ∙ 3 дня 2 часа назад ∙ 29 ставок |