Sync and async Python client for the Funstat API (Telegram user/group statistics)
Project description
funstat-api
Python client for the Funstat API — Telegram user and group statistics.
Supports both sync and async usage.
Installation
pip install funstat-api
Quick Start
Sync
from funstat_api import FunstatClient
fs = FunstatClient("your_token")
# Get user stats
stats = fs.stats("durov")
print(stats.data.total_msg_count)
# Get group members
members = fs.get_group_members("https://t.me/mychat")
# Use as context manager
with FunstatClient("your_token") as fs:
print(fs.ping())
Async
import asyncio
from funstat_api import AsyncFunstatClient
async def main():
async with AsyncFunstatClient("your_token") as fs:
stats = await fs.stats("durov")
print(stats.data.total_msg_count)
asyncio.run(main())
Available Methods
| Method | Description |
|---|---|
ping() |
Check API availability and latency |
get_balance() |
Get current token balance |
resolve_username(username) |
Resolve username to user info |
basic_info_by_id(ids) |
Get basic info by user ID(s) |
stats_min(user) |
Get minimal user statistics |
stats(user) |
Get full user statistics |
messages_count(user) |
Get total message count |
groups_count(user) |
Get number of groups |
get_messages(user, ...) |
Get paginated message list |
get_chats(user) |
Get user's chat list |
get_names(user) |
Get name history |
get_usernames(user) |
Get username history |
get_stickers(user) |
Get used sticker packs |
get_gifts(user) |
Get gift relations |
common_groups(user) |
Get common groups stats |
username_usage(username) |
Who uses or used a username |
get_group_info(group) |
Get group/channel info |
get_group_members(group) |
Get group members |
search_text(query) |
Search messages by text |
user and group arguments accept: numeric ID, @username, or https://t.me/... link.
Dependencies
pydantic >= 2.0requests >= 2.28(sync client)httpx >= 0.24(async client)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
funstat_api-0.1.1.tar.gz
(13.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file funstat_api-0.1.1.tar.gz.
File metadata
- Download URL: funstat_api-0.1.1.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf47aee88355bf3a95b2048dbdc2f67fdbfc609fc72e7606a942c5183d4ac1ed
|
|
| MD5 |
76c151f5332a932596295fe015d5375c
|
|
| BLAKE2b-256 |
72558f683fc91889ea4c36dce2cc024c6087ebfcba84e28b7f70f70e73b57ac0
|
File details
Details for the file funstat_api-0.1.1-py3-none-any.whl.
File metadata
- Download URL: funstat_api-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84e80090b69b27af38acd0251cf06521393e8981b0c8449cce184598b4097dc7
|
|
| MD5 |
976d4f84efb680f3d1ac8e47226aa6d2
|
|
| BLAKE2b-256 |
ad59fefcdcc79e418c854ea6e69e45dcc64eb6bae39f789f29755a5b8306544c
|