This skill drives the operator's own Bumble web account inside a remote browser the operator already owns. It is intended for personal automation: resuming the user's session, listing the user's own matches and likes, reading and sending messages where the user already has the right to chat, and exporting photos that the user's account is already authorized to view.
It does not:
The phone number and SMS code are supplied by the operator, not generated.
https://bumble.com/app.bumble session whenever possible.get-started or auth pages then start "Auth flow"get-started, auth, or SMS-confirmation pages.bash
python scripts/bumble_client.py state # returns JSON
python scripts/bumble_client.py debug
python scripts/bumble_client.py matches # JSON: matches[{name, source, expired, conversation_expired}], counts; conversation_expired true/false for conversations, null for queue
python scripts/bumble_client.py likes # JSON: visible likes plus Beeline count/premium signal when available
python scripts/bumble_client.py messages "Kritika" # returns JSON with author field
python scripts/bumble_client.py send "Kritika" "message text"
# For URLs or newlines, avoid shell ANSI-C quoting ($'…'); use stdin or a file:
printf '%s\n' '3pm Saturday works? https://example.com/map' | python scripts/bumble_client.py send "Kritika" -
python scripts/bumble_client.py send "Kritika" --file /path/to/message.txt
python scripts/bumble_client.py unmatch "Kritika"
python scripts/bumble_client.py photos "Kritika" "/absolute/output/dir"
generic-menu in the DOM), then Unmatch in that menu. Bumble then shows a modal: choose the Unmatch row (not “Block and report”), then confirm any follow-up prompts.Only when on get-started or auth page:
div.other-methods-button, span.other-methods-button-textspan.action.text-break-words, button.primary.button--transparent span.actionbash
python scripts/bumble_client.py auth "<user_phone_number>"
Only when Bumble is already on the confirm-phone page:
bash
python scripts/bumble_client.py sms_code 233596
Current behavior:
state: "captcha_challenge"sms_code_accepted: true/registration/passkey, the client taps Bumble's official Not Now button to decline the optional passkey-enrollment prompt. The client never creates, registers, or stores a passkey; it only declines the prompt so the user is not pressured into enrolling a passkey on a remote device. open_connections also declines this prompt if a stored session resumes on that screen.bash
python scripts/bumble_client.py messages "Kritika"
author for each message ( me / them when HTML parsing succeeds).bash
python scripts/bumble_client.py send "Kritika" "message text"
# For URLs or newlines, avoid shell ANSI-C quoting ($'…'); use stdin or a file:
printf '%s\n' '3pm Saturday works? https://example.com/map' | python scripts/bumble_client.py send "Kritika" -
python scripts/bumble_client.py send "Kritika" --file /path/to/message.txt
Opens the requested match.
Verifies Bumble accepted the draft before sending.
Sends using the actual code path in bumble_client.py:
Verifies the sent message appears in the visible thread before reporting success.
bash
python scripts/bumble_client.py photos "Anya" "/absolute/output/dir"