Welcome Security
Last updated: October 19, 2026
Protect your chat from bots and verify new users
Welcome Security contains a bunch of tools that can help filter bots that try to join your groups, as well as make sure the new users acknowledged the chat rules before being able to speak
Available commands
Only admins
Commands | Arguments | Description | Remarks |
|---|---|---|---|
| /welcome_captcha /enable_welcome_captcha | <?New status or expiry time> | Shows / changes Welcome Captcha and its expiry time. | |
| /welcome_restrict | <?New status or restrict time> | Shows / changes the state of Welcome Restrict (Media restricting). | |
| /set_welcome_security | <Content> | Sets welcome security message. | |
| /del_welcome_security | - | Deletes the welcome security message. | |
| /welcome_security | - | Shows Welcome Security settings. | Disable-able |
/welcome_captcha /enable_welcome_captcha
Commands
/welcome_captcha /enable_welcome_captcha
Arguments
<?New status or expiry time>
Description
Shows / changes Welcome Captcha and its expiry time.
Remarks
/welcome_restrict
Commands
/welcome_restrict
Arguments
<?New status or restrict time>
Description
Shows / changes the state of Welcome Restrict (Media restricting).
Remarks
/set_welcome_security
Commands
/set_welcome_security
Arguments
<Content>
Description
Sets welcome security message.
Remarks
/del_welcome_security
Commands
/del_welcome_security
Arguments
-
Description
Deletes the welcome security message.
Remarks
/welcome_security
Commands
/welcome_security
Arguments
-
Description
Shows Welcome Security settings.
Remarks
Disable-able
Welcome Security expiry settings
/welcome_security
offers expiry presets for pending captcha members. Changing expiry preserves whether captcha is enabled; it does not enable captcha or set the media restriction duration.Each expiry button is bound to the originating database chat ID. It requires administrator access and the same current target chat. Switching the private-chat connection or disconnecting invalidates the old keyboard: reconnect to the intended group and reopen
/welcome_security
. Buttons sent before the chat-bound callback format was introduced must also be reopened; unbound payloads cannot update settings.Rejoining while a captcha is pending
A new join starts a fresh pending captcha deadline. Duplicate delivery of the same join does not extend that deadline. Delayed leave processing cannot remove a newer membership or its pending captcha session. Users who already passed verification keep their passed status when they leave and rejoin.
Expiry and concurrent verification
Pending-session initialization, the initial mute, expiry actions, and captcha completion share a per-user lock. A rejoin cannot reset a pending deadline while an expiry action is still using the old session. Expiry also checks the current membership boundary before unmuting, kicking, or declining a request, so a recorded rejoin invalidates an older pending session even before its new captcha setup completes. If another lifecycle operation still holds the lock when the expiry wait times out, that user is deferred to a later sweep; other expired users continue to be processed. A failed expiry action keeps the pending record for retry.
Captcha completion also keeps the pending record and recovery messages until the captcha mute is successfully released or replaced with the configured welcome mute, including for administrators and group-whitelisted users. If a join request was already approved, completion still attempts that restriction transition.