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_requestfunction 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 ownAPIfor 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