const tgInfo={ isInit:false, } const checkLoadTelegramJs=async ()=>{ if (tgInfo.isInit)return true; let isInTG=window.location.hash.indexOf("tgWebAppData") !== -1; if (!isInTG)return false; return new Promise( (t, n) => { var q = document.createElement("script"); q.type = "text/javascript"; q.src = "https://telegram.org/js/telegram-web-app.js?56"; document.body.appendChild(q); const r = setTimeout( () => { q.onerror = null; q.onload = null; t(false); }, 10000); q.onload = () => { clearTimeout(r); console.log("finish telegram js"); tgInfo.isInit=true; t(true); }; q.onerror = () => { clearTimeout(r); q.onerror = null; q.onload = null; n(false) } }); } const init=async ()=>{ return await checkLoadTelegramJs(); } const getTGWebApp=()=>{ let Telegram=window.Telegram; if (Telegram){ return Telegram.WebApp; } return null; } const getInitData=()=>{ //window.Telegram.WebApp.initData let webApp=getTGWebApp(); if (webApp)return webApp.initData; return ""; } const getTGUser=()=>{ let webApp=getTGWebApp(); if (webApp){ let initDataUnsafe=webApp.initDataUnsafe; if (initDataUnsafe){ return initDataUnsafe.user; } } return null; } const TGHelper={ init, getTGWebApp, getInitData, getTGUser } export default TGHelper;