TelegramByLeo/Src/Events/Def.mqh
103 lines
7.6 KiB
MQL5
Nique_372
2026-10-31 15:20:04 -05:00
//+------------------------------------------------------------------+
//| 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