aiogram-news-bot — это асинхронный Telegram-бот на Python, который автоматически собирает, переводит и отправляет свежие новости пользователям на разных языках (из списка).
Проект построен на базе асинхронного фреймворка для создания Telegram-ботов: aiogram 3.20.0.post0, использует ORM Peewee для работы с базой данных и выполняет автоматический перевод новостей, сохраняет их в базу данных.
- Получение свежих новостей из RapidAPI.
- Автоматический перевод новостей на разные языки. Используется пакет: deep_translator.
- Поиск новостей по ключевым словам.
- Поддержка нескольких языков (русский, английский, испанский, французский, немецкий, португальский, арабский)
- Хранение новостей в базе данных SQLite (Peewee ORM)
- Асинхронная фреймворк Telegram-бота: aiogram 3.20.0.post0.
- ├── db_peewee/
- Модели и работа с базами данных, хранение баз данных.
- ├── telegram_bot/
- Логика Telegram-бота хендлеры, роутеры, клавиатуры, хранилище состояния (FSM) промежуточные функции.
- ├── utils/
- Утилиты: логирование, перевод, языковая шаблонизация, сортировка данных, планировщик задач и декораторы.
- ├── main.py
- Точка входа — запуск бота
- ├── requirements.txt
- Зависимости проекта
- ├── readme.md
- Описание проекта и инструкции
-
Создайте виртуальное окружение и установите зависимости:
python -m venv venv source venv/bin/activate pip install -r requirements.txt -
Создайте файл .env в корневой папке проекта и укажите в нем необходимые переменные (пример ниже):
TOKEN=Telegram bot token ADMINS=Telegram ID
RAPID_KEY=Api key proxy = 'user:password@ip:port' если необходимо для работы с API.
- Запустите бота:
python main.py
П.С. Структура проекта вдохновлена статьей: "Telegram Боты на Aiogram 3.x: Первые Шаги" автор: amvera(https://habr.com/ru/companies/amvera/articles/820527/).