Идея создания
Этот бот был создан как улучшенная версия популярного для групп Telegram бота с игровым мотивом. Вдохновение пришло от наблюдения за ботом, который привлекал внимание своей концепцией ежедневного сбора очков. Мне захотелось сделать аналог с более продвинутым функционалом и возможностями, чтобы пользователи могли не только собирать очки, но и взаимодействовать друг с другом через игры и бонусы.
Так появилась идея создать бота, который каждый день выдаёт пользователю рандомное количество очков. Эти очки можно использовать для игр, передачи другим участникам и даже монетизировать через покупки бонусов.
Основной функционал
Рандомные очки Каждый день пользователь мог получить случайное количество очков, введя определённую команду. Это добавило элемент азарта и мотивацию регулярно взаимодействовать с ботом.

2. Передача очков Очки можно было легко передавать другим пользователям с помощью простой команды. Это сделало процесс более социальным и позволило участникам организовывать мини-соревнования.

3. Игра «Крестики-нолики» онлайн Ключевой особенностью стала возможность сыграть в «Крестики-нолики» с другими пользователями в реальном времени. Для этого я реализовал сервер на WebSocket. Почему WebSocket? Потому что он позволяет обрабатывать обмен данными между игроками в режиме реального времени. Игроки могли создавать комнаты, так же была возможность для желающих быть зрителем, а игра была простой и понятной.

4. Интеграция с Stripe Чтобы добавить монетизацию, я подключил платёжную систему Stripe. Пользователи могли покупать дополнительные бонусы и очки, которые открывали новые игровые возможности или увеличивали их шансы на победу.
5. Бонусные фишки Я внедрил различные бонусы, которые можно было получить за выполнение определённых действий: приглашение новых пользователей, победы в играх или покупки через Stripe. Это сделало процесс более увлекательным.

6. Статистика и уникальные очки для каждого чата Я добавил систему статистики, которая позволяла отслеживать активность пользователей. Для каждого чата были предусмотрены уникальные очки, но бонусы, приобретённые пользователем, можно было использовать во всех чатах. Это означало, что очки покупались глобально и могли активироваться в любом месте, где бот был добавлен.
Техническая реализация
- Серверная часть Сервер был написан на Python с использованием FastAPI. Для WebSocket я использовал библиотеку
websockets
, которая обеспечила стабильный и быстрый обмен данными между игроками. - База данных Все данные временно хранились в SQLite. Это позволило быстро начать разработку, но в будущем я планирую перейти на MariaDB для повышения производительности и масштабируемости.
- Stripe API Интеграция с платёжной системой была реализована через официальное API Stripe. Я настроил обработку вебхуков для отслеживания платежей и их подтверждения.
- Telegram Bot API Я использовал библиотеку
python-telegram-bot
, которая упростила разработку и позволила быстро настроить обработку команд, интеграцию игр и передачу очков.
Результаты и выводы
Этот проект стал отличным опытом для меня. Я реализовал сложную интеграцию между WebSocket, платёжной системой и Telegram API. Бот оказался популярным в группе, его активно использовали для игр и взаимодействия и даже пригласили другие люди. Интеграция Stripe добавила возможность монетизации, а бонусы сделали использование бота более интересным.
Научившись совмещать разные технологии, я понял, насколько важно продумывать удобство для пользователей и стремиться к стабильной работе всех компонентов.
Планы на будущее:
- Добавить новые игры.
- Оптимизация
- Купить кока колу
Добавить бота можно тут @unluckich_bot
Хотелось бы узнать о дальнейших планах на этого бота. Что вы думаете ещё в него добавить?
Пока что нет особых идей, буду улучшать оптимизацию и безопасность.
Планирую создать группу, где пользователи смогут делиться идеями