Skip to content

IvanDrf/password-bot

Repository files navigation

image Password Telegram Bot

Telegram bot that allows you to generate, manage, associate passwords and save your associations. Passwords are stored in the database in encrypted form


Commands

Tip

/start - start bot

/help - display the list of available commands

/generate - start generating a new password

/associate - associate word with your password

/change - change password to your association

/del - delete your association

/del_all - delete all your associations

/my - print your associations


How it works?

Generate and Associate

Screenshot from 2025-10-11 23-44-10

Change Association

image

Delete Association

image

Used Technologies

  • Python
    • aiogram 3.22
    • pytest
    • aiosqlite
    • cryptography
  • SQLite

Architecture

Bot is written using a clean architecture

  • Handlers
  • Commands and Messages
  • Repo
architecture

Structure

Tree of Dirs/Files
├── app
│   ├── app.py
│   ├── commands
│   │   ├── association
│   │   │   ├── adder.py
│   │   │   ├── association.py
│   │   │   ├── changer.py
│   │   │   ├── deleter.py
│   │   │   ├── __init__.py
│   │   │   └── printer.py
│   │   ├── commands.py
│   │   ├── default
│   │   │   ├── helper.py
│   │   │   ├── __init__.py
│   │   │   └── starter.py
│   │   ├── __init__.py
│   │   └── password
│   │       ├── __init__.py
│   │       └── password.py
│   ├── errors
│   │   ├── errors.py
│   │   └── __init__.py
│   ├── handlers
│   │   ├── association
│   │   │   ├── adder.py
│   │   │   ├── association.py
│   │   │   ├── changer.py
│   │   │   ├── deleter.py
│   │   │   ├── __init__.py
│   │   │   └── printer.py
│   │   ├── default
│   │   │   ├── help.py
│   │   │   ├── __init__.py
│   │   │   └── start.py
│   │   ├── handler.py
│   │   ├── __init__.py
│   │   ├── message
│   │   │   ├── __init__.py
│   │   │   └── message.py
│   │   ├── password
│   │   │   ├── __init__.py
│   │   │   └── password.py
│   │   └── registrator
│   │       ├── association
│   │       │   ├── adder.py
│   │       │   ├── association.py
│   │       │   ├── changer.py
│   │       │   ├── deleter.py
│   │       │   ├── __init__.py
│   │       │   └── printer.py
│   │       ├── default
│   │       │   ├── default.py
│   │       │   └── __init__.py
│   │       ├── __init__.py
│   │       ├── message
│   │       │   ├── __init__.py
│   │       │   └── message.py
│   │       ├── password
│   │       │   ├── __init__.py
│   │       │   └── password.py
│   │       └── registrator.py
│   ├── __init__.py
│   ├── message
│   │   ├── __init__.py
│   │   └── message.py
│   ├── password
│   │   ├── generator.py
│   │   └── __init__.py
│   ├── repo
│   │   ├── __init__.py
│   │   ├── query
│   │   │   ├── common
│   │   │   │   ├── common.py
│   │   │   │   └── __init__.py
│   │   │   ├── __init__.py
│   │   │   ├── password
│   │   │   │   ├── __init__.py
│   │   │   │   └── password.py
│   │   │   └── user
│   │   │       ├── __init__.py
│   │   │       └── user.py
│   │   ├── repo.py
│   │   └── tables.py
│   └── state
│       ├── __init__.py
│       └── state.py
├── config
│   ├── config.py
│   └── __init__.py
├── Dockerfile
├── LICENSE
├── logger
│   ├── __init__.py
│   └── logger.py
├── main.py
├── migrations
│   ├── 1_create_tables.up.sql
│   ├── 1_drop_tables.down.sql
│   ├── __init__.py
│   └── migrator.py
├── passwords.db
├── README.md
├── requirements.txt
├── test.db
├── tests
│   ├── converter
│   │   ├── fixture.py
│   │   ├── __init__.py
│   │   └── test_converter.py
│   ├── encrypter
│   │   ├── fixture.py
│   │   ├── __init__.py
│   │   └── test_encrypter.py
│   ├── generator
│   │   ├── fixture.py
│   │   ├── __init__.py
│   │   └── test_generator.py
│   ├── __init__.py
│   ├── parser
│   │   ├── fixture.py
│   │   ├── __init__.py
│   │   └── test_parser.py
│   ├── repo
│   │   ├── fixture.py
│   │   ├── __init__.py
│   │   └── test_repo.py
│   └── respondent
│       ├── fixture.py
│       ├── __init__.py
│       └── test_respondent.py
└── utils
    ├── converter.py
    ├── encrypter.py
    ├── __init__.py
    ├── parser.py
    └── respondent.py

About

Telegram bot that allows you to generate, manage, and associate passwords

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages