Skip to main content

A telegram bot to generate OTPs

Project description

License: MIT PyPI version Gitlab pipeline status Python code style

Yet Another OTP Bot

A Telegram Bot to generate OTPs.

@yaotpbot

Architecture

Architecture of bot

Software

Yaotpbot is written in Python and use telegram-bot-api to interact with Telegram.

Infrastructure

A DynamoDB table it's used to store the identifiers of the chats and all the related seeds, needed to generate OTPs. All those information are stored encrypted and just decrpyted at runtime, using dynamodb-encryption-sdk library with AES encryption.

Deployment

CI/CD is automated with GitOps. in particular:

  • The pipeline
  • The operator deploys and keep synced the manifests created on a local k3s cluster.

Installation and usage

The bot can either be used as a container (registry) or installed directly with pip running

pip3 install --upgrade yaotpbot 

Note that following environment variables must be set:

Name Description
TELEGRAM_API_TOKEN Telegram Api Token of your bot needed to interact with Telegram. You always get a new one when creating a new bot.
DYNAMO_DB_ENDPOINT A custom DynamoDB endpoint when not using AWS. By default the bot looks for a table called yaotpbot-table using the credentials provided.
DYNAMO_AES_SIGN_KEY Key used to sign encrypted data stored on DynamoDB. Can be generated running python scrips/keys.py
DYNAMO_AES_ENCRYPTION_KEY Key used to encrypt data stored on DynamoDB. Can be generated running python scrips/keys.py
AWS_ACCESS_KEY_ID AWS access key id. Used with AWS_SECRET_ACCESS_KEY to interact with DynamoDB.
AWS_SECRET_ACCESS_KEY AWS secret access key. Used with AWS_ACCESS_KEY_ID to interact with DynamoDB.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yaotpbot-0.0.8.tar.gz (52.2 kB view details)

Uploaded Source

Built Distribution

yaotpbot-0.0.8-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file yaotpbot-0.0.8.tar.gz.

File metadata

  • Download URL: yaotpbot-0.0.8.tar.gz
  • Upload date:
  • Size: 52.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for yaotpbot-0.0.8.tar.gz
Algorithm Hash digest
SHA256 fb0093b41e62731ef964b5bc76fb1cd3fe86951354256b4ec7be32c7b0e91505
MD5 b1ed9f8edd1b4fd26e17d2180414cae3
BLAKE2b-256 4fe4db5775cdc7645d9e3559b59c74636e49e01c99a48561eb8a03c7abbcb2dc

See more details on using hashes here.

File details

Details for the file yaotpbot-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: yaotpbot-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for yaotpbot-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 c412307f3cc5c3cfe43213963890ac2d28d99ee602667fa58510c4291dae18a8
MD5 d991a7c8ce30fc53206b8047b939b9c1
BLAKE2b-256 6a087fb5f8ccc272c4427a9fa9d7e7d98bea5638c655b7fb3f02b961500c647d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page