A Telegram bot that allows users to participate in a virtual "slave" game, where they can collect and upgrade slaves, earn income, and compete on the leaderboard.
- Slavery game mechanics with purchasing and managing slaves
- Automated robot slaves that simulate real user activity
- Configurable robot population that adapts to user activity
- Economic system with earnings from your slaves
- User profiles with balance and stats
- Leaderboard with top users by slaves and balance
- Admin commands for managing the bot
- Multiple language support (Russian and English)
The bot supports multiple languages, currently Russian and English. Users can change their language preference using the /language
command or via the language button in the main menu.
To add a new language:
- Create a new directory in
slavery-bot-telegram/locales/
named with the language code (e.g.,de
for German) - Create a
messages.json
file in that directory with all translations - Add the language code and name to the
LANGUAGES
dictionary inlocalization.py
You can also use the included helper script:
python add_language.py --add <language_code> <language_name>
- Clone this repository
git clone https://github.com/l1v0n1/slavery-bot-telegram.git
cd slavery-bot-telegram
- Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies
pip install -r requirements.txt
- Configure your bot
- Create a
config.ini
file based on this template in bot directory:
- Create a
[main]
token = YOUR_TELEGRAM_BOT_TOKEN
mongourl = mongodb://localhost:27017/slaves
admin = YOUR_TELEGRAM_USER_ID
[robots]
auto_start = true
min_robots = 5
max_robots = 20
robot_id_start = -1000000
simulation_interval = 10
prob_earn = 0.8
prob_buy = 0.3
prob_upgrade = 0.2
user_threshold = 50
[ui]
buy_slaves_page_size = 10
slaves_page_size = 5
-
Set up MongoDB
- Make sure MongoDB is installed and running on your machine
- The bot will automatically create the required database and collections
-
Start the bot
python bot.py
Or use the run script with options:
python run.py [--reset-robots] [--adjust-robots]
The config.ini
file contains important settings for the bot. Here's what each setting does:
token
: Your Telegram Bot Token obtained from BotFathermongourl
: MongoDB connection URL, including database nameadmin
: Telegram User ID of the bot administrator who can access admin commands
auto_start
: Whether to automatically start the robot simulation when the bot launches (true
orfalse
)min_robots
: Minimum number of robot slaves to maintain in the systemmax_robots
: Maximum number of robot slaves allowed in the systemrobot_id_start
: Starting ID for robot users (should be negative to distinguish from real users)simulation_interval
: Interval in seconds between robot actionsprob_earn
: Probability (0.0-1.0) of a robot collecting earnings during simulationprob_buy
: Probability (0.0-1.0) of a robot buying slaves during simulationprob_upgrade
: Probability (0.0-1.0) of a robot upgrading slaves during simulationuser_threshold
: Minimum number of real users before robots start being removed
buy_slaves_page_size
: Number of slaves to display per page in the buy slaves menuslaves_page_size
: Number of slaves to display per page in the my slaves menu
- Python 3.7+
- MongoDB
- aiogram
- motor
- aioschedule
- Complete language localization for all bot messages
- Add more themes for the bot interface
- Implement achievements system
- Create more advanced robot behavior patterns
- Add more game mechanics for slave management
- Implement statistics dashboard
- Add API for external tools/integrations
This project is licensed under the MIT License - see the LICENSE file for details.
Телеграм-бот с игровой механикой "рабства", где пользователи могут привлекать других игроков в качестве рабов, получать с них прибыль и развивать свою империю.
- Игровая механика рабства с покупкой и управлением рабами
- Автоматизированные роботы-рабы, имитирующие поведение реальных пользователей
- Настраиваемая популяция роботов, адаптирующаяся к активности пользователей
- Экономическая система с доходом от ваших рабов
- Профили пользователей с балансом и статистикой
- Таблица лидеров с лучшими игроками по количеству рабов и балансу
- Команды администратора для управления ботом
- Поддержка нескольких языков (русский и английский)
Бот поддерживает несколько языков, в настоящее время русский и английский. Пользователи могут изменить предпочтительный язык с помощью команды /language
или через кнопку языка в главном меню.
Для добавления нового языка:
- Создайте новую директорию в
slavery-bot-telegram/locales/
с названием кода языка (например,de
для немецкого) - Создайте файл
messages.json
в этой директории со всеми переводами - Добавьте код языка и название в словарь
LANGUAGES
в файлеlocalization.py
Вы также можете использовать включенный вспомогательный скрипт:
python add_language.py --add <код_языка> <название_языка>
- Клонируйте репозиторий:
git clone https://github.com/l1v0n1/slavery-bot-telegram.git
cd slavery-bot-telegram
- Создайте и активируйте виртуальное окружение:
python -m venv .venv
source .venv/bin/activate # На Windows: .venv\Scripts\activate
- Установите зависимости:
pip install -r requirements.txt
- Настройте вашего бота:
- Создайте файл
config.ini
на основе этого шаблона в директории бота:
- Создайте файл
[main]
token = ВАШ_ТОКЕН_ТЕЛЕГРАМ_БОТА
mongourl = mongodb://localhost:27017/slaves
admin = ВАШ_ID_ПОЛЬЗОВАТЕЛЯ_ТЕЛЕГРАМ
[robots]
auto_start = true
min_robots = 5
max_robots = 20
robot_id_start = -1000000
simulation_interval = 10
prob_earn = 0.8
prob_buy = 0.3
prob_upgrade = 0.2
user_threshold = 50
[ui]
buy_slaves_page_size = 10
slaves_page_size = 5
-
Настройте MongoDB:
- Убедитесь, что MongoDB установлен и запущен на вашей машине
- Бот автоматически создаст необходимую базу данных и коллекции
-
Запустите бота:
python bot.py
Или используйте скрипт запуска с опциями:
python run.py [--reset-robots] [--adjust-robots]
Файл config.ini
содержит важные настройки для бота. Вот что делает каждая настройка:
token
: Ваш токен Telegram бота, полученный от BotFathermongourl
: URL подключения к MongoDB, включая имя базы данныхadmin
: ID пользователя Telegram администратора, который может получить доступ к командам администратора
auto_start
: Автоматически запускать симуляцию роботов при запуске бота (true
илиfalse
)min_robots
: Минимальное количество роботов-рабов для поддержания в системеmax_robots
: Максимальное количество роботов-рабов, разрешенных в системеrobot_id_start
: Начальный ID для пользователей-роботов (должен быть отрицательным для отличия от реальных пользователей)simulation_interval
: Интервал в секундах между действиями роботовprob_earn
: Вероятность (0.0-1.0) сбора дохода роботом во время симуляцииprob_buy
: Вероятность (0.0-1.0) покупки рабов роботом во время симуляцииprob_upgrade
: Вероятность (0.0-1.0) улучшения рабов роботом во время симуляцииuser_threshold
: Минимальное количество реальных пользователей, прежде чем роботы начнут удаляться
buy_slaves_page_size
: Количество рабов для отображения на странице в меню покупки рабовslaves_page_size
: Количество рабов для отображения на странице в меню моих рабов
- Python 3.7+
- MongoDB
- aiogram
- motor
- aioschedule
- Завершить языковую локализацию для всех сообщений бота
- Добавить больше тем для интерфейса бота
- Реализовать систему достижений
- Создать более продвинутые шаблоны поведения роботов
- Добавить больше игровых механик для управления рабами
- Реализовать панель статистики
- Добавить API для внешних инструментов/интеграций
Этот проект лицензирован под лицензией MIT - см. файл LICENSE для подробностей.