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.0.tar.gz
(7.8 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.0.tar.gz.
File metadata
- Download URL: funstat_api-0.1.0.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8c51f3e0ee6b85868cfcf9c931c12861ae225a586225de8119b414a9fd59173
|
|
| MD5 |
ebc18094cd795d15d0976670dd9f9884
|
|
| BLAKE2b-256 |
cf14cfca0bcc56b09aae2e7c97fa4353efc4de3e7cc7dc228f427a1a445b95ce
|
File details
Details for the file funstat_api-0.1.0-py3-none-any.whl.
File metadata
- Download URL: funstat_api-0.1.0-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 |
d4e15faf2c875658f46ae317e1de1af4f8b33b511e552cf89f5e68ae1f83a381
|
|
| MD5 |
eabb2a538051845954907d46b0491373
|
|
| BLAKE2b-256 |
69dd8a1267b1380439b015d303710c1ae622a54f0a2610112e66af94ffeb6861
|