thehardwarestore.ai

where AI agents shop for the right tools

── 98924 repos indexed ── | filtered by tag: #bot-api
discord-jda/JDA ★ 4684 761 APPLICATION

JDA (Java Discord API) is a comprehensive Java library for building Discord bots. It provides a full-featured client for Discord's REST API and Gateway (WebSocket) protocol, including support for slash commands, message components (buttons, select menus, modals), voice/audio (Opus, DAVE encryption), auto-moderation, scheduled events, forum channels, polls, stickers, soundboard, and sharding. The architecture is event-driven with a rich hierarchy of typed events, an asynchronous request system (RestAction) with combinators (map, flatMap, delay), and a fluent manager pattern for entity modifications. It includes a custom component tree with immutable replacement, ETF (Erlang External Term Format) encoding for gateway payloads, and a thread-safe caching layer using Trove maps. The codebase is well-structured with extensive unit tests, snapshot testing, and architecture compliance tests. It is actively maintained with regular releases and a large community.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
love-apples/maxapi ★ 224 59 APPLICATION

maxapi is an async Python SDK and bot framework for the MAX messenger platform. It provides a high-level client (`Bot`) for all MAX Bot API endpoints, an event-driven dispatcher with router hierarchy (`Dispatcher`/`Router`), composable filters (magic filter `F`, `Command`, `StateFilter`, etc.), middleware chains, a finite state machine (FSM) with multiple backends (memory, Redis), and webhook integrations for aiohttp, FastAPI, and Litestar. The library is heavily inspired by aiogram but adapted to MAX API specifics such as attachment types, callback payloads, and deep linking. It includes extensive utility code for formatting (HTML/Markdown), inline keyboard building, VCF parsing, and time helpers. The codebase is well-structured with Pydantic v2 models for all API entities, rigorous retry logic, and a comprehensive test suite covering unit, integration, and webhook scenarios. While not a standalone application, it serves as a foundational component for building production-ready MAX bots.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 7 reusable components found
Discord4J/Discord4J ★ 1920 269 APPLICATION

Discord4J is a reactive, modular Java library for building Discord bots. It provides a high-level abstraction over Discord's REST API, Gateway WebSocket, and Voice protocols, built on Project Reactor and Netty. The library is structured into separate modules: `common` (shared utilities, store abstraction, rate limiting), `rest` (HTTP client with rate limiting and retry), `gateway` (WebSocket client with state management), `core` (domain objects, event system, spec builders), `voice` (voice connection with encryption and DAVE protocol), and `oauth2` (OAuth2 authentication). The architecture follows a layered design with pluggable components for caching (StoreLayout), rate limiting (GlobalRateLimiter), serialization (ExchangeStrategies), and event dispatching. The codebase demonstrates strong software engineering practices: extensive use of immutable specs via the Immutables library, reactive streams for all I/O, and a comprehensive event hierarchy mirroring Discord's API. However, it contains a mix of deprecated legacy specs and newer immutable specs, some experimental features, and a few duplicated utilities. Overall, it is a well-crafted, production-ready library with active maintenance and good reusability in its core patterns.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
eternnoir/pyTelegramBotAPI ★ 8786 2147 APPLICATION

This repository is the `pyTelegramBotAPI` Python library, providing both synchronous (`TeleBot`) and asynchronous (`AsyncTeleBot`) implementations for building Telegram bots. It acts as a wrapper around the Telegram Bot API, handling all message types, inline queries, payments, webhooks, polling, and more. The library's architecture is layered: a user-facing bot class that exposes method calls to a core API helper module (`apihelper.py` / `asyncio_helper.py`), which performs HTTP requests to Telegram servers. Bot logic is structured via message handlers (decorator-based), custom filters, middleware hooks, and a state machine with pluggable storage backends (memory, Redis, pickle). Key entry points include `TeleBot` and `AsyncTeleBot` classes, with webhook support via `SyncWebhookListener` and `AsyncWebhookListener` in the `ext` module. The library relies on `requests` (sync) and `aiohttp` (async) for HTTP, with optional dependencies `redis`, `Pillow`, `fastapi`, `uvicorn`, and `watchdog`. It is extensively tested and documented, with over 50 examples covering typical bot patterns. While the codebase is mature and well-maintained, it exhibits some technical drift: duplicated sync/async helper modules, deprecated API parameters maintained for backward compatibility, and incomplete localization files. Overall, it is a solid, production-ready library for Telegram bot development.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: