Code Monkey home page Code Monkey logo

realestatetelegrambot's Introduction

Setup

docker build --tag telegram_realty_base -f Docker/Dockerfiles/Dockerfile .
cp config.py.example config.py

Start

docker-compose up -d rabbit && sleep 10 && docker-compose up --build main

Description

parser

  • Listens to events from several input queues (check_url_req, parse_url_req, parse_all_moscow_req).
  • Parses CIAN on events from those queues and sends result to corresponding output queues (check_url_ans, parse_url_ans, parse_all_moscow_ans).

all_moscow

  • For every link in config.links_to_parse sends parse requests to parse_all_moscow_req and gets response from parse_all_moscow_ans.
    Message: {'url': str, 'time': int}.
  • Sends events to new_offers_queue. For each user it filters links they need and sends new offers via this queue.
    Message: {'uid': int, 'offers': List[int]}.

updates_manager

  • For every link in config.links_to_parse sends parse requests to parse_url_req and gets response from parse_url_ans.
    Takes into account only flats that were added in last 2 hours (config.cian_min_timeout). Message: {'url': str, 'time': int}.
  • Sends events to new_offers_queue. For each user it filters links they need and sends new offers via this queue.
    Message: {'uid': int, 'offers': List[int]}.

main

  • Processes Telegram events via State machine.
  • For every link from user sends check url requests to check_url_req and gets response from check_url_ans.
    msg_id: {'uid': int, 'url': str, 'tag': str}, request: {'url': str}
  • Listens to new_offers queue.

realestatetelegrambot's People

Contributors

peterzhizhin avatar rayman1104 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.