trackmyd-bot/README.md

66 lines
2.2 KiB
Markdown
Raw Normal View History

2019-03-04 16:40:53 +01:00
# trackmyd-bot
2019-03-04 17:15:58 +01:00
A telegram bot to track your devices.
2019-03-04 16:40:53 +01:00
2019-03-04 17:03:00 +01:00
<img src="screenshot.png" height="400">
2019-03-04 17:15:58 +01:00
This bot is written in Node.js
2019-03-04 16:40:53 +01:00
## Architecture
2020-03-01 23:30:43 +01:00
**trackmyd-bot** uses the [**trackmyd-api**](https://github.com/franjsco/trackmyd-api) project APIs to get device locations.
2019-03-04 16:40:53 +01:00
2020-03-01 23:30:43 +01:00
To configure the server, refer to the [**trackmyd-api**](https://github.com/franjsco/trackmyd-api) repository.
2019-03-04 16:40:53 +01:00
In order to use trackmyd-bot, in addiction to the configuration of the trackmyd-api, its also necessary to configure [**GPSLogger**](https://github.com/mendhak/gpslogger), an open-source application that allows sending location through HTTP calls.
<img src="architecture.png" height="150">
## Usage
Before requesting the position to the bot you need to add a new device and configure it.
1. **Add a new device.**
2019-03-05 16:04:38 +01:00
Send the `/add` command to the bot. You will be prompted to add the device name.
2019-03-04 16:40:53 +01:00
2. **Configure GPSLogger on Android.**
2019-03-04 17:08:13 +01:00
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).
2019-03-04 16:40:53 +01:00
2019-03-05 16:04:38 +01:00
Take the values and insert them in the GPSLogger app under "Logging details > Log to custom URL" specifying HTTP Method = 'PATCH'.
2019-03-04 16:40:53 +01:00
2019-03-05 16:04:38 +01:00
Then press "Start Logging" on GPSLogger.
2019-03-04 16:40:53 +01:00
3. **Request the position at the 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).
## Installation
### Step by step
1. Install **NodeJS** 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. Start with `npm start`.
2019-03-05 17:02:57 +01:00
### License
2019-03-04 16:40:53 +01:00
2019-03-05 17:02:57 +01:00
GPLv3
---
2020-03-01 23:30:43 +01:00
Made with ❤️ by Francesco Esposito ([@franjsco](https://github.com/franjsco))