L idZddlmZddlmZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZmZGd d e eeefZy ) z6This module contains the ChatJoinRequestHandler class.)Optional)Update) DEFAULT_TRUE)RTSCTDVType) BaseHandler) parse_chat_idparse_username)CCTHandlerCallbackc ~eZdZdZdZddefdddeeee fde e e de e e d eef fd Zd ed efd ZxZS)ChatJoinRequestHandlera Handler class to handle Telegram updates that contain :attr:`telegram.Update.chat_join_request`. Note: If neither of :paramref:`username` and the :paramref:`chat_id` are passed, this handler accepts *any* join request. Otherwise, this handler accepts all requests to join chats for which the chat ID is listed in :paramref:`chat_id` or the username is listed in :paramref:`username`, or both. .. versionadded:: 20.0 Warning: When setting :paramref:`block` to :obj:`False`, you cannot rely on adding custom attributes to :class:`telegram.ext.CallbackContext`. See its docs for more info. .. versionadded:: 13.8 Args: callback (:term:`coroutine function`): The callback function for this handler. Will be called when :meth:`check_update` has determined that an update should be processed by this handler. Callback signature:: async def callback(update: Update, context: CallbackContext) The return value of the callback is usually ignored except for the special case of :class:`telegram.ext.ConversationHandler`. chat_id (:obj:`int` | Collection[:obj:`int`], optional): Filters requests to allow only those which are asking to join the specified chat ID(s). .. versionadded:: 20.0 username (:obj:`str` | Collection[:obj:`str`], optional): Filters requests to allow only those which are asking to join the specified username(s). .. versionadded:: 20.0 block (:obj:`bool`, optional): Determines whether the return value of the callback should be awaited before processing the next handler in :meth:`telegram.ext.Application.process_update`. Defaults to :obj:`True`. .. seealso:: :wiki:`Concurrency` Attributes: callback (:term:`coroutine function`): The callback function for this handler. block (:obj:`bool`): Determines whether the callback will run in a blocking way.. ) _chat_ids _usernamesNselfzChatJoinRequestHandler[CCT, RT]callbackchat_idusernameblockcht|||t||_t ||_y)N)r)super__init__r rr r)rrrrr __class__s s/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/telegram/ext/_handlers/chatjoinrequesthandler.pyrzChatJoinRequestHandler.__init__Ss/ /&w/(2updatereturnc t|tr~|jrr|js |jsy|jj j |jvry|jjj|jvSy)zDetermines whether an update should be passed to this handler's :attr:`callback`. Args: update (:class:`telegram.Update` | :obj:`object`): Incoming update. Returns: :obj:`bool` TF) isinstancerchat_join_requestrrchatid from_userr)rrs r check_updatez#ChatJoinRequestHandler.check_update_sk ff %&*B*B>>$//'',,//4>>A++55>>$//Q Qr)__name__ __module__ __qualname____doc__ __slots__rr rr rrrintstrrboolrobjectr% __classcell__)rs@rrrs,\I'+'+* 3/ 3!&#r/2 3#c(# 33s8$ 3 d| 36drrN)r)typingrtelegramrtelegram._utils.defaultvaluertelegram._utils.typesrrr"telegram.ext._handlers.basehandlerr #telegram.ext._utils._update_parsingr r telegram.ext._utils.typesr r rrrr8s;&=511:M:P[b9Pr