File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import logging
2+ from time import sleep
23
34import telegram
45from telegram .ext import Updater , Filters , MessageHandler , CommandHandler
@@ -38,6 +39,14 @@ def command_status(update, context):
3839def welcome (update : Update , context ):
3940 logger .info ('Received new user event' )
4041 new_member = update .message .new_chat_members [0 ]
42+
43+ logger .info (f'Waiting { config .WELCOME_DELAY } seconds until user completes captcha...' )
44+ sleep (config .WELCOME_DELAY )
45+ membership_info = context .bot .get_chat_member (update .message .chat_id , new_member .id )
46+ if membership_info ['status' ] == 'left' :
47+ logger .info (f'Skipping welcome message, user { new_member .name } is no longer in the chat' )
48+ return
49+
4150 logger .info (f'send welcome message for { new_member .name } ' )
4251 msg = None
4352
Original file line number Diff line number Diff line change @@ -68,6 +68,11 @@ def log(logger_method):
6868 default = 0.15 )
6969
7070
71+ # Delay (in seconds) to wait before sending welcome message. New users have
72+ # 5 minutes to solve a captcha. The default delay is 5 and a half minutes.
73+ WELCOME_DELAY = config ('WELCOME_DELAY' , int , default = 330 )
74+
75+
7176def bot_replies_enabled () -> bool :
7277 return VERBOSITY > 0
7378
You can’t perform that action at this time.
0 commit comments