Skip to content

franjsco/trackmyd-bot

Repository files navigation

Welcome to trackmyd-bot 🗺️

Maintenance License: GPL--3.0--or--later Twitter: franjsco

A telegram bot to track your devices.

trackmyd screenshot

Install

Steps:

  1. Install Node.js and npm.
  2. Clone this repository.
  3. Install dependencies with npm install.
  4. Create a new bot with @BotFather on Telegram.
  5. Enter the token generated by BotFather in (app.token) into config.json.
  6. Enter your Telegram ID in (app.authorizedUsers) into config.json.
  7. Configure Basic Authentication in (app.api.headers) into config.json.
  8. Configure API endpoint(*).

Architecture

(*) trackmyd-bot uses the trackmyd-api project APIs to get device locations.

To configure the server API, refer to the trackmyd-api repository.

In order to use trackmyd-bot, in addiction to the configuration of the trackmyd-api, it’s also necessary to configure GPSLogger.

Usage

Start server:

npm run start

Steps

Before requesting the position to the bot you need to add a new device and configure it.

  1. Add a new device (on Bot).

    Send the /add command to the bot. You will be prompted to add the device name.

  2. Configure GPSLogger (on Android).

    Once confirmed the device name, the bot will return 3 messages:

    • URL (full-path including the device ID)
    • HEADER (HTTP header, used for authentication to APIs)
    • BODY (HTTP body with the parameters that will be automatically evaluated by GPSLogger).

    Take the values ​​and insert them in the GPSLogger app under "Logging details > Log to custom URL" specifying HTTP Method = 'PATCH'.

    Then press "Start Logging" on GPSLogger.

  3. Request the position (on Bot)

    Send the /position command to the bot and select the device. If the device (with GPSLogger) has sent the information to the API, 2 messages will be returned (one with the location on the map, and one with additional information).

Author

👤 franjsco (Francesco Esposito)

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2020 franjsco (Francesco Esposito).
This project is GPL--3.0--or--later licensed.


This README was generated with ❤️ by readme-md-generator