<p align="center">
    <b>Telegram MTProto API Framework for Python</b>
</p>

## CobaltGram

> Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots

``` python
from cobaltgram import Client, filters

app = Client("my_account")


@app.on_message(filters.private)
async def hello(client, message):
    await message.reply("Hello from CobaltGram!")


app.run()
```

**CobaltGram** is a modern, elegant and asynchronous [MTProto API](https://core.telegram.org/mtproto)
framework. It enables you to easily interact with the main Telegram API through a user account (custom client) or a bot
identity (bot API alternative) using Python.

### Key Features

- **Ready**: Install CobaltGram with pip and start building your applications right away.
- **Easy**: Makes the Telegram API simple and intuitive, while still allowing advanced usages.
- **Elegant**: Low-level details are abstracted and re-presented in a more convenient way.
- **Fast**: Boosted up by [TgCrypto](https://github.com/cobaltgram/tgcrypto), a high-performance cryptography library written in C.
- **Type-hinted**: Types and methods are all type-hinted, enabling excellent editor support.
- **Async**: Fully asynchronous (also usable synchronously if wanted, for convenience).
- **Powerful**: Full access to Telegram's API to execute any official client action and more.

### Installing

Stable version

``` bash
pip3 install cobaltgram
```

Dev version
``` bash
pip3 install https://github.com/cobaltgram/cobaltgram/archive/dev.zip --force-reinstall
```

### Resources

- Check out the [Telegram Bot API docs](https://core.telegram.org/bots/api) to learn more about what's possible.
- Check out the [Telegram API docs](https://core.telegram.org/api) for low-level MTProto details.
