funpaybotengine 0.4.3__tar.gz → 0.4.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/PKG-INFO +1 -1
  2. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/events/builtin_events.py +6 -2
  3. funpaybotengine-0.4.5/funpaybotengine/dispatching/routers/base.py +135 -0
  4. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/runner/runner.py +7 -2
  5. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/offers.py +3 -0
  6. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/pyproject.toml +1 -1
  7. funpaybotengine-0.4.3/funpaybotengine/dispatching/routers/base.py +0 -76
  8. funpaybotengine-0.4.3/temp.py +0 -0
  9. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/.github/CODEOWNERS +0 -0
  10. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/.gitignore +0 -0
  11. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/.pre-commit-config.yaml +0 -0
  12. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/LICENSE +0 -0
  13. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/Makefile +0 -0
  14. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/README.md +0 -0
  15. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/examples/basic.py +0 -0
  16. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/examples/temp.py +0 -0
  17. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/examples/with_redis_storage.py +0 -0
  18. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/__init__.py +0 -0
  19. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/base.py +0 -0
  20. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/__init__.py +0 -0
  21. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/bot.py +0 -0
  22. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/default_hooks.py +0 -0
  23. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/session/__init__.py +0 -0
  24. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/session/aiohttp_session.py +0 -0
  25. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/session/base.py +0 -0
  26. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/client/session/http_methods.py +0 -0
  27. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/__init__.py +0 -0
  28. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/events/__init__.py +0 -0
  29. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/events/base.py +0 -0
  30. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/filters/__init__.py +0 -0
  31. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/filters/base.py +0 -0
  32. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/filters/message_filters.py +0 -0
  33. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/filters/order_filters.py +0 -0
  34. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/handlers/__init__.py +0 -0
  35. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/handlers/handler_manager.py +0 -0
  36. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/routers/__init__.py +0 -0
  37. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/dispatching/routers/dispatcher.py +0 -0
  38. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/__init__.py +0 -0
  39. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/action_exceptions.py +0 -0
  40. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/base.py +0 -0
  41. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/bot_exceptions.py +0 -0
  42. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/message_check_errors.py +0 -0
  43. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/runner_exceptions.py +0 -0
  44. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/exceptions/session_exceptions.py +0 -0
  45. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/loggers.py +0 -0
  46. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/__init__.py +0 -0
  47. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/base.py +0 -0
  48. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/calc_chips.py +0 -0
  49. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/calc_lots.py +0 -0
  50. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/check_banned.py +0 -0
  51. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/delete_review.py +0 -0
  52. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_2fa_status.py +0 -0
  53. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_chat_history.py +0 -0
  54. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_chat_page.py +0 -0
  55. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_main_page.py +0 -0
  56. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_my_chips_page.py +0 -0
  57. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_my_offers_page.py +0 -0
  58. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_offer_fields.py +0 -0
  59. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_offer_page.py +0 -0
  60. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_order_page.py +0 -0
  61. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_profile_page.py +0 -0
  62. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_purchases.py +0 -0
  63. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_reviews.py +0 -0
  64. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_sales.py +0 -0
  65. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_settings_page.py +0 -0
  66. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_subcategory_page.py +0 -0
  67. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_telegram_connect_url.py +0 -0
  68. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_transactions.py +0 -0
  69. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/get_transactions_page.py +0 -0
  70. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/logout.py +0 -0
  71. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/mute_chat.py +0 -0
  72. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/raise_offers.py +0 -0
  73. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/refund.py +0 -0
  74. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/review.py +0 -0
  75. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/runner_request.py +0 -0
  76. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/save_offer_fields.py +0 -0
  77. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/set_offers_hidden.py +0 -0
  78. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/update_notice_channel.py +0 -0
  79. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/upload_avatar.py +0 -0
  80. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/methods/upload_image.py +0 -0
  81. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/py.typed +0 -0
  82. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/runner/__init__.py +0 -0
  83. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/runner/config.py +0 -0
  84. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/runner/event_collector.py +0 -0
  85. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/storage/__init__.py +0 -0
  86. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/storage/base.py +0 -0
  87. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/storage/inmemory.py +0 -0
  88. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/storage/redis.py +0 -0
  89. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/__init__.py +0 -0
  90. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/base.py +0 -0
  91. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/calc.py +0 -0
  92. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/categories.py +0 -0
  93. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/chat.py +0 -0
  94. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/common.py +0 -0
  95. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/common_page_elements.py +0 -0
  96. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/enums.py +0 -0
  97. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/finances.py +0 -0
  98. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/messages.py +0 -0
  99. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/orders.py +0 -0
  100. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/__init__.py +0 -0
  101. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/base.py +0 -0
  102. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/chat_page.py +0 -0
  103. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/main_page.py +0 -0
  104. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/my_chips_page.py +0 -0
  105. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/my_offers_page.py +0 -0
  106. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/offer_page.py +0 -0
  107. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/order_page.py +0 -0
  108. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/profile_page.py +0 -0
  109. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/settings_page.py +0 -0
  110. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/subcategory_page.py +0 -0
  111. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/pages/transactions_page.py +0 -0
  112. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/requests/__init__.py +0 -0
  113. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/requests/runner.py +0 -0
  114. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/reviews.py +0 -0
  115. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/settings.py +0 -0
  116. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/types/updates.py +0 -0
  117. {funpaybotengine-0.4.3 → funpaybotengine-0.4.5}/funpaybotengine/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: funpaybotengine
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: Framework for creating FunPay bots.
5
5
  Project-URL: Telegram, https://t.me/funpay_hub
6
6
  Project-URL: Issues, https://github.com/funpayhub/funpaybotengine/issues
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
 
4
4
  __all__ = [
5
+ 'NewEventsPack',
5
6
  'ChatChangedEvent',
6
7
  'NewMessageEvent',
7
8
  'OrderEvent',
@@ -38,9 +39,12 @@ from funpaybotengine.types.chat import PrivateChatPreview
38
39
  from funpaybotengine.types.orders import OrderPreview
39
40
  from funpaybotengine.types.reviews import Review
40
41
  from funpaybotengine.types.messages import Message
42
+ from funpaybotengine.types.pages.order_page import OrderPage
41
43
 
42
- from .base import RunnerEvent
43
- from ...types.pages import OrderPage
44
+ from .base import RunnerEvent, BotEngineEvent
45
+
46
+
47
+ class NewEventsPack(BotEngineEvent[str], event_name='new_events_pack'): ...
44
48
 
45
49
 
46
50
  class ChatChangedEvent(RunnerEvent[PrivateChatPreview], event_name='chat_changed'):
@@ -0,0 +1,135 @@
1
+ from __future__ import annotations
2
+
3
+
4
+ __all__ = ['Router']
5
+
6
+
7
+ from typing import cast
8
+
9
+ from eventry.asyncio.router import Router as BaseRouter
10
+
11
+ from funpaybotengine.dispatching import events
12
+ from funpaybotengine.dispatching.handlers.handler_manager import HandlerManager
13
+
14
+
15
+ class Router(BaseRouter):
16
+ def __init__(self, name: str | None = None) -> None:
17
+ super().__init__(name=name or f'Router{id(self)}')
18
+ self.set_default_handler_manager(HandlerManager(self, 'default', None))
19
+
20
+ self.on_chat_changed = self._add_handler_manager(
21
+ HandlerManager(self, 'on_chat_changed', events.ChatChangedEvent.__event_name__)
22
+ )
23
+ self.on_new_message = self._add_handler_manager(
24
+ HandlerManager(self, 'on_new_message', events.NewMessageEvent.__event_name__)
25
+ )
26
+ self.on_new_sale = self._add_handler_manager(
27
+ HandlerManager(self, 'on_new_sale', events.NewSaleEvent.__event_name__)
28
+ )
29
+ self.on_sale_status_changed = self._add_handler_manager(
30
+ HandlerManager(
31
+ self, 'on_sale_status_changed', events.SaleStatusChangedEvent.__event_name__
32
+ )
33
+ )
34
+ self.on_sale_closed = self._add_handler_manager(
35
+ HandlerManager(self, 'on_sale_closed', events.SaleClosedEvent.__event_name__)
36
+ )
37
+ self.on_sale_closed_by_admin = self._add_handler_manager(
38
+ HandlerManager(
39
+ self, 'on_sale_closed_by_admin', events.SaleClosedByAdminEvent.__event_name__
40
+ )
41
+ )
42
+ self.on_sale_refunded = self._add_handler_manager(
43
+ HandlerManager(self, 'on_sale_refunded', events.SaleRefundedEvent.__event_name__)
44
+ )
45
+ self.on_sale_partially_refunded = self._add_handler_manager(
46
+ HandlerManager(
47
+ self,
48
+ 'on_sale_partially_refunded',
49
+ events.SalePartiallyRefundedEvent.__event_name__,
50
+ )
51
+ )
52
+ self.on_sale_reopened = self._add_handler_manager(
53
+ HandlerManager(self, 'on_sale_reopened', events.SaleReopenedEvent.__event_name__)
54
+ )
55
+ self.on_new_purchase = self._add_handler_manager(
56
+ HandlerManager(self, 'on_new_purchase', events.NewPurchaseEvent.__event_name__)
57
+ )
58
+ self.on_purchase_status_changed = self._add_handler_manager(
59
+ HandlerManager(
60
+ self,
61
+ 'on_purchase_status_changed',
62
+ events.PurchaseStatusChangedEvent.__event_name__,
63
+ )
64
+ )
65
+ self.on_purchase_closed = self._add_handler_manager(
66
+ HandlerManager(self, 'on_purchase_closed', events.PurchaseClosedEvent.__event_name__)
67
+ )
68
+ self.on_purchase_closed_by_admin = self._add_handler_manager(
69
+ HandlerManager(
70
+ self,
71
+ 'on_purchase_closed_by_admin',
72
+ events.PurchaseClosedByAdminEvent.__event_name__,
73
+ )
74
+ )
75
+ self.on_purchase_refunded = self._add_handler_manager(
76
+ HandlerManager(
77
+ self, 'on_purchase_refunded', events.PurchaseRefundedEvent.__event_name__
78
+ )
79
+ )
80
+ self.on_purchase_partially_refunded = self._add_handler_manager(
81
+ HandlerManager(
82
+ self,
83
+ 'on_purchase_partially_refunded',
84
+ events.PurchasePartiallyRefundedEvent.__event_name__,
85
+ )
86
+ )
87
+ self.on_purchase_reopened = self._add_handler_manager(
88
+ HandlerManager(
89
+ self, 'on_purchase_reopened', events.PurchaseReopenedEvent.__event_name__
90
+ )
91
+ )
92
+ self.on_new_review = self._add_handler_manager(
93
+ HandlerManager(self, 'on_new_review', events.NewReviewEvent.__event_name__)
94
+ )
95
+ self.on_review_changed = self._add_handler_manager(
96
+ HandlerManager(self, 'on_review_changed', events.ReviewChangedEvent.__event_name__)
97
+ )
98
+ self.on_review_deleted = self._add_handler_manager(
99
+ HandlerManager(self, 'on_review_deleted', events.ReviewDeletedEvent.__event_name__)
100
+ )
101
+ self.on_new_review_response = self._add_handler_manager(
102
+ HandlerManager(
103
+ self, 'on_new_review_response', events.NewReviewResponseEvent.__event_name__
104
+ )
105
+ )
106
+ self.on_review_response_changed = self._add_handler_manager(
107
+ HandlerManager(
108
+ self,
109
+ 'on_review_response_changed',
110
+ events.ReviewResponseChangedEvent.__event_name__,
111
+ )
112
+ )
113
+ self.on_review_response_deleted = self._add_handler_manager(
114
+ HandlerManager(
115
+ self,
116
+ 'on_review_response_deleted',
117
+ events.ReviewResponseDeletedEvent.__event_name__,
118
+ )
119
+ )
120
+ self.on_error = self._add_handler_manager(HandlerManager(self, 'on_error', 'error'))
121
+ self.on_unauthenticated = self._add_handler_manager(
122
+ HandlerManager(
123
+ self, 'on_unauthenticated', events.BotUnauthenticatedEvent.__event_name__
124
+ )
125
+ )
126
+ self.on_authenticated = self._add_handler_manager(
127
+ HandlerManager(self, 'on_authenticated', events.BotAuthenticatedEvent.__event_name__)
128
+ )
129
+ self.on_new_events_pack = self._add_handler_manager(
130
+ HandlerManager(self, 'on_new_events_pack', events.NewEventsPack.__event_name__)
131
+ )
132
+
133
+ @property
134
+ def on_event(self) -> HandlerManager:
135
+ return cast(HandlerManager, self._default_handler_manager)
@@ -17,6 +17,7 @@ from funpaybotengine.storage.base import Storage
17
17
  from funpaybotengine.dispatching.events import BotAuthenticatedEvent, BotUnauthenticatedEvent
18
18
 
19
19
  from .config import Backoff, RunnerConfig
20
+ from ..dispatching import NewEventsPack
20
21
  from .event_collector import EventCollector
21
22
 
22
23
 
@@ -27,7 +28,7 @@ if TYPE_CHECKING:
27
28
 
28
29
  @dataclass
29
30
  class EventsStack:
30
- events: tuple[RunnerEvent[Any], ...]
31
+ events: tuple[RunnerEvent[Any] | BotEngineEvent[Any], ...]
31
32
  data: dict[Any, Any] = field(default_factory=dict)
32
33
  id: str = field(init=False, default='')
33
34
 
@@ -113,7 +114,11 @@ class Runner:
113
114
  )
114
115
  sleep_time = backoff.current_delay
115
116
 
116
- events_stack = EventsStack(events=tuple(result))
117
+ events_stack = EventsStack(events=())
118
+ if not backoff.counter:
119
+ result.insert(0, NewEventsPack(object=events_stack.id))
120
+ events_stack.events = tuple(result)
121
+
117
122
  for i in events_stack:
118
123
  yield i, events_stack
119
124
 
@@ -99,6 +99,9 @@ class OfferPreview(FunPayObject, BaseModel):
99
99
  (not all entries have a name).
100
100
  """
101
101
 
102
+ disabled: bool = False
103
+ """Whether the offer is disabled (defaults to ``False``)."""
104
+
102
105
 
103
106
  T = TypeVar('T')
104
107
  P = ParamSpec('P')
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "funpaybotengine"
3
- version = "0.4.3"
3
+ version = "0.4.5"
4
4
  description = "Framework for creating FunPay bots."
5
5
  requires-python = ">=3.10"
6
6
  readme = "README.md"
@@ -1,76 +0,0 @@
1
- from __future__ import annotations
2
-
3
-
4
- __all__ = ['Router']
5
-
6
-
7
- from typing import cast
8
-
9
- from eventry.asyncio.router import Router as BaseRouter
10
-
11
- from funpaybotengine.dispatching.handlers.handler_manager import HandlerManager
12
-
13
-
14
- _events = {
15
- 'chat_changed',
16
- 'new_message',
17
- 'new_sale',
18
- 'sale_closed_by_admin',
19
- 'sale_closed',
20
- 'sale_partially_refunded',
21
- 'sale_refunded',
22
- 'sale_reopened',
23
- 'sale_status_changed',
24
- 'new_purchase',
25
- 'purchase_closed_by_admin',
26
- 'purchase_closed',
27
- 'purchase_partially_refunded',
28
- 'purchase_refunded',
29
- 'purchase_reopened',
30
- 'purchase_status_changed',
31
- 'new_review',
32
- 'review_changed',
33
- 'review_deleted',
34
- 'new_review_response',
35
- 'review_response_changed',
36
- 'review_response_deleted',
37
- 'error',
38
- }
39
-
40
-
41
- class Router(BaseRouter):
42
- on_chat_changed: HandlerManager
43
- on_new_message: HandlerManager
44
- on_new_sale: HandlerManager
45
- on_sale_status_changed: HandlerManager
46
- on_sale_closed: HandlerManager
47
- on_sale_closed_by_admin: HandlerManager
48
- on_sale_refunded: HandlerManager
49
- on_sale_partially_refunded: HandlerManager
50
- on_sale_reopened: HandlerManager
51
- on_new_purchase: HandlerManager
52
- on_purchase_status_changed: HandlerManager
53
- on_purchase_closed: HandlerManager
54
- on_purchase_closed_by_admin: HandlerManager
55
- on_purchase_refunded: HandlerManager
56
- on_purchase_partially_refunded: HandlerManager
57
- on_purchase_reopened: HandlerManager
58
- on_new_review: HandlerManager
59
- on_review_changed: HandlerManager
60
- on_review_deleted: HandlerManager
61
- on_new_review_response: HandlerManager
62
- on_review_response_changed: HandlerManager
63
- on_review_response_deleted: HandlerManager
64
- on_error: HandlerManager
65
-
66
- def __init__(self, name: str | None = None) -> None:
67
- super().__init__(name=name or f'Router{id(self)}')
68
- self.set_default_handler_manager(HandlerManager(self, 'default', None))
69
-
70
- for name in _events:
71
- manager = self._add_handler_manager(HandlerManager(self, f'on_{name}', name))
72
- setattr(self, f'on_{name}', manager)
73
-
74
- @property
75
- def on_event(self) -> HandlerManager:
76
- return cast(HandlerManager, self._default_handler_manager)
File without changes
File without changes