Summary
Right now anyone who joins the group chat gets full access immediately. This adds a pending/gated state for new members so the bot can hold them back until they clear some kind of check.
Proposed behavior
- When a new member joins, the bot puts them in a restricted state (can't post, or can only see a limited channel/thread) instead of granting full access right away.
- The bot prompts them with a configurable challenge, starting with: answer a question correctly.
- On a correct answer, the bot promotes them to full member status.
- On a wrong answer, configurable behavior: retry, timeout, or kick.
- If they don't respond within a set time window, configurable behavior: kick, mute, or ping a mod.
Extensibility (worth designing up front)
Frame this as a general "onboarding gate" system rather than a single question-check feature, so future checks can plug in without reworking the flow. Other checks that could live in the same system:
- CAPTCHA-style button click ("I'm not a bot")
- Agree to rules / code of conduct
- Verify a wallet or signature (given the bot's name, a natural fit)
- Manual mod approval
- Invite-link-specific rules (different gate depending on which link was used to join)
Suggested implementation shape
- A
PendingMember state tracked per user per group.
- A pluggable
GateCheck interface so each check type (question, captcha, wallet verify, mod approval) is its own module.
- Config per group for which check(s) are required and what happens on pass / fail / timeout.
Open questions
- Should multiple checks be chainable (e.g. answer a question AND agree to rules)?
- Should the question/challenge be configurable per group or hardcoded to start?
Feature request from Josh. Filed via Breadbrich Engels.
Summary
Right now anyone who joins the group chat gets full access immediately. This adds a pending/gated state for new members so the bot can hold them back until they clear some kind of check.
Proposed behavior
Extensibility (worth designing up front)
Frame this as a general "onboarding gate" system rather than a single question-check feature, so future checks can plug in without reworking the flow. Other checks that could live in the same system:
Suggested implementation shape
PendingMemberstate tracked per user per group.GateCheckinterface so each check type (question, captcha, wallet verify, mod approval) is its own module.Open questions
Feature request from Josh. Filed via Breadbrich Engels.