[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://stand-with-ukraine.pp.ua) # remindee-bot Telegram bot for managing reminders. ## Installation 0. Setup your bot with [@botfather](https://t.me/botfather). ### Method 1: Rust's package manager 1. Install [Rust]. 2. Install the crate and start the bot: ```console cargo install remindee-bot remindee-bot --token --database ``` Instead of flags you can use environment variables to specify the token and the database location: ```console export BOT_TOKEN= export REMINDEE_DB= # default is to store in the user's data directory remindee-bot ``` ### Method 2: release archive 1. Download the archive for your system architecture from [the latest release page.](https://github.com/magnickolas/remindee-bot/releases/latest) 2. Unpack the archive: - for Linux, you can run `tar xf remindee-bot--.tar.gz`; - for macOS, you can use the default zip extractor or run `unzip remindee-bot--.zip`; - for Windows, you can use the default zip extractor. 3. Navigate to the directory and start the bot: ```console cd remindee-bot-- ./remindee-bot --token --database ``` ### Method 3: Docker container 1. Build the image from this repository: ```console docker build --tag remindee-bot 'https://github.com/magnickolas/remindee-bot.git#master' ``` 2. Initialize and run a container from the built image: ```console docker run -d -v :/data -e BOT_TOKEN= remindee-bot ``` See [Docker's documentation][docker-docs] for more. ### Method 4: from source 1. Install [Rust]. 2. Clone the repository with Git: ```console git clone https://github.com/magnickolas/remindee-bot ``` 3. Build the crate and start the bot: ```console cargo install --path remindee-bot remindee-bot --token --database ``` ## Using bot Send `/start` command to the bot and follow its instructions 🤖. ## Setting reminders The formats descriptions with examples can be viewed at [readthedocs] or [docs/index.rst](/docs/index.rst). You may also find it useful to refer to [the pest grammar playground][pest-grammar-playground] to try out some reminders and see how they are parsed (select `reminder` at the bottom of the list of choices next to the second code block and play with it). [rust]: https://doc.rust-lang.org/cargo/getting-started/installation.html [pest-grammar-playground]: https://pest.rs/?g=N4Ig5gTghgtjURALhAdwM4AIC8mD6wmAOiMaQD5lFEAuJmlJ1E9jI1AdvQL5FccB6AZgC0YzABsAljQCm0CVjEi%2BAT1kI8AVw4zM%2BgznyEAeiVX0AfpgAUZkLKu37UJ3ZItS19yHQkA-ACUQSHBmLwcMAD2HDQAFtq6NIb6uASY9tFu9lxeziR0eT5x2SR%2BIKGV4XyosrIA1ol6KUbp9qilDp2ORfb1neWVwWERACZQqk3JLa2mJKOdrr3mAwHDIdUccVFaEFMzaXMgJcsgUZ1anZ6Y3vaD6%2BubMFIcWnL7hod8hpmdUp25G75XysDIkS6nQpAnw9aF3NZDSp8CLoWQAYxiow%2BBkOYJBp1htxIaM651OgKJIAWp3uiMeYyg72isQSOj0uN%2BpzJcJIFOBUMpJx5%2BLpGwifGZ41Un0wAAEjjBSQDOtThUsgfYLBUHmK%2BDQtLJ0FKcXKjvruqtTqrKerrJqETrNrVRhxDcbcPK8R0CSrlT6ab7Tra8VrRY6IvFdkaJqlTXj4hcrpbhdbgcH7drRZsAGYQKTGk2e%2BzZpOnf5WxZODNZlGM3YFj1HdDBnwC4EQ4XXSmpnzplaZnUjPjoHQF2NFsodyl8nw9lxV-uIzZCUTKNfr5R8Pgr5SYGhSGCyTAAByiL2SbJoSjEfDHje%2BBgA5ABGR8AOjfj4ATI%2BgQBBABlABhABJEC8AAERAgBxECABUHzYABmJxHwABnfT9X0Qsg0ICf9gLAvAADkAHliIALQAUQAJVIyCYPg5EJRieIjHlB99BIZ9UIwj9v0fHCSDwioCNA8CyMo2j6Kg2CEI4CJ1AQcdCEA8SGLk4AABZuE2Phtl2GYWnvDhDBIL9eMwx8kME0yGEwdCrNfMSiNkpi7MoNTXMY%2BSImeV53iiPZUQxDhRlmBy%2BM-ABWX9rC88C3Lg%2ByEo0%2BCnheN4jyMlTMH8rK8CCvAQsxTYSrCnLcvywLgvRUrxQ4WoGndYxOLyzEJhw-U3U6jzMGdV1owsPrIwgIacNzfNev0Shm31CApRwkcwt6iIdw3DbNpvfh1pETA4i0eAOBECANHGAAjCQjxHMBlM3XRYnkAA3KAJDwUYpCeqR0CKuIIGPU7sykAAPCKbBIARQXsWQnvkLVAiBDAACpNn3Q93s%2B77fv%2BwGQZSXFwZASGKDxGG4ZIBHrGR1GD1kPA-oB2QgdByrYzaEhGXwqn0BRiIMR0GhRiiVAOHpnGmbxg5jDTbM5GuSh7BeUESAAagp-xEZ5p06nqKV0Axr6fr2BncdBgmIahkgyYgLV7PsGIKc13nh2PaQaDl1mpfSEhABQCZWQBvEmSBUUg1uELaI62rdBHD8Rz2e17VxUB65ZeiRPZlAASYA2vjiA07wDEYFPV1YjVhS%2BDzgui5L2RYmM1q7P0KvXsLqJi5iOuaDwJSxpwlu3przvYjwZl4j8PqB7bjvS%2B7pr6gnmbMCnofZ-eiZF-slf29rkeDL7yfHvz1vV670fMrkTfKG3mez-K0YJ4jWm8AH1ncGztq0bpm-d5ocun-Rj-YeyQvhN2XkfauO9gH0x2AfJeQC17VUNP3CBJ8oFr3vo-W8jJv6oPTpVd%2BOcwHjHeAgru-9sGkLwdPX%2Bsxc7UNPiPXuV9MAkNwanNBt8R5jziCwshI9558IYegs%2BetmL8H4d3ZhXtCBT2kdYXu%2BwIiSNHqxXhDd0hTx4VgawPClGV2EVwueOssAaNkdQwRiMdb6JTgnQeIiR56yMriKeTjrBShsSo-epj8bSynt4oE%2B9PGGN-ufAKhpfGaOoUgnReUL500vJsFRmDInmI4W9FJ1h742LYS-EJ0DtERS0Wo2JuS9GJIalPNOBpCyqUIhJci1E6JpWSvFepLTna2OPm9aRuUqmvRqco6JJS%2BnUOqUeIZ6S8CWNGVM8ZSTqFONqeAuZAyJkGKmQE2Zdi8DzMmTsmJ7E0k7L2RsnZKTGwrJOWs5csdI73W3Hc1hODMBQAql-TA2YgrwCvEnR5ry0RolkMeZI50ohsV7gIHhAhjRvPClKN8PC3y90%2Bd8xkE82F0LATYGwKLrAWxAGEXRaigQEqJc86U1gABkNh0CuxkB7NgxN7IYECDhY03gSBvicDw6EXKnC93WOIj5oDDD7z5cgHl8SJVICcPfIVFcY5J3uSq5O-zdyYrhXuWmrDMZG2vMnXJH1DZBSxYYVxersaM2ZkCXJA8cLzz1gbLGxtxY2qpjrJ10AOBgGQYqr%2BzqjZmoMAG41LqxbWrxtYAN9rFW7VVSq6Ou1nlyFee8nV3rfUGsoXTXM7cG7ZxTesla7wBZSHwSaQtmKGSXzwKec8WdCDVpzfrTN2VYwf2ITgwNQV2XdrzTADWWT6Xu3kLa7tZaJBDtsNTdx3aw1G2CH294A6nbjveAu3tiq2H62PIyOWdlRUGB3XgNty7DR1rPLEcRJ692jogBwLAR79C3v3fIUynKQAABonCvvvRwQISNxF6mfquxt2rDw03RpO8DHyAF03rfXSthA4MgfRm2xtn9n6bpYCNUDEB27TrpW7D20bn6TunbOiDdMcNdXw-m7mKMyPo1o-65%2Bd6D1syIYYANZ68Po0Q3QNjAm30PqfY3Hjz8TYS1BsxhDomP22BID%2BvIAaOPvsA8BxqnqJh4DAx2wgjqYwRCM5MGgUQC2GZ09KEz1nW1vN9QZtqpm9MEZgBKkOVjmq6fM0uxVpn7M%2Boic%2B-qdnT0OaPJ%2BlTXndYb3C0FzTca7kJojkmp5p1-KjDHepsTfylU0owPZKipEQIIwkFEKIC9XlxDOnuCzHBwV5UZGiEoSqpDZj3DV06rzusNcwHSqAQKsDnVkDQJqplTpol2KdDgQK03wsNGiPMIKpAOw4JN6bdc5uWban%2Bg9sSMAqyBGphTsSCtYEoMV0rdGRP-rOzYQrl2StssVfzWIQsRaFVdDKAgbU3uC2FqLaT7qrndPEf9j7YDMNgIh4Dr7kWlPfqcLDz7ndANAnO0V574iMsvCy3sHLpkQsbYgDNoFOEUf8DDsqlL640tJ1YYt5b%2B4Yh5ZXD8lrmAGvHVkMXGg0pUQAEcDSzaPFEDrqAgoP3%2BTBmg0By0vDAP1OIMhDR7rm0LkXc2bCyGBmiCQWh0CfVkC9rL6AltSBWzEaZUuwYAEJCvxWIgATUCEdsYTPLcs6h0cxn5vmerdFpLha0IqNm4t1boPUv0fU9p9tPguOwpjsIW1ACJW13WET-jutCmM9%2B4j97yjWtrBXfEd%2BkALxjxvGQCAAAHEgNCaF%2BpQHqEeLQx5MBIECCAbgQA#editor [readthedocs]: https://remindee-bot.readthedocs.io/en/latest/ [docker-docs]: https://docs.docker.com/