Skip to main content

An easy-to-use utility toolbelt for Discord bots written in Python.

Project description

Botstrap: Logo (Link to Website)

Botstrap

Development Status Botstrap: Latest Version Supported Python Versions
CodeQL Workflow Read the Docs Tests Workflow
CodeFactor: Code Quality Codacy: Code Quality Codecov: Test Coverage

An easy-to-use utility toolbelt for Discord bots written in Python.
Read the docs »

Overview

Do you store your Discord bot token in plaintext? Don't get caught with your pants down. Strap in!

Botstrap is a Python library suit of power armor that perfectly fits your Discord bot. It offers:

  • 🔐 Secure encryption and password protection to keep your bot tokens safe
  • 🤹 A straightforward way to manage multiple tokens and/or bot configurations
  • 🌈 An intuitive, colorful, and customizable command-line interface for your bot
  • 🤝 Out-of-the-box compatibility with all of the most popular Python Discord libraries
  • ... and more to come!

Installation

Python 3.10 or higher is required. It's also generally a good idea to upgrade pip (python -m pip install -U pip).

pip install -U botstrap

For additional/alternative installation instructions, see the documentation.

Quickstart

Coming soon! In the meantime, check out:

Git Hooks

Adding one or both of Botstrap's pre-commit hooks to your git workflow is an easy and seamless way to improve the security of your codebase. (If you're unfamiliar with pre-commit, here's its quickstart guide. Highly recommend!)

See below for descriptions of the available hooks, and add the one(s) you like to your .pre-commit-config.yaml:

- repo: https://github.com/nuztalgia/botstrap
  rev: 0.2.9
  hooks:
    - id: detect-discord-bot-tokens
    - id: detect-encrypted-tokens

🕵️ detect-discord-bot-tokens

This hook checks the contents of your added/changed files every time you git commit, and raises an error if it finds any unencrypted bot tokens. It won't catch any plaintext tokens that you've .gitignore-d or already committed, but it will prevent you from accidentally committing new ones.

Note: This hook is especially useful for bots whose tokens aren't secured by the main Botstrap library - including bots written in languages other than Python!

💂 detect-encrypted-tokens

Although it isn't quite as dangerous to commit your encrypted bot tokens, doing so is still very much a security risk. This hook prevents that from happening by raising an error if you try to git commit a file whose name matches the pattern used by Botstrap's encrypted token files. (Hint: Keep this hook happy by adding *.key to your .gitignore.)

Badges

Let everyone know your Discord bot is secure by adding a badge to your repository's README.md:

Botstrap: On Botstrap: Enabled Tokens: Encrypted Tokens: Secure Botstrap

[![Botstrap](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnuztalgia%2Fbotstrap%2Fmain%2F.github%2Fbadges%2Fbotstrap-on.json)](https://github.com/nuztalgia/botstrap)

You can replace botstrap-on in the above snippet with the text on one of the other badges (e.g. tokens-secure).

For more granular customization options, check out the available style parameters on shields.io.

License

Copyright © 2022 Nuztalgia. Released under the Apache License, Version 2.0.

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

botstrap-0.2.9.tar.gz (306.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

botstrap-0.2.9-py3-none-any.whl (64.8 kB view details)

Uploaded Python 3

File details

Details for the file botstrap-0.2.9.tar.gz.

File metadata

  • Download URL: botstrap-0.2.9.tar.gz
  • Upload date:
  • Size: 306.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for botstrap-0.2.9.tar.gz
Algorithm Hash digest
SHA256 0b7f2ecd4840c89a93f84faa217810e9ad9f6543aecf36989185bd05984c9b4f
MD5 ecb4e0308a7f52638d8b23cd550db9a3
BLAKE2b-256 780dba243f0d40f8d3bbb1e50a2c55db56b0e6b1a133b8f95f3c3f2bf95484f2

See more details on using hashes here.

File details

Details for the file botstrap-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: botstrap-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for botstrap-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 673cbdc4dce2659af3b892c630e4ebdd15558707dcab1d85380a83af1ed03935
MD5 046cd0f5072a3c26fb8ddcad7118c41c
BLAKE2b-256 889ceab135d4ffe0a6a2d55ad4982283198c9615eca95f570882c547cb5ba664

See more details on using hashes here.

Supported by

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