Skip to content

feat: add CamSoda username scan module - #445

Merged
kaifcodec merged 2 commits into
kaifcodec:mainfrom
brunolm:feat/add-camsoda-username-module
Jul 24, 2026
Merged

feat: add CamSoda username scan module#445
kaifcodec merged 2 commits into
kaifcodec:mainfrom
brunolm:feat/add-camsoda-username-module

Conversation

@brunolm

@brunolm brunolm commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Adds a username scan module for CamSoda.

Namespaces

  • /<user> — broadcasters (200, embedded user object with rich profile).
  • Members have no public page; existence is confirmed via the signup availability check: GET /api/v1/user/check?type=username&value=<h>{"match":1} taken / {"match":0} free (read-only, anonymous, covers both account types).

Correctness

  • The check is case-insensitive and whitespace-trimmed, matching the site.
  • match:1 is overloaded for sub-3-char reserved names (reports taken with no account behind it), so handles under 3 characters return error, not a verdict.
  • The broadcaster user object is matched on username rather than taken first (recommendation carousels embed siblings).

Metadata: broadcasters get name, id, gender, created date, followers, rating, tags, avatar; members return type: member.

Transport: curl_cffi. Tested live against broadcasters and member accounts plus nonexistent handles. ruff + mypy clean.

@brunolm
brunolm marked this pull request as ready for review July 24, 2026 12:29

@kaifcodec kaifcodec left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@kaifcodec
kaifcodec merged commit 4670e75 into kaifcodec:main Jul 24, 2026
2 checks passed
@kaifcodec kaifcodec added the user module addition PRs or issues related to new user_scan module additions label Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

user module addition PRs or issues related to new user_scan module additions

2 participants