public async Task <(string, bool, string)> Handle(CallbackQuery data, object context = default, CancellationToken cancellationToken = default)
        {
            var callback = data.Data.Split(':');

            if (callback[0] != "clone")
            {
                return(null, false, null);
            }

            if (!int.TryParse(callback.ElementAtOrDefault(1) ?? "", NumberStyles.Integer, CultureInfo.InvariantCulture, out var pollId))
            {
                return("Poll is publishing. Try later.", true, null);
            }

            var poll = await myContext
                       .Set <Poll>()
                       .Where(_ => _.Id == pollId)
                       .IncludeRelatedData()
                       .FirstOrDefaultAsync(cancellationToken);

            if (poll == null)
            {
                return("Poll is not found", true, null);
            }

            var pollMessage = new PollMessage
            {
                ChatId           = data.From.Id,
                ChatType         = ChatType.Private,
                UserId           = data.From.Id,
                InlineMesssageId = data.InlineMessageId,
                Poll             = poll
            };
            await myRaidService.AddPollMessage(pollMessage, myUrlHelper, cancellationToken);

            var botUser = await myBot.GetMeAsync(cancellationToken);

            return(null, false, $"https://t.me/{botUser.Username}?start={pollMessage.GetExtendedPollId()}");
        }