chizumeiji/funstat-api
GitHub: chizumeiji/funstat-api
这是一个用于查询Telegram用户和群组统计的Python API客户端。
Stars: 9 | Forks: 0
# funstat-api
用于 [Funstat/Telelog](http://telelog.org/) API 的 Python 客户端 — Telegram 用户和群组统计。
支持 **同步** 和 **异步** 使用。
文档:https://chizumeiji.github.io/funstat-api/
## 安装说明
```
pip install funstat-api
```
## 快速入门
### 同步
```
from funstat_api import FunstatClient, FunstatConfig
# 可选:配置自定义 headers 或 base URL
config = FunstatConfig(headers={"X-My-Header": "Value"})
fs = FunstatClient("your_token", config=config)
# 获取用户 stats
stats = fs.stats("durov")
print(stats.data.total_msg_count)
# 获取群组 members
members = fs.get_group_members("https://t.me/mychat")
# 用作 context manager
with FunstatClient("your_token") as fs:
print(fs.ping())
```
### 异步
```
import asyncio
from funstat_api import AsyncFunstatClient, UserHiddenError
async def main():
async with AsyncFunstatClient("your_token") as fs:
try:
stats = await fs.stats("durov")
print(stats.data.total_msg_count)
except UserHiddenError:
print("This user's data is hidden by privacy settings.")
asyncio.run(main())
```
## 可用方法
| 方法 | 描述 |
|--------|-------------|
| `ping()` | 检查 API 可用性和延迟 |
| `get_balance()` | 获取当前 token 余额 |
| `resolve_username(username)` | 将用户名解析为用户信息 |
| `basic_info_by_id(ids)` | 根据用户 ID 获取基本信息 |
| `stats_min(user)` | 获取最小用户统计数据 |
| `stats(user)` | 获取完整用户统计数据 |
| `messages_count(user)` | 获取总消息数 |
| `groups_count(user)` | 获取群组数量 |
| `get_messages(user, ...)` | 获取分页消息列表 |
| `get_chats(user)` | 获取用户的聊天列表 |
| `get_names(user)` | 获取名字历史 |
| `get_usernames(user)` | 获取用户名历史 |
| `get_stickers(user)` | 获取使用过的表情包 |
| `get_gifts(user)` | 获取礼物关系 |
| `common_groups(user)` | 获取共同群组统计 |
| `username_usage(username)` | 谁正在或曾经使用过某个用户名 |
| `name_usage(name)` | 搜索名字使用情况 |
| `rep(user)` | 获取用户声誉信息 |
| `common_groups_for_users(ids)` | 获取指定用户的共同群组 |
| `get_group_info(group)` | 获取群组/频道信息 |
| `get_group_members(group)` | 获取群组成员 |
| `search_text(query)` | 按文本搜索消息 |
`user` 和 `group` 参数接受:数字 ID、`@用户名`,或 `https://t.me/...` 链接。
## 依赖项
- `pydantic >= 2.0`
- `requests >= 2.28` (同步客户端)
- `httpx >= 0.24` (异步客户端)
## 鸣谢
- **作者:** [@meiji_dev](https://t.me/meiji_dev)
- **有用的机器人 & 链接:** [@sgwlink](https://t.me/sgwlink)
## 许可证
MIT
标签:API开发, API集成, Python API客户端, Telegram分析, Telegram统计, 代码示例, 可观测性, 同步编程, 命令控制, 异步编程, 数据分析, 数据检索, 数据采集, 消息统计, 用户统计, 用户行为分析, 社交媒体分析, 统计工具, 群组分析, 运行时操纵, 逆向工具