Skip to content

Telegram bot designed for sending reminders (notifications) for taking medications.

License

Notifications You must be signed in to change notification settings

Zirochkaa/medication-notification

Repository files navigation

pytest Coverage Status

Medication notification

TODO Migrate to aiogram v3 using Migration FAQ (2.x -> 3.0) guide.

This repository contains pet project - telegram bot designed for sending reminders (notifications) for taking medications :)

Link to the working telegram bot here - @medication_notification_bot (currently shut down).

Run project locally

  1. Setup and activate your local python environment. Here are few guides on how to do it.

  2. Install requirements:

    pip install -r requirements-ci.txt
  3. Create .env file:

    cp app/.env.template app/.env
  4. Setup MongoDB. You have few options:

    4.1. you can use any already existing MongoDB (in docker, in any cloud provider, etc.):

    1. create new database;
    2. update DATABASE_URL in .env file;

    4.2. you can set up MongoDB locally. For example, you can use this guide or any other guide.

  5. Obtain Telegram Bot Token by creating Telegram Bot. Here (Obtain Your Bot Token section) is a guide on how to do it. Update TELEGRAM_BOT_TOKEN in .env file.

  6. If you want to receive logs notifications (when user takes medication or when new user starts using bot) you need to fill TELEGRAM_CHANNEL_ID in .env file and you will receive logs notifications in telegram private channel. Here is guide on how to obtain telegram private channel id. Update TELEGRAM_CHANNEL_ID in .env file.

  7. This app uses a webhook approach to processing bot updates. In order to do it your localhost has to be put on the internet. You can achieve this by using ngrok. You need to install it and run:

    ./ngrok http 8000

    After running above command you will see something like this:

image

You will need to copy Forwarding part (for example, on the screenshot it will be https://03d2-146-70-181-35.ngrok-free.app) and update APP_BASE_URL in .env file.

  1. It's time to run application:
    uvicorn app.run:app --reload
  2. Go to 127.0.0.1:8000 in your web browser.

Tests

To run tests use following command:

pytest tests/

If you want to check code coverage use following command:

pytest --cov-config=.coveragerc --cov=app tests/

About

Telegram bot designed for sending reminders (notifications) for taking medications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages