telepingbot/README.md
Awiteb 2fc7e8274e
All checks were successful
Write changelog / write-changelog (push) Successful in 24s
Rust CI / Rust CI (push) Successful in 3m23s
chore: Update README.md
Signed-off-by: Awiteb <a@4rs.nl>
2024-05-31 19:06:27 +03:00

64 lines
1.8 KiB
Markdown

<div align="center"
# TelePingBot
A simple API to ping telegram bots and returns if it's online or not. using superbot to send message to the bots (mtproto).
[![Forgejo CI Status](https://git.4rs.nl/awiteb/telepingbot/badges/workflows/ci.yml/badge.svg)](https://git.4rs.nl/awiteb/telepingbot)
[![Forgejo CD Status](https://git.4rs.nl/awiteb/telepingbot/badges/workflows/cd.yml/badge.svg)](https://git.4rs.nl/awiteb/telepingbot)
[![agplv3-or-later](https://www.gnu.org/graphics/agplv3-88x31.png)](https://www.gnu.org/licenses/agpl-3.0.html)
</div>
## Why is simple?
Add your API tokens (`Authorization` header) and your bot usernames in the `config.toml` file, and you're ready to go.
> [!NOTE]
> Check out the `config.toml.example` file to see how to fill the `config.toml` file.
> [!WARNING]
> Remember to keep the `config.toml` file safe, because anyone can use it to ping your bots.
## CLI Arguments
- `--config`: The path to the config file. (default: `config.toml`)
## Requirements
- Rust (MSRV 1.75.0)
- Cargo
## Build
```bash
cargo build --release
```
## Run
```bash
cargo run --release
```
Or just run the binary file in `target/release/telepingbot`
## Endpoints
### `/ping/@<bot_username>`
This endpoint is to ping the bot and returns if it's online or not.
#### Headers
- `Authorization`: The API access token. e.g: `Authorization: FirstToken`
#### Response
- `200`: The bot is online.
- `404`: The bot is offline.
- `401`: The API access token is invalid.
- `500`: Internal server error. e.g: The bot username is invalid or the superbot can't send message to the bot.
#### Example
> [!NOTE]
>
> Replace `FirstToken` with your API access token and `@testbot` with your bot username
> and the host and port with your host and port.
```bash
curl -v 0.0.0.0:3939/ping/@testbot -H "Authorization: FirstToken"
```