public async Task <IHttpActionResult> GetMessages()
        {
            try
            {
                if (_isSendingMessage)
                {
                    return(CustomResult());
                }

                var config = await _configService.GetConfig();

                var result = await _messengerService.GetMessages(long.Parse(config.LastMessageId));

                if (result != null && result.Data.MessageList.Count > 0)
                {
                    _isSendingMessage = true;

                    var listOfMessageList = result.Data.MessageList.GroupBy(x => x.ChatId).Select(x => x.ToList()).ToList();

                    foreach (var messageList in listOfMessageList)
                    {
                        var myMessage = messageList.OrderByDescending(x => x.MessageId).FirstOrDefault();

                        if (myMessage?.ChatId == null /*|| myMessage.ChatId != "b_7149751_7"*/)
                        {
                            continue;
                        }

                        await _configService.UpdateLastMessageId(myMessage.MessageId);

                        var tuple = await Command(myMessage);

                        await _messengerService.SendMessage(tuple.model);
                    }

                    _isSendingMessage = false;
                }
            }
            catch (Exception e)
            {
                _isSendingMessage = false;
                return(CustomError(e));
            }
            return(CustomResult());
        }