Telegram бот на aiogram 3
2000 UAHИщу программиста, для написания Telegram бота на python. Бот должен будет читать чаты, в которые его добавили. Реагировать на некоторые сообщения, производить некоторые вычисления и писать результат в чат.
Скилы:
- aiogram 3
- postgresql и уметь в архитектуру баз данных
- docker, docker compose, надо уметь поднимать базу и апку на VM. В нашем случаи будет hetzner. Ну и логирование подробное прикрутить.
- ton api (нужно будет прикрутить пополнение баланса через ton, я там со всеми нюансами подскажу если что)
Теперь более подробное ТЗ, чтобы вы могли оценить работу по времени и цене (та цена что я указал за проект ничего не значит)
У меня есть файловая структура, взял ее из одного из своих проектов, немного почистил лишнее и даже начал писать модели. Но решил, что лучше отдам на аутсорс эту работу. Если вы хотите делать с 0 или у вас есть свои сетапы, то это даже лучше, главное чтобы проект имел потенциал к масштабированию. Примерно такие таблицы в базе: юзеры, чаты, партии_игры_1, партии_игры_2, транзакции пополнения, запросы на вывод
/start возвращает сообщение:
Привет <имя>
Ваш баланс: 1000
Клавиатура под сообщением:
- Обновить баланс
- Добавить в чат(не помню можно ли вызвать модалку которая добавляет бота в твой чат)
- Как использовать
- Пополнить
- Запросить вывод
Кнопка: Как использовать меняет текст сообщения и делает клавиатуру с кнопкой «назад».
Сообщение:
"Это бот для игры в монетку или кости. Для игры нужно:
1. Бот добавлен в чат (никакие права ему давать не нужно)
2. У каждого из игроков запущен этот бот
...правила игр..."
Кнопка: Добавить в чат - онятно из названия))
Кнопка: Обновить баланс - просто редактирует сообщение выводя актуальный баланс
Кнопка: Пополнить - меняет текст на:
"Чтобы поплнить баланс отправьте TON на адрес: <адреса кошелька> с comment: <уникальный id для поплнения>
Курс обмена 1 TON = 100 Points"
Кнопка: Запросить вывод - отправляем сообщение "Напишите сумму Points которую хотите вывести (при выводе взымается 10% комиссия на развитие проекта)"
читаем входящие сообщение, обрабатываем вариант если не хватает баланса
если все ок, то отправляем сообщение "укажите кошелек на который совершить вывод"
проверяем его на валидность, если все ок, кнопка "Запросить вывод" будем кнопка "Отменить вывод", а в /start сообщении появляется сумма вывода и дата ближайшего дропа
Кнопка: Отменить вывод - меняем сообщение на "Вы уверены что хотите отменить вывод" клавиатура: да, нет
Игра 1 монетка
Игрок 1 пишет:
Решка 10
(10 количество поинтов на которые будет игра)
Игрок 2 отвечает на его сообщение:
Играю / го / (список ответов)
После этого рандомно выбирается выпал орел или решка и в соответствии с результатом с баланса одного игрока баллы переходят на баланс второго. Это сопровождается
сообщением:
Решка 🪙
<имя проигравшего> =10=> <имя победившего>
Игра 2 кости
Игрок 1 пишет:
Кубик 10
Игрок 2 отвечает на его сообщение:
Играю / го / (список ответов)
После этого мы ждем от каждого игрока сообщение с эмоджи кубика, смотрим у кого больше, в соответствии с результатом с баланса одного игрока баллы переходят на баланс второго. Это сопровождается
сообщением:
Кубик 🎲
<имя проигравшего> =<количество баллов>=> <имя победившего>
(очень надеюсь там эмоджи с разным результатом кубика имеет разный код, но если не выйдет получить результат, обойдемся немного другой текстовой логикой)
Так же возможны варианты от Игрока 1:
Четное 10 (тут игра тоже 50/50 у кого четное у кого не четное)
Больше2 10 (тут например игрок 1 выиграет в 2/3 случаев, соответственно 1 игрок при выигрыше получит 10, а игрок 2 при выиграше заберет 20) тут много вариантов, типа Меньше3, Больше 5 и тд
При добавлении в чат, бот должен делать все что описано в сообщении про то как играть. Если на балансе одного из игроков не достаточно поинтов - бот просто ничего не делает, но присылает ему в диалог уведомление про это. Решение неоднозначное, но не вижу смысла засорять чат, а права на удаление сообщений отрезает часть аудитории.
После конца каждой партии победителю в бота приходит уведомление о выигрыше
Если на сообщение игрока 1 не отвечают 5 минут, оно "деактивируется"
Доп требования
Нужно написать норм README.md со всеми нюансами установки и запуска докера
Все текста должены быть вынесены в json
Должна быть нормальная структура проекта (без файлов по 300 строк)
Все что нужно вынесено в .env, в идеале dev и prod конфиги иметь
Текста сообщений, названия кнопок, и все эти пути навигации вынесу куда-то типа миро чтобы было удобнее смотреть
Отзыв заказчика о сотрудничестве с Roman Isaienkov
Telegram бот на aiogram 3Все хорошо, продолжаем сотрудничать
Отзыв фрилансера о сотрудничестве с Pavlo Zelinskiy
Telegram бот на aiogram 3Хороший заказчик! Рекомендую к работе
-
95670 1272 1 10 Здравствуйте.Есть большой опыт в разработке телеграм ботов.Готов реализовать на Python или Node.js
-
1558 37 3 1 Добрый день. Имел опыт работы с подобным стеком технологий.
В профиле можете посмотреть, что имел работы как и дискорд ботами, в которых делал мини игры, так и телеграм боты.
В своих проектах использую TortoiseORM, для работы с PostgreSQL, код будет максимально просто читаться. Так же есть знания в архитектурах проектов и SOLID.
Буду рад сотрудничать!
-
9944 117 0 Здравствуйте.
Разрабатываю ботов для телеграма на NodeJS. Готов взяться. Пишите, обсудим.
Актуальные фриланс-проекты в категории Python
Построить модель классификации клиентов1. Есть данные клиентов в Mongo/SQL (примерно 20 000 записей с сырыми данными). 2. Необходимо на их основе построить фичи и модель классификации клиентов на поведенческие группы. 3. Проект выполнить на Python. AI и машинное обучение, Python ∙ 7 часов 17 минут назад ∙ 16 ставок |
ИТ Автоматизация ведения VAT-отчетности
10 000 UAH
Необходимо разработать систему для автоматизации переноса данных о продажах из CRM в бухгалтерскую систему Wafeq. Система должна импортировать банковские и платежные отчеты, автоматически сверять платежи с инвойсами, формировать инвойсы для VAT-отчетности и минимизировать ручную… AI и машинное обучение, Python ∙ 12 часов 42 минуты назад ∙ 28 ставок |
Обслуживание софта
5000 UAH
Необходимо внести правки в софт и его обслуживать в дальнейшем, софт делает заказы по заданным параметрам и отправляет их в телеграм бот Python, Разработка ботов ∙ 13 часов 31 минута назад ∙ 50 ставок |
Инструмент сверки счетов с банком, картами и бухгалтеромТехническое задание: инструмент сверки счетов с банком, картами и бухгалтеромОбщая цель Нужен локальный инструмент (скрипт/небольшое приложение на Python), который запускается вручную раз в 1-2 месяца на моём компьютере и делает сверку между: Счетами, которые я выставил клиентам… Python, Десктопные приложения ∙ 1 день назад ∙ 34 ставки |
Автоматическая публикация видео в социальные сети по расписаниюТехническое задание (ТЗ) Автоматическая публикация видео в социальные сети по расписаниюОписание проекта Нужен скрипт/бот (Python предпочтительно, либо любое другое решение на ваш выбор — главное стабильность и простота поддержки), который автоматически публикует видео из папки… Python, Разработка ботов ∙ 1 день 12 часов назад ∙ 54 ставки |