Readme in different languages: EN RU
Telegram bot-service for generating cryptographically secure passwords/tokens and other sets and sequences.
Name of the working bot: @easy_passgen_bot
Link to the working bot: @easy_passgen_bot
The service can serve multiple generator bots with corresponding telegram tokens, names, etc.
Work with Telegram is implemented using the "teloxide" library.
A separate process is automatically created for each bot, listening on its own port according to the configuration settings.
The main service configuration settings must be in the same directory as the service startup file in .env.
Work with .env files is implemented using the "env-file-reader" library. An example .env file in the "examples" directory of this repository.
Passwords are generated with the help of our own library "passgen-lib".
The "sqlx" library is used to store conditions for generating user passwords, context information for working with bots and information for statistics
DB storage configured for Postgres databases.
For the collection and display of statistics about the bot's work, a web-based statistics service is implemented with the help of the "axum" library.
The statistics web service is automatically started in a separate process and is available via links in the bot interface to users specified in .env. The web service settings are also set in the .env.
The "log4rs" library is used to provide logging and output information about the processes of services operation. Logging and output are configured in .env.
This project was also created with the purpose of studying the capabilities of the 🦀Rust language. Therefore, some solutions in the code are not optimal.