[docs]classCallbackBlock:'''the block that process Callbacks and runs a series of Actions (:ref:`what-is-an-action?`) Args: actions (Union[List[:class:`tgram_dnd.actions.Action`], :class:`tgram_dnd.actions.Action`]): the actions that will be executed filter (`tgram.filters.Filter <https://z44d.github.io/tgram/tgram.html#tgram.filters.Filter>`_, *optional*): filter incoming callbacks, pass Nothing to trigger all updates'''def__init__(self,actions:Union[List[Action],Optional[Action]],filter:Optional[filters.Filter]=None,):'''this defines a MessageBlock'''self.actions=[actions]ifnotisinstance(actions,list)elseactionsself.filter=filterorfilters.all
[docs]asyncdefexec(self,bot:TgBot,cb:CallbackQuery):'''this is where the block actions run'''ifawaitself.filter(bot,cb):foractioninself.actions:action.inject(self.app)try:awaitaction(cb)excepttgram_dnd.errors.StopBlock:break