Telegram bot on aiogram 3
Ищу программиста, для написания 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 конфиги иметь
Текста сообщений, названия кнопок, и все эти пути навигации вынесу куда-то типа миро чтобы было удобнее смотреть
Client's review of cooperation with Roman Isaienkov
Telegram bot on aiogram 3Everything is fine, let's continue to cooperate.
Freelancer's review of cooperation with Pavlo Zelinskiy
Telegram bot on aiogram 3Good client! I recommend for work.
-
93808 1266 1 10 Hello. I have extensive experience in developing Telegram bots. I am ready to implement it in Python or Node.js.
-
1582 37 3 1 Good afternoon. I have experience working with a similar tech stack.
In my profile, you can see that I have worked with both Discord bots, where I created mini-games, and Telegram bots.
In my projects, I use TortoiseORM for working with PostgreSQL, and the code will be as easy to read as possible. I also have knowledge in project architectures and SOLID.
I would be happy to collaborate!
-
10130 117 0 Hello.
I am developing bots for Telegram using NodeJS. I am ready to take it on. Write to me, we will discuss.
Current freelance projects in the category Bot Development
Creation of a Telegram bot for an auto service.A Telegram bot needs to be created for the auto service AutoPerformance. Goal The bot is needed so that mechanics can perform a basic vehicle diagnosis using a checklist, add photos/videos, write final recommendations, and the system saves the results and calculates payment… Bot Development ∙ 2 hours 53 minutes back ∙ 46 proposals |
Create a bot in Telegram (seller's cabinet)
16 USD
Hello everyone I need a user personal account in the format of a bot in Telegram After launching and completing the survey, a personal account is created for the user (which allows them to access the system for further buttons) so that each registered user is displayed in a… Python, Bot Development ∙ 18 hours 34 minutes back ∙ 90 proposals |
Development of a TikTok farm (content factory)It is necessary to develop a system for centralized management of multiple TikTok accounts with automatic content publishing, using individual proxies and simulating natural account activity. Functional Requirements1. Account Management Adding and removing TikTok accounts.… Python, Bot Development ∙ 1 day 16 hours back ∙ 16 proposals |
Instagram chatbotIt is necessary to set up a chat bot on Instagram that will address new subscribers by name. A possible option for collaboration with setup in Telegram later. Bot Development ∙ 1 day 17 hours back ∙ 40 proposals |
AI agent in Telegram for online store
451 USD
Task: creating an AI agent in Telegram for live communication with customers and processing orders in the online store on OpenCart. It is also necessary to implement customer notifications regarding order statuses, store operating hours, working conditions, delivery times, and… AI & Machine Learning, Bot Development ∙ 2 days 12 hours back ∙ 69 proposals |