Skip to content

Latest commit

 

History

History
88 lines (67 loc) · 3.16 KB

File metadata and controls

88 lines (67 loc) · 3.16 KB

MyDigest

A news aggregator bot that provides users with personalized, concise daily digests from selected Telegram channels. The service focuses on delivering relevant news content through advanced recommendation systems, offering a minimalistic and ad-free user experience with the option to navigate to the original source.

Features

  • 📰 Aggregate news from multiple Telegram channels
  • 🛠️ Create and manage custom digests.
  • 📬 Schedule digests to be sent at specific times.
  • 🔎 Search news by keywords or categories.
  • 📊 Store and analyze user preferences for personalized recommendations.

Get started

  1. Clone the Repository:

    git clone https://github.com/SimulatorML/MyDigest
    cd MyDigest
  2. Setup with Makefile (recommended):

    make setup
    source mydigest/bin/activate # On Windows use: mydigest\Scripts\activate
    make run
  3. Or manual setup with venv:

    python -m venv venv
    source venv/bin/activate  # On Windows use: venv\Scripts\activate
    pip install -r requirements.txt
    python -m src.bot

Development

Adding a New Feature

  1. Create a new branch:
    git checkout -b username/feature-name
  2. Implement your changes in the appropriate module.
  3. Puch to origin
    git push origin username/feature-name
  4. Submit a merge request for review.

Docker run

  1. Create an .env file with environment variables in the root of the repository using the .env.sample template.
  2. Create a dev_scripts/docker_build.sh file using the dev_scripts/sample.docker_build.sh template.
  3. Create a dev_scripts/docker_run.sh file using the dev_scripts/sample.docker_run.sh template.
  1. Run the build command
    sh ./dev_scripts/docker_build.sh
  2. Run the docker launch command
    sh ./dev_scripts/docker_run.sh
  3. Use the deployed Bot

Project structure

  1. data - данные для работы с ботом
  2. dev_scripts - скрипты для локальной cборки и запуска сервиса в докер контейнере
  3. notebooks - jupyter notebooks для экспериментов/тестов/примеров
  4. src - код проекта
  5. test - тесты

Project media files

Google drive: https://drive.google.com/drive/folders/1c7mW2ya2pvmrnQ8miRANl7E_TuIiYxuP?usp=share_link

The main tools used in the project

Python Aiogram Pylint

MistralAI Supabase

Pandas