Skip to content

l1v0n1/slavery-bot-telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slavery Bot / Рабство Бот

English | Русский

English

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.

Features

  • 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)

Multi-language Support

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.

Adding New Languages

To add a new language:

  1. Create a new directory in slavery-bot-telegram/locales/ named with the language code (e.g., de for German)
  2. Create a messages.json file in that directory with all translations
  3. Add the language code and name to the LANGUAGES dictionary in localization.py

You can also use the included helper script:

python add_language.py --add <language_code> <language_name>

Setup

  1. Clone this repository
git clone https://github.com/l1v0n1/slavery-bot-telegram.git
cd slavery-bot-telegram
  1. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Configure your bot
    • Create a config.ini file based on this template in bot directory:
[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
  1. Set up MongoDB

    • Make sure MongoDB is installed and running on your machine
    • The bot will automatically create the required database and collections
  2. Start the bot

python bot.py

Or use the run script with options:

python run.py [--reset-robots] [--adjust-robots]

Configuration

The config.ini file contains important settings for the bot. Here's what each setting does:

[main] section

  • token: Your Telegram Bot Token obtained from BotFather
  • mongourl: MongoDB connection URL, including database name
  • admin: Telegram User ID of the bot administrator who can access admin commands

[robots] section

  • auto_start: Whether to automatically start the robot simulation when the bot launches (true or false)
  • min_robots: Minimum number of robot slaves to maintain in the system
  • max_robots: Maximum number of robot slaves allowed in the system
  • robot_id_start: Starting ID for robot users (should be negative to distinguish from real users)
  • simulation_interval: Interval in seconds between robot actions
  • prob_earn: Probability (0.0-1.0) of a robot collecting earnings during simulation
  • prob_buy: Probability (0.0-1.0) of a robot buying slaves during simulation
  • prob_upgrade: Probability (0.0-1.0) of a robot upgrading slaves during simulation
  • user_threshold: Minimum number of real users before robots start being removed

[ui] section

  • buy_slaves_page_size: Number of slaves to display per page in the buy slaves menu
  • slaves_page_size: Number of slaves to display per page in the my slaves menu

Requirements

  • Python 3.7+
  • MongoDB
  • aiogram
  • motor
  • aioschedule

To-Do List

  • 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

License

This project is licensed under the MIT License - see the LICENSE file for details.


Русский

Телеграм-бот с игровой механикой "рабства", где пользователи могут привлекать других игроков в качестве рабов, получать с них прибыль и развивать свою империю.

Особенности

  • Игровая механика рабства с покупкой и управлением рабами
  • Автоматизированные роботы-рабы, имитирующие поведение реальных пользователей
  • Настраиваемая популяция роботов, адаптирующаяся к активности пользователей
  • Экономическая система с доходом от ваших рабов
  • Профили пользователей с балансом и статистикой
  • Таблица лидеров с лучшими игроками по количеству рабов и балансу
  • Команды администратора для управления ботом
  • Поддержка нескольких языков (русский и английский)

Поддержка нескольких языков

Бот поддерживает несколько языков, в настоящее время русский и английский. Пользователи могут изменить предпочтительный язык с помощью команды /language или через кнопку языка в главном меню.

Добавление новых языков

Для добавления нового языка:

  1. Создайте новую директорию в slavery-bot-telegram/locales/ с названием кода языка (например, de для немецкого)
  2. Создайте файл messages.json в этой директории со всеми переводами
  3. Добавьте код языка и название в словарь LANGUAGES в файле localization.py

Вы также можете использовать включенный вспомогательный скрипт:

python add_language.py --add <код_языка> <название_языка>

Установка и настройка

  1. Клонируйте репозиторий:
git clone https://github.com/l1v0n1/slavery-bot-telegram.git
cd slavery-bot-telegram
  1. Создайте и активируйте виртуальное окружение:
python -m venv .venv
source .venv/bin/activate  # На Windows: .venv\Scripts\activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Настройте вашего бота:
    • Создайте файл 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
  1. Настройте MongoDB:

    • Убедитесь, что MongoDB установлен и запущен на вашей машине
    • Бот автоматически создаст необходимую базу данных и коллекции
  2. Запустите бота:

python bot.py

Или используйте скрипт запуска с опциями:

python run.py [--reset-robots] [--adjust-robots]

Конфигурация

Файл config.ini содержит важные настройки для бота. Вот что делает каждая настройка:

Секция [main]

  • token: Ваш токен Telegram бота, полученный от BotFather
  • mongourl: URL подключения к MongoDB, включая имя базы данных
  • admin: ID пользователя Telegram администратора, который может получить доступ к командам администратора

Секция [robots]

  • 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: Минимальное количество реальных пользователей, прежде чем роботы начнут удаляться

Секция [ui]

  • buy_slaves_page_size: Количество рабов для отображения на странице в меню покупки рабов
  • slaves_page_size: Количество рабов для отображения на странице в меню моих рабов

Требования

  • Python 3.7+
  • MongoDB
  • aiogram
  • motor
  • aioschedule

Список задач

  • Завершить языковую локализацию для всех сообщений бота
  • Добавить больше тем для интерфейса бота
  • Реализовать систему достижений
  • Создать более продвинутые шаблоны поведения роботов
  • Добавить больше игровых механик для управления рабами
  • Реализовать панель статистики
  • Добавить API для внешних инструментов/интеграций

Лицензия

Этот проект лицензирован под лицензией MIT - см. файл LICENSE для подробностей.

About

Advanced Slavery Game Bot in Telegram

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages