# mamoe/mirai

**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/mamoe-mirai).**

14,831 stars · 2,505 forks · Kotlin · AGPL-3.0

## Links

- GitHub: https://github.com/mamoe/mirai
- Homepage: https://mirai.mamoe.net
- awesome-repositories: https://awesome-repositories.com/repository/mamoe-mirai.md

## Topics

`chatbot` `java` `kotlin` `mirai`

## Description

Mirai is a software development kit and framework designed for building automated bots that interface with the QQ mobile protocol. It functions as a mobile protocol bridge and social API wrapper, enabling the automation of account interactions and the programmatic management of social networks.

The project provides specialized tools for QQ bot development, including frameworks for managing group memberships, permissions, and moderation settings. It also includes utilities for social relationship automation, such as processing friendship requests and maintaining organized contact lists.

The system supports the transmission of multi-format messages including text, images, and audio to individuals or groups. It further incorporates mechanisms for cross-device state synchronization to ensure consistent message history and account states across connected devices.

## Tags

### Networking & Communication

- [QQ Bot Development](https://awesome-repositories.com/f/networking-communication/qq-bot-development.md) — A comprehensive framework for building automated agents specifically for the QQ messaging platform.
- [Bot Logic Frameworks](https://awesome-repositories.com/f/networking-communication/bot-logic-frameworks.md) — Enables the creation of custom bot logic and automation of user actions via mobile protocol interfaces. ([source](https://mirai.mamoe.net/))
- [Chat Protocol Bridges](https://awesome-repositories.com/f/networking-communication/cross-chain-messaging-protocols/protocol-translators/protocol-translation-bridges/chat-protocol-bridges.md) — Provides a communication bridge between the QQ mobile protocol and standardized interfaces for bot automation. ([source](https://mirai.mamoe.net))
- [Friend Relationship Management](https://awesome-repositories.com/f/networking-communication/friend-relationship-management.md) — Processes friendship requests and maintains connected user lists to organize social relationships. ([source](https://cdn.jsdelivr.net/gh/mamoe/mirai@dev/README.md))
- [Group Membership Control](https://awesome-repositories.com/f/networking-communication/group-membership-control.md) — Provides tools for controlling group memberships, permissions, and moderation settings within shared communication spaces. ([source](https://cdn.jsdelivr.net/gh/mamoe/mirai@dev/README.md))
- [Social Media Automation Clients](https://awesome-repositories.com/f/networking-communication/messaging-automation-clients/social-media-automation-clients.md) — Programmatically manages friend requests and contact lists to organize social connections.
- [Group Administration Tools](https://awesome-repositories.com/f/networking-communication/qq-bot-development/group-administration-tools.md) — Automates the administration of group memberships, permissions, and moderation settings within the QQ ecosystem.
- [Asynchronous Request Handlers](https://awesome-repositories.com/f/networking-communication/asynchronous-request-handlers.md) — Matches asynchronous network replies to original requests using unique identifiers to manage concurrent operations.
- [Protocol Abstraction Layers](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-protocols/protocol-abstraction-layers.md) — Implements an architectural layer that decouples bot logic from specific messaging protocol versions.
- [Packet Serialization Frameworks](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-serialization-frameworks.md) — Maps structured internal objects to binary packets required for transmission over the mobile protocol.
- [Message Dispatch Policies](https://awesome-repositories.com/f/networking-communication/traffic-dispatchers/message-dispatch-policies.md) — Queues outgoing text and media packets to prevent protocol congestion and ensure reliable delivery.
- [Protocol-Based Routing Rules](https://awesome-repositories.com/f/networking-communication/traffic-routing/protocol-based-routing-rules.md) — Routes data packets between high-level APIs and low-level mobile protocol implementations based on protocol type.

### Artificial Intelligence & ML

- [Chat Bot Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/chat-bot-frameworks.md) — Provides a software development kit for automating account interactions and sending rich media messages.

### Mobile Development

- [Protocol-Level Automation](https://awesome-repositories.com/f/mobile-development/mobile-infrastructure-security/mobile-synchronization/automation-frameworks/mobile-browser-automation/native-mobile-automation/protocol-level-automation.md) — Interacts with native mobile protocols to automate user actions and message transmissions.

### Part of an Awesome List

- [Messaging Multimedia Transmission](https://awesome-repositories.com/f/awesome-lists/media/media-and-files/messaging-multimedia-transmission.md) — Provides a single interface for transmitting text, images, audio, and other rich media formats to users and groups. ([source](https://cdn.jsdelivr.net/gh/mamoe/mirai@dev/README.md))
- [Social Networking APIs](https://awesome-repositories.com/f/awesome-lists/media/social-networking-apis.md) — Provides a programmatic interface for controlling group permissions, memberships, and synchronized client states.

### Data & Databases

- [Cross-Device State Synchronization](https://awesome-repositories.com/f/data-databases/cross-device-state-synchronization.md) — Ensures consistency of message history and account states across multiple connected devices.
- [User State Synchronization](https://awesome-repositories.com/f/data-databases/data-synchronization-configurations/sync-endpoint-configurations/cross-client-synchronization/user-state-synchronization.md) — Coordinates message history and account states across multiple connected devices for a consistent experience. ([source](https://cdn.jsdelivr.net/gh/mamoe/mirai@dev/README.md))

### User Interface & Experience

- [Architectural State Synchronizers](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers/event-driven-state-synchronizers/architectural-state-synchronizers.md) — Synchronizes the internal bot state by reacting to asynchronous network events from the mobile client.
