# littlecodersh/itchat

**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/littlecodersh-itchat).**

26,462 stars · 5,621 forks · Python · MIT

## Links

- GitHub: https://github.com/littlecodersh/ItChat
- Homepage: http://itchat.readthedocs.io
- awesome-repositories: https://awesome-repositories.com/repository/littlecodersh-itchat.md

## Topics

`api` `itchat` `robot` `wechat`

## Description

ItChat is a programmable API framework and command line client for automating personal WeChat accounts. It provides a system for building custom chatbot interactions and automating account settings and repetitive interactions.

The project distinguishes itself through a multi-account management system that allows several account instances to run concurrently within a single process. It utilizes QR code authentication for logins and supports persistent session management, enabling applications to restart via hot reloading without requiring new authentication scans.

The framework covers message processing for text and media, allowing for the automated sending and receiving of communications through a callback system. It includes utilities for binary-stream media handling to download files and images to the local system, as well as tools for retrieving user profile information via unique identifiers or nicknames.

## Tags

### Networking & Communication

- [Account Automation Tools](https://awesome-repositories.com/f/networking-communication/account-automation-tools.md) — Implements a system for programmatically controlling account actions, handling media, and managing profiles on WeChat.
- [WeChat Automation Tools](https://awesome-repositories.com/f/networking-communication/wechat-automation-tools.md) — Provides a programmable API and client for automating personal WeChat account settings and interactions.
- [Messaging Automation](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-automation.md) — Ships a framework for registering callbacks to automatically process and reply to various message types and friend requests. ([source](https://github.com/littlecodersh/ItChat/blob/master/README_EN.md))
- [Messaging Bot Frameworks](https://awesome-repositories.com/f/networking-communication/messaging-bot-frameworks.md) — Provides a programmable framework for building custom chatbot interactions and automating personal WeChat accounts.
- [Messaging Exchange Frameworks](https://awesome-repositories.com/f/networking-communication/messaging-exchange-frameworks.md) — Implements a system for sending and receiving text and media communications by reacting to incoming content types. ([source](https://github.com/littlecodersh/ItChat/blob/master/README_EN.md))
- [WeChat Message Processing](https://awesome-repositories.com/f/networking-communication/wechat-message-processing.md) — Provides systems to automatically send, receive, and organize text and media communications on WeChat.
- [Command Line Chat Clients](https://awesome-repositories.com/f/networking-communication/command-line-chat-clients.md) — Provides a terminal-based interface for sending and receiving messages and managing WeChat account data.

### Part of an Awesome List

- [Bot Development](https://awesome-repositories.com/f/awesome-lists/devtools/bot-development.md) — Offers a programmable interface for creating automated response systems and custom bot tools.

### Development Tools & Productivity

- [Authentication QR Codes](https://awesome-repositories.com/f/development-tools-productivity/qr-code-generators/authentication-qr-codes.md) — Handles the login handshake by generating scannable QR codes for external account verification.
- [State-Persistent Reloading](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-systems/state-persistent-reloading.md) — Saves session tokens to disk to allow application restarts without requiring new authentication scans.

### Security & Cryptography

- [Persistent Session Managers](https://awesome-repositories.com/f/security-cryptography/user-account-management/persistent-session-managers.md) — Maintains persistent login sessions and handles authentication events via QR codes for multiple accounts. ([source](https://github.com/littlecodersh/ItChat/blob/master/README_EN.md))
- [Account Instance Managers](https://awesome-repositories.com/f/security-cryptography/account-management/account-synchronization/account-instance-managers.md) — Provides utilities to manage multiple independent account configurations within a single application instance. ([source](https://github.com/littlecodersh/ItChat/blob/master/README_EN.md))

### System Administration & Monitoring

- [Account Automation Frameworks](https://awesome-repositories.com/f/system-administration-monitoring/account-management-apis/account-automation-frameworks.md) — Offers a programmable framework for automating account settings and interactions via custom scripts. ([source](https://github.com/littlecodersh/itchat#readme))

### Software Engineering & Architecture

- [Event-Driven Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures.md) — Provides an event-driven architecture to trigger user-defined functions in response to messages or authentication changes.
- [Message-Based Event Handlers](https://awesome-repositories.com/f/software-engineering-architecture/message-based-event-handlers.md) — Utilizes architectural patterns for managing interactions via explicit message passing to registered handlers.
