Telegram 2 Elastic is a Telegram client which writes all chat messages to multiple outputs like Elasticsearch in realtime.

With the data stored in Elasticsearch, you can use applications like Kibana or Grafana to visualize the chats. Or you may use it as a much better search engine compared to the one implemented in the available Telegram clients.




It is supported to write to multiple outputs. You may pick any combination of the following output types:

It is also possible to configure the same output type multiple times but using different endpoints.

Customize output map

For each output, it is possible to customize the output map which is written to the output.

The output map can be specified using the output_map config property of the output.

Each property of the map defines a piece of Python code which should be executed to get the value for each field.

By default, the following map is used:

id: ""
date: ""
sender: "sender"
chat: "get_display_name(await message.get_chat())"
message: "message.text"

Initial setup

When started for the first time, the application will ask you to connect with your Telegram account.

Available sub commands