Skip to content

Latest commit

 

History

History
209 lines (135 loc) · 6.82 KB

File metadata and controls

209 lines (135 loc) · 6.82 KB

Third-Party Attributions

FamilyBot exists because of the incredible work done by the open-source community. This page lists the libraries, frameworks, and tools that make this bot possible.

Core Dependencies

Discord Bot Framework

discord-py-interactions

Web Framework & Server

FastAPI

  • Description: Powers our Web UI backend.
  • License: MIT License
  • Usage: REST API and async request handling.
  • Website: https://fastapi.tiangolo.com/

Uvicorn

  • Description: The ASGI server running our FastAPI application.
  • License: BSD 3-Clause License
  • Usage: Serving the Web UI.
  • Website: https://www.uvicorn.org/

Jinja2

Data Validation & Serialization

Pydantic

  • Description: Ensures our data matches the expected types.
  • License: MIT License
  • Usage: API models and configuration validation.
  • Website: https://docs.pydantic.dev/

HTTP & Networking

aiohttp

  • Description: Async HTTP client/server framework.
  • License: Apache License 2.0
  • Usage: Primary async HTTP client for Steam API calls throughout the bot.
  • Website: https://docs.aiohttp.org/

Requests

  • Description: Standard library for synchronous HTTP requests.
  • License: Apache License 2.0
  • Usage: Synchronous calls to the ITAD API.
  • Website: https://requests.readthedocs.io/

HTTPX

  • Description: Modern HTTP client with async support.
  • License: BSD 3-Clause License
  • Usage: Asynchronous API calls in database population scripts.
  • Website: https://www.python-httpx.org/

WebSockets

  • Description: WebSocket support for Python.
  • License: BSD 3-Clause License
  • Usage: Internal communication between bot components.
  • Website: https://websockets.readthedocs.io/

Steam Integration

Steam (solsticegamestudios/steam)

Browser Automation

Camoufox

  • Description: Anti-detect browser built on Firefox with fingerprint injection at the C++ level.

  • License: MPL-2.0

  • Usage: Extracting Steam web API tokens with bot-detection evasion.

  • Compliance Note: This usage may violate Steam's Terms of Service (automated API token extraction).

  • Website: https://camoufox.com/

Configuration & Data Processing

PyYAML

  • Description: Reads and writes YAML files.
  • License: MIT License
  • Usage: Handling our config.yml.
  • Website: https://pyyaml.org/

tqdm

  • Description: Progress bars for the terminal.
  • License: MIT License
  • Usage: Visual feedback for long-running scripts.
  • Website: https://tqdm.github.io/

Frontend Dependencies (CDN)

Icons

Font Awesome

  • Description: The icons used throughout the dashboard.
  • License: Font Awesome Free License
  • Usage: UI icons.
  • Website: https://fontawesome.com/

Typography

Saira

  • Description: Condensed geometric sans-serif designed for screen UI.
  • License: SIL Open Font License 1.1
  • Usage: Primary UI font — headings, labels, buttons.
  • Website: https://fonts.google.com/specimen/Saira
  • Note: This font is bundled locally under src/familybot/web/static/fonts/ rather than loaded from a CDN.

Space Mono

  • Description: Monospaced typeface designed for code and data.
  • License: SIL Open Font License 1.1
  • Usage: IDs, timestamps, log output, and code blocks.
  • Website: https://fonts.google.com/specimen/Space+Mono
  • Note: This font is bundled locally under src/familybot/web/static/fonts/ rather than loaded from a CDN.

Development Tools

Package Management

uv

  • Description: Fast Python package manager.
  • License: Apache License 2.0
  • Usage: Managing dependencies and environments.
  • Website: https://github.com/astral-sh/uv

Database

SQLite

  • Description: Zero-config SQL engine.
  • License: Public Domain
  • Usage: Local storage for games, wishlists, and users.
  • Website: https://www.sqlite.org/

External APIs & Services

Steam APIs

Steam Web API

  • Description: Primary data source for Steam information.
  • Usage: Game data, user libraries, and wishlists.

Steamworks Web API

  • Description: Extended API for family library management.

Steam CDN

  • Description: Steam's content delivery network.
  • Usage: Game header images on the wishlist page.

Price Tracking

IsThereAnyDeal API

  • Description: Price tracking and deal aggregation.
  • Usage: Finding historical lows and current sales.

Game Information

Epic Games Store

  • Description: Source for free game data.

Original Project Attribution

FamilyBot by Chachigo

  • Description: The original project this version is based on.
  • Usage: Base structure and core concepts.

License Compatibility

FamilyBot is built using libraries with permissive open-source licenses (MIT, BSD-3-Clause, Apache-2.0, and Public Domain), the weak copyleft (file-level) MPL-2.0 license, and the font-specific OFL-1.1 license (which includes share-alike/copy-left terms).

Acknowledgments

Huge thanks to the maintainers of the projects listed above. Without your work, building something like FamilyBot would take months instead of days. We also appreciate the Discord.py community and everyone who uses and helps improve this bot.