A Telegram translator bot that uses X.AI API to translate between any languages.
- 🌐 Universal translation between 18+ languages
- 🏳️ Flag emojis for easy language identification
- 🔄 Two-step language selection flow (source and target)
- 🎛️ Easy language selection via inline buttons
- 📝 Handles up to 2000 characters per request
- ⚡ Error handling for API failures
- 🌍 Multilingual user interface (Arabic/English)
- 🗄️ MongoDB integration for user data storage
- 📊 Admin statistics
- 🔐 Subscription requirement system
NinjaTranslate/
├── bot/
│ ├── __init__.py
│ ├── bot.py # Main bot module with polling
│ ├── db.py # Database operations
│ ├── handlers.py # Message handlers
│ ├── keyboards.py # Telegram keyboards
│ ├── localization.py # UI translations
│ └── translations.py # Translation service
├── config.py # Configuration
├── main.py # Entry point (polling mode)
├── .env-example # Example env file
├── requirements.txt # Dependencies
└── README.md # This file
- Clone this repository
- Create a
.envfile with your tokens:BOT_TOKEN=your_telegram_bot_token_here XAI_API_KEY=your_xai_api_key_here MONGO_URI=mongodb://localhost:27017 MONGO_DB=ninja_translate_bot CHANNEL_ID_1=@your_first_channel CHANNEL_ID_2=@your_second_channel ADMIN_IDS=123456789,987654321
- Install dependencies:
pip install -r requirements.txt
- Run the bot:
python main.py
- Start a chat with your bot on Telegram
- Subscribe to the required channels
- Send
/startto begin translation - Select the source language
- Select the target language
- Send any text (up to 2000 characters) to translate
/start- Start the bot and display source language selection/translateor/tr- Start a new translation/languageor/lang- Change the interface language/stats- View bot usage statistics (admin only)
🇬🇧 English • 🇸🇦 Arabic • 🇪🇸 Spanish • 🇫🇷 French • 🇩🇪 German • 🇨🇳 Chinese • 🇷🇺 Russian • 🇵🇹 Portuguese • 🇯🇵 Japanese • 🇮🇹 Italian • 🇰🇷 Korean • 🇹🇷 Turkish • 🇳🇱 Dutch • 🇸🇪 Swedish • 🇵🇱 Polish • 🇻🇳 Vietnamese • 🇮🇳 Hindi • 🇺🇦 Ukrainian
Телеграм-бот для перевода, использующий API X.AI для перевода между любыми языками.
- 🌐 Универсальный перевод между 18+ языками
- 🏳️ Эмодзи с флагами для легкой идентификации языков
- 🔄 Двухэтапный процесс выбора языка (исходный и целевой)
- 🎛️ Простой выбор языков через встроенные кнопки
- 📝 Обрабатывает до 2000 символов за запрос
- ⚡ Обработка ошибок API
- 🌍 Многоязычный пользовательский интерфейс
- 🗄️ Интеграция с MongoDB для хранения данных
- 📊 Статистика для администраторов
- 🔐 Система обязательной подписки
NinjaTranslate/
├── bot/
│ ├── __init__.py
│ ├── bot.py # Главный модуль бота (polling режим)
│ ├── db.py # Операции с базой данных
│ ├── handlers.py # Обработчики сообщений
│ ├── keyboards.py # Клавиатуры Telegram
│ ├── localization.py # Переводы интерфейса
│ └── translations.py # Сервис перевода
├── config.py # Конфигурация
├── main.py # Точка входа (polling режим)
├── .env-example # Пример env-файла
├── requirements.txt # Зависимости
└── README.md # Этот файл
- Клонируйте этот репозиторий
- Создайте файл
.envс вашими токенами:BOT_TOKEN=your_telegram_bot_token_here XAI_API_KEY=your_xai_api_key_here MONGO_URI=mongodb://localhost:27017 MONGO_DB=ninja_translate_bot CHANNEL_ID_1=@your_first_channel CHANNEL_ID_2=@your_second_channel ADMIN_IDS=123456789,987654321
- Установите зависимости:
pip install -r requirements.txt
- Запустите бота:
python main.py
- Начните чат с вашим ботом в Telegram
- Подпишитесь на требуемые каналы
- Отправьте
/start, чтобы начать перевод - Выберите исходный язык
- Выберите целевой язык
- Отправьте любой текст (до 2000 символов) для перевода
/start- Запустить бота и отобразить выбор исходного языка/translateили/tr- Начать новый перевод/languageили/lang- Изменить язык интерфейса/stats- Просмотреть статистику (только для администраторов)
🇬🇧 Английский • 🇸🇦 Арабский • 🇪🇸 Испанский • 🇫🇷 Французский • 🇩🇪 Немецкий • 🇨🇳 Китайский • 🇷🇺 Русский • 🇵🇹 Португальский • 🇯🇵 Японский • 🇮🇹 Итальянский • 🇰🇷 Корейский • 🇹🇷 Турецкий • 🇳🇱 Нидерландский • 🇸🇪 Шведский • 🇵🇱 Польский • 🇻🇳 Вьетнамский • 🇮🇳 Хинди • 🇺🇦 Украинский
Телеграм-бот для перекладу, що використовує API X.AI для перекладу між будь-якими мовами.
- 🌐 Universal переклад між 18+ мовами
- 🏳️ Емодзі з прапорами для легкої ідентифікації мов
- 🔄 Двоетапний процес вибору мови (вихідна та цільова)
- 🎛️ Простий вибір мов через вбудовані кнопки
- 📝 Обробляє до 2000 символів за запит
- ⚡ Обробка помилок API
- 🌍 Багатомовний інтерфейс користувача
- 🗄️ Інтеграція з MongoDB для зберігання даних
- 📊 Статистика для адміністраторів
- 🔐 Система обов'язкової підписки
NinjaTranslate/
├── bot/
│ ├── __init__.py
│ ├── bot.py # Головний модуль бота (polling режим)
│ ├── db.py # Операції з базою даних
│ ├── handlers.py # Обробники повідомлень
│ ├── keyboards.py # Клавіатури Telegram
│ ├── localization.py # Переклади інтерфейсу
│ └── translations.py # Сервіс перекладу
├── config.py # Конфігурація
├── main.py # Точка входу (polling режим)
├── .env-example # Приклад env-файлу
├── requirements.txt # Залежності
└── README.md # Цей файл
- Клонуйте цей репозиторій
- Створіть файл
.envз вашими токенами:BOT_TOKEN=your_telegram_bot_token_here XAI_API_KEY=your_xai_api_key_here MONGO_URI=mongodb://localhost:27017 MONGO_DB=ninja_translate_bot CHANNEL_ID_1=@your_first_channel CHANNEL_ID_2=@your_second_channel ADMIN_IDS=123456789,987654321
- Встановіть залежності:
pip install -r requirements.txt
- Запустіть бота:
python main.py
- Почніть чат зі своїм ботом у Telegram
- Підпишіться на необхідні канали
- Надішліть
/start, щоб почати переклад - Виберіть вихідну мову
- Виберіть цільову мову
- Надішліть будь-який текст (до 2000 символів) для перекладу
/start- Запустити бота та відобразити вибір вихідної мови/translateабо/tr- Почати новий переклад/languageабо/lang- Змінити мову інтерфейсу/stats- Переглянути статистику (тільки для адміністраторів)
🇬🇧 Англійська • 🇸🇦 Арабська • 🇪🇸 Іспанська • 🇫🇷 Французька • 🇩🇪 Німецька • 🇨🇳 Китайська • 🇷🇺 Російська • 🇵🇹 Португальська • 🇯🇵 Японська • 🇮🇹 Італійська • 🇰🇷 Корейська • 🇹🇷 Турецька • 🇳🇱 Нідерландська • 🇸🇪 Шведська • 🇵🇱 Польська • 🇻🇳 В'єтнамська • 🇮🇳 Хінді • 🇺🇦 Українська