# remindee-bot
<img src="https://raw.githubusercontent.com/magnickolas/remindee-bot/master/extra/logo/remindee.svg" width="150">
Telegram bot for managing reminders.
## Quickstart
1. Install [Rust].
2. Setup your bot with [@botfather](https://t.me/botfather).
3. Build crate:
```console
cargo install remindee-bot
```
4. Start the bot:
```console
export BOT_TOKEN=<your bot token>
remindee-bot
```
5. Send `/start` to it
## Features
- You can set reminders with/without some description on today or another date:
- `17:30 go to meeting` (today at 5:30 PM)
- `22.02.2022 02:20:22 palindrome`
- `6:00` (today at 6:00 AM)
- Some fields (day, month, year) can be omited depending on the current time:
- `8:00 wake up` (if set at e.g. 10 PM, the bot'll remind at 8 AM tomorrow)
- `1 0:00 ++month` (the bot'll remind at 12 AM on the first day of the next month)
- Periodic reminders can be set with [crontab-like syntax][cron]:
- `30 7 * * 1-5 go to school` (at 7:30 from Monday to Friday)
- `45 10-19 * * 1-6 break for 15 minutes` (at 10:45, 11:45, ..., 19:45 from Monday to Saturday)
- Supported commands:
| Command | Action |
| --------- | ----------------------- |
| /commands | List supported commands |
| /list | List the set reminders |
| /del | Delete reminders |
| /edit | Change reminders |
| /tz | Select timezone |
| /mytz | Show current timezone |
[rust]: https://doc.rust-lang.org/cargo/getting-started/installation.html
[cron]: https://en.wikipedia.org/wiki/Cron#CRON_expression