//+------------------------------------------------------------------+ //| 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