How Telegram uses a private API dynamically