# Rapptz/discord.py

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rapptz-discord-py).**

15,928 stars · 3,926 forks · Python · mit

## Links

- GitHub: https://github.com/Rapptz/discord.py
- Homepage: http://discordpy.rtfd.org/en/latest
- awesome-repositories: https://awesome-repositories.com/repository/rapptz-discord-py.md

## Topics

`bot` `discord` `discord-api` `discord-bot` `discord-py` `python` `python-3`

## Description

This project is an asynchronous library for the Python programming language designed to facilitate the development of automated agents and interactive applications on the Discord platform. It provides a comprehensive framework for building event-driven software that manages real-time communication, server resources, and user interactions through a structured interface.

The library utilizes a non-blocking event loop to handle concurrent network operations, allowing developers to maintain persistent bidirectional connections via WebSockets. It features a declarative system for routing text-based commands to specific logic handlers and maps complex remote data structures into local object-oriented class instances. To ensure operational stability, the framework includes built-in mechanisms for monitoring outgoing request frequency and managing traffic against service-defined quotas.

Beyond core communication, the project supports background task scheduling to execute recurring operations without obstructing the primary application flow. It serves as a complete toolkit for managing the lifecycle of automated agents, from handling incoming data streams to executing structured responses across messaging channels.

## Tags

### Web Development

- [Messaging Bot Wrappers](https://awesome-repositories.com/f/web-development/messaging-bot-wrappers.md) — A Python library for building interactive bots and applications that interface with the Discord platform using asynchronous event-driven programming.
- [Asynchronous Bot Frameworks](https://awesome-repositories.com/f/web-development/asynchronous-bot-frameworks.md) — A development toolkit for creating responsive automated agents that handle concurrent interactions and manage server resources efficiently.
- [Real-Time Communication](https://awesome-repositories.com/f/web-development/real-time-communication.md) — Maintains a persistent bidirectional connection to receive live updates and push events instantly between the application and the server.
- [Decorator-Based Dispatchers](https://awesome-repositories.com/f/web-development/routing-systems/routing/matching-algorithms/regex-based-url-dispatchers/decorator-based-dispatchers.md) — Matches incoming text patterns to registered functions using a decorator-based system to route user interactions to specific logic handlers.

### Networking & Communication

- [Bot Interaction Orchestration](https://awesome-repositories.com/f/networking-communication/bot-interaction-orchestration.md) — The project provides interactive chat bot automation to define and execute custom commands, facilitating structured text-based user interactions across various platforms. ([source](http://discordpy.rtfd.org/en/latest))
- [Rate Limiters](https://awesome-repositories.com/f/networking-communication/rate-limiters.md) — The project implements API rate limiting to monitor and pace outgoing network requests, ensuring compliance with service constraints and preventing interruptions from exceeding traffic thresholds. ([source](http://discordpy.rtfd.org/en/latest))

### System Administration & Monitoring

- [Rate Limiting Utilities](https://awesome-repositories.com/f/system-administration-monitoring/rate-limiting-utilities.md) — Tracks outgoing request frequency against predefined quotas to ensure compliance with external service constraints and prevent temporary account suspension.

### Programming Languages & Runtimes

- [Asynchronous Event Loops](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/asynchronous-event-loops.md) — Uses a non-blocking event loop to manage concurrent network operations and handle incoming data streams without stalling the main process.
- [Asynchronous Programming](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/asynchronous-execution-engines/asynchronous-programming.md) — Building responsive applications that handle multiple concurrent network operations and background tasks without blocking the main execution flow.

### Development Tools & Productivity

- [Cooperative Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers/cooperative-task-schedulers.md) — The project enables background task scheduling to execute recurring operations asynchronously, ensuring periodic updates or maintenance tasks do not block the main application flow. ([source](http://discordpy.rtfd.org/en/latest))

### Software Engineering & Architecture

- [Object-Oriented Models](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-models.md) — Maps complex remote data structures into local class instances to simplify the management of users, channels, and server entities.
- [Event-Driven Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/application-frameworks/general-purpose-frameworks/event-driven-frameworks.md) — Developing software that reacts to real-time platform activity by triggering specific functions based on incoming data and user interactions.
