@@ -47,6 +47,7 @@ def __new__(cls, *args, **kwargs):
4747 self .__messages_edited_hooks = []
4848 self .__channel_post_hooks = []
4949 self .__channel_post_edited_hooks = []
50+ self .__poll_update_hooks = []
5051
5152 self ._component_id = str (uuid .uuid4 ())
5253
@@ -75,6 +76,14 @@ def add_process_message_hook(self, func):
7576 hook = hooks .ProcessMessageHook (func , self )
7677 self .__processors .append (hook )
7778
79+ def add_poll_update_hook (self , func ):
80+ """Add a poll update hook"""
81+ if not callable (func ):
82+ raise ValueError ("A poll update hook must be callable" )
83+
84+ hook = hooks .PollUpdateHook (func , self )
85+ self .__poll_update_hooks .append (hook )
86+
7887 def add_message_equals_hook (self , string , func , ignore_case = True ):
7988 """Add a message equals hook"""
8089 if not callable (func ):
@@ -220,6 +229,7 @@ def _get_chains(self):
220229 ]
221230 return {
222231 "messages" : messages ,
232+ "poll_updates" : [self .__poll_update_hooks ],
223233 "memory_preparers" : [self .__memory_preparers ],
224234 "tasks" : [self .__timers ],
225235 "chat_unavalable_hooks" : [self .__chat_unavailable_hooks ],
0 commit comments