Sync Client
FunstatClient(token)
Creates a synchronous client. Uses requests under the hood.
| Parameter | Type | Description |
|---|---|---|
token |
str |
Your Funstat API token |
Methods
ping
ping() → PingResult | None
Check API availability and measure round-trip latency.
get_balance
get_balance() → TechInfo | None
Get current token balance and cost info.
resolve_username
resolve_username(username) → ResolvedUserResponse | None
Resolve a username to full user info.
basic_info_by_id
basic_info_by_id(ids) → ResolvedUserResponse | None
Get basic info for one or multiple users by numeric ID.
stats_min
stats_min(user) → UserStatsMinResponse | None
Get minimal statistics for a user.
stats
stats(user) → UserStatsResponse | None
Get full statistics for a user.
messages_count
messages_count(user) → int
Get total message count for a user.
groups_count
groups_count(user, only_msg=False) → int
Get number of groups a user belongs to.
Set only_msg=True to count only groups where the user has sent messages.
get_messages
get_messages(user, filter=None, group=None, limit=20, page=1) → UserMsgPagedResponse | None
Get paginated message history for a user.
| Parameter | Type | Description |
|---|---|---|
user |
int \| str |
User identifier |
filter |
str \| None |
Filter by text content |
group |
int \| str \| None |
Filter by group |
limit |
int |
Page size (default 20) |
page |
int |
Page number (default 1) |
result = fs.get_messages("durov", filter="hello", limit=50)
for msg in result.data:
print(msg.date, msg.text)
get_chats
get_chats(user) → UsrChatInfoResponse | None
Get list of chats the user participates in.
get_names
get_names(user) → UserNameInfoResponse | None
Get name change history for a user.
get_usernames
get_usernames(user) → UserNameInfoResponse | None
Get username change history for a user.
get_stickers
get_stickers(user) → StickerInfoResponse | None
Get sticker packs used by a user.
get_gifts
get_gifts(user, limit=20, page=1) → GiftRelationResponse | None
Get gift relations (sent/received) for a user.
common_groups
common_groups(user) → UCommonGroupInfoResponse | None
Get statistics on common groups with other users.
rep
rep(user) → dict | None
Get reputation data for a user.
username_usage
username_usage(username) → UsernameUsageResponse | None
Find who currently uses or has previously used a username.
common_groups_for_users
common_groups_for_users(ids) → ChatInfoExtResponse | None
Find groups that a list of users all share.
get_group_info
get_group_info(group) → dict | None
Get raw info about a group or channel.
get_group_members
get_group_members(group) → GroupMemberResponse | None
Get member list of a group.
result = fs.get_group_members("https://t.me/mychat")
for member in result.data:
print(member.id, member.username)
search_text
search_text(query, page=1, page_size=20) → WhoWroteTextResponse | None
Search all indexed messages by text content.
close
close()
Close the underlying HTTP session. Called automatically when using with.