Skip to content

add optional kick-on-join to clear #mitochondria-is-the-etc - #72

Closed
scooterthedev wants to merge 1 commit into
hackclub:mainfrom
scooterthedev:gate-kick-on-join
Closed

add optional kick-on-join to clear #mitochondria-is-the-etc#72
scooterthedev wants to merge 1 commit into
hackclub:mainfrom
scooterthedev:gate-kick-on-join

Conversation

@scooterthedev

Copy link
Copy Markdown
Member

Make a modal to type it in and kicks them until they enter it and re-adds them once they type it in so people don't spam in #mitochondria-is-the-powerhouse-of-the-vercell

A gated channel still fills with messages: every unverified member posts,
Prometheus deletes it, and the channel churns. Kick on join stops that at
the door — the member is removed as they join and DMed the terms instead.

Off by default, so existing gates keep deleting messages and nothing else.
It is set with `--kick` on `/pro gate set`, a checkbox in the phrase modal,
or `/pro gate kick on|off` afterwards, and shows in `/pro gate status`.

Deletion stays the backstop. Anyone who posts without verifying — an
existing member, a rejoin, a kick Slack refused — has the message deleted,
and in kick mode is then removed and DMed too.

Two things follow from the member not being in the channel. Ephemeral
messages cannot reach them, so the whole prompt moves into the DM and the
agree button trusts the channel in its own value rather than
`body.channel.id`, which is now the DM. And the phrase can no longer be
typed in the channel, so the DM carries a button opening a modal for it;
`lib/actions/index.js` grew a `views` export that skips the loader's ack so
that modal can answer `response_action: "errors"` on a wrong phrase.

Acknowledging re-invites them on the same user token that did the kicking,
so private channels work too. That fires `member_joined_channel` again, but
the acceptance is recorded by then, so there is no kick loop.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 27, 2026 20:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@3kh0

3kh0 commented Aug 28, 2026

Copy link
Copy Markdown
Member

We don't want to use a modal, and kicking people would not work well either.

@3kh0 3kh0 closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants