Skip to content

Telegram

Telegram channel metadata and message history.

Usage

Sync
from datamaxi import Datamaxi

telegram = Datamaxi(api_key="YOUR_API_KEY").telegram

channels, _ = telegram.channels(category="korean", limit=50)
messages, next_request = telegram.messages(channel_name="yunlog_announcement", limit=50)

more_messages, _ = next_request()
Async
import asyncio
from datamaxi.aio import AsyncDatamaxi


async def main():
    async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client:
        channels, _ = await client.telegram.channels(category="korean", limit=50)
        messages, next_request = await client.telegram.messages(
            channel_name="yunlog_announcement", limit=50
        )

        more_messages, _ = await next_request()


asyncio.run(main())

Notes

  • Pagination returns a next_request function for the next page.
  • Example uses category="korean" from the live channels list.

Telegram

Telegram(api_key=None, api=None, **kwargs: Any)

Bases: Resource

Client to fetch Telegram data from DataMaxi+ API.

Parameters:

  • api_key (str, default: None ) –

    The DataMaxi+ API key

  • api (API, default: None ) –

    Shared transport to reuse when mounted on Datamaxi (maxi.telegram); when omitted this builds its own API for standalone use.

  • **kwargs (Any, default: {} ) –

    Keyword arguments used by datamaxi.api.API.

channels

channels(
    page: int = 1,
    limit: int = 1000,
    category: Optional[str] = None,
    key: Optional[str] = None,
    sort: SortOrder = "desc",
) -> Tuple[TelegramChannelsResponse, Callable]

Get Telegram supported channels

GET /api/v1/telegram/channels

https://docs.datamaxiplus.com/rest/telegram/channels

Parameters:

  • page (int, default: 1 ) –

    Page number

  • limit (int, default: 1000 ) –

    Limit of data

  • category (str, default: None ) –

    channel category

  • key (str, default: None ) –

    Specifies key to sort by

  • sort (str, default: 'desc' ) –

    Sort order

Returns:

  • Tuple[TelegramChannelsResponse, Callable]

    Tuple of channel response and next request function

messages

messages(
    channel_name: Optional[str] = None,
    page: int = 1,
    limit: int = 1000,
    key: Optional[str] = None,
    sort: SortOrder = "desc",
    category: Optional[str] = None,
    search_query: Optional[str] = None,
) -> Tuple[TelegramMessagesResponse, Callable]

Get Telegram posts for given channel username

GET /api/v1/telegram/messages

https://docs.datamaxiplus.com/rest/telegram/messages

Parameters:

  • channel_name (str, default: None ) –

    channel name to get posts from

  • page (int, default: 1 ) –

    Page number

  • limit (int, default: 1000 ) –

    Limit of data

  • key (str, default: None ) –

    Specifies key to sort by

  • sort (str, default: 'desc' ) –

    Sort order

  • category (str, default: None ) –

    Specifies category

  • search_query (str, default: None ) –

    Specifies search query

Returns:

  • Tuple[TelegramMessagesResponse, Callable]

    Tuple of message response and next request function