| //+------------------------------------------------------------------+
|
| //| Def.mqh |
|
| //| Copyright 2026, Niquel Mendoza. |
|
| //| https://www.mql5.com |
|
| //+------------------------------------------------------------------+
|
| #property copyright "Copyright 2026, Niquel Mendoza."
|
| #property link "https://www.mql5.com"
|
| #property strict
|
|
|
| #ifndef TELEGRAMBYLEO_SRC_EVENTS_DEF_MQH
|
| #define TELEGRAMBYLEO_SRC_EVENTS_DEF_MQH
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| #include "..\\TlgHandler.mqh"
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| namespace TSN
|
| {
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| //--- Funcion make
|
| #define TELEGRAMBYELO_REG_FLAG_MAKE(EVENT) (1u<<((EVENT)-1))
|
|
|
| //--- Flags especificas
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_MESSAGE (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_MESSAGE))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_EDITED_MESSAGE (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_EDITED_MESSAGE))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_CHANNEL_POST (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_CHANNEL_POST))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_EDITED_CHANNEL_POST (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_EDITED_CHANNEL_POST))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_BUSINESS_CONNECTION (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_BUSINESS_CONNECTION))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_BUSINESS_MESSAGE (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_BUSINESS_MESSAGE))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_EDITED_BUSINESS_MESSAGE (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_EDITED_BUSINESS_MESSAGE))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_DELETED_BUSINESS_MESSAGES (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_DELETED_BUSINESS_MESSAGES))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_GUEST_MESSAGE (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_GUEST_MESSAGE))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_MESSAGE_REACTION (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_MESSAGE_REACTION))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_MESSAGE_REACTION_COUNT (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_MESSAGE_REACTION_COUNT))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_INLINE_QUERY (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_INLINE_QUERY))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_CHOSEN_INLINE_RESULT (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_CHOSEN_INLINE_RESULT))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_CALLBACK_QUERY (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_CALLBACK_QUERY))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_SHIPPING_QUERY (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_SHIPPING_QUERY))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_PRE_CHECKOUT_QUERY (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_PRE_CHECKOUT_QUERY))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_PURCHASED_PAID_MEDIA (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_PURCHASED_PAID_MEDIA))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_POLL (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_POLL))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_POLL_ANSWER (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_POLL_ANSWER))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_MY_CHAT_MEMBER (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_MY_CHAT_MEMBER))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_CHAT_MEMBER (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_CHAT_MEMBER))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_CHAT_JOIN_REQUEST (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_CHAT_JOIN_REQUEST))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_CHAT_BOOST (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_CHAT_BOOST))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_REMOVED_CHAT_BOOST (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_REMOVED_CHAT_BOOST))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_MANAGED_BOT (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_MANAGED_BOT))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_SUBSCRIPTION (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_SUBSCRIPTION))
|
| #define TELEGRAMBYLEO_REG_FLAG_ON_STOPPED_MESSAGE_GENERATION (TELEGRAMBYELO_REG_FLAG_MAKE(TELEGRAMBYLEO_GETUPT_K_STOPPED_MESSAGE_GENERATION))
|
|
|
| //--- Todos
|
| #define TELEGRAMBYLEO_REG_FLAG_ALL (TELEGRAMBYLEO_REG_FLAG_ON_MESSAGE | TELEGRAMBYLEO_REG_FLAG_ON_EDITED_MESSAGE | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_CHANNEL_POST | TELEGRAMBYLEO_REG_FLAG_ON_EDITED_CHANNEL_POST | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_BUSINESS_CONNECTION | TELEGRAMBYLEO_REG_FLAG_ON_BUSINESS_MESSAGE | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_EDITED_BUSINESS_MESSAGE | TELEGRAMBYLEO_REG_FLAG_ON_DELETED_BUSINESS_MESSAGES | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_GUEST_MESSAGE | TELEGRAMBYLEO_REG_FLAG_ON_MESSAGE_REACTION | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_MESSAGE_REACTION_COUNT | TELEGRAMBYLEO_REG_FLAG_ON_INLINE_QUERY | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_CHOSEN_INLINE_RESULT | TELEGRAMBYLEO_REG_FLAG_ON_CALLBACK_QUERY | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_SHIPPING_QUERY | TELEGRAMBYLEO_REG_FLAG_ON_PRE_CHECKOUT_QUERY | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_PURCHASED_PAID_MEDIA | TELEGRAMBYLEO_REG_FLAG_ON_POLL | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_POLL_ANSWER | TELEGRAMBYLEO_REG_FLAG_ON_MY_CHAT_MEMBER | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_CHAT_MEMBER | TELEGRAMBYLEO_REG_FLAG_ON_CHAT_JOIN_REQUEST | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_CHAT_BOOST | TELEGRAMBYLEO_REG_FLAG_ON_REMOVED_CHAT_BOOST | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_MANAGED_BOT | TELEGRAMBYLEO_REG_FLAG_ON_SUBSCRIPTION | \
|
| TELEGRAMBYLEO_REG_FLAG_ON_STOPPED_MESSAGE_GENERATION)
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| #define TELEGRAMBYLEO_EVENTS_NOTIFY(arr, arr_size, method, node) for(int __i = 0; __i < arr_size; __i++) { arr[__i].method(node); }
|
|
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| #ifndef TELEGRAMBYLEO_EVENTS_DEFAULT_RADD
|
| #define TELEGRAMBYLEO_EVENTS_DEFAULT_RADD (32)
|
| #endif // TELEGRAMBYLEO_EVENTS_DEFAULT_RADD
|
|
|
| //---
|
| #ifndef TELEGRAMBYLEO_EVENTS_ADD_NEWEL
|
| #define TELEGRAMBYLEO_EVENTS_ADD_NEWEL(ARR, SIZE, PTR) \
|
| if(SIZE >= ArraySize(ARR)) \
|
| { \
|
| const int ns = ArraySize(ARR) + TELEGRAMBYLEO_EVENTS_DEFAULT_RADD; \
|
| ArrayResize(ARR, ns, ns); \
|
| } \
|
| ARR[SIZE++] = PTR; \
|
|
|
| //---
|
| #endif // TELEGRAMBYLEO_EVENTS_ADD_NEWEL
|
|
|
| //---
|
| }
|
|
|
| #endif // TELEGRAMBYLEO_SRC_EVENTS_DEF_MQH
|