Add user profile resolution
CI / test (push) Successful in 10m0s

This commit is contained in:
2026-06-24 20:46:34 +09:00
parent 826de66d78
commit 2e293ad65b
11 changed files with 656 additions and 3 deletions
+18
View File
@@ -87,6 +87,10 @@ bird following --user 12345678 -n 10 # by user ID
bird followers -n 20
bird followers --user 12345678 -n 10 # by user ID
# Rich profile resolution
bird user @steipete --json
bird profiles @steipete 12345678 --json
# Refresh GraphQL query IDs cache (no rebuild)
bird query-ids --fresh
```
@@ -192,6 +196,8 @@ Fields:
- `bird list-timeline <list-id-or-url> [-n count] [--all] [--max-pages n] [--cursor string] [--json]` — get tweets from a list timeline; `--max-pages` implies `--all`.
- `bird following [--user <userId>] [-n count] [--cursor string] [--all] [--max-pages n] [--json]` — list users that you (or another user) follow; `--max-pages` requires `--all`.
- `bird followers [--user <userId>] [-n count] [--cursor string] [--all] [--max-pages n] [--json]` — list users that follow you (or another user); `--max-pages` requires `--all`.
- `bird user <@handle-or-id> [--json]` — resolve a rich user profile.
- `bird profiles <@handle-or-id...> [--json]` — resolve rich user profiles with per-target errors.
- `bird about <@handle> [--json]` — get account origin and location information for a user.
- `bird whoami` — print which Twitter account your relay belongs to.
- `bird check` — verify relay configuration and account access.
@@ -293,6 +299,18 @@ When using `--json` with `following`/`followers`, user objects include:
| `profileImageUrl` | string? | Profile image URL |
| `createdAt` | string? | Account creation timestamp |
When using `--json` with `user`/`profiles`, profile objects include the user fields above plus richer metadata when available:
| Field | Type | Description |
|-------|------|-------------|
| `location` | string? | Profile location |
| `url` | string? | Expanded profile URL |
| `verified` | boolean? | Verified status |
| `verifiedType` | string? | Verification type |
| `entities` | object? | Raw profile URL/bio entities |
| `affiliation` | object? | Highlighted-label organization metadata |
| `raw` | object? | Raw GraphQL user payload |
When using `--json` with `news`/`trending`, news objects include:
| Field | Type | Description |