pohemu_by_i_net
@pohemu_by_i_net
разработчик мобильных игр

Почему telegram web aps api выдает ошибку?

столкнулся со странной ошибкой
буду рад вашей помощи

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v18</title>
    <script src="https://telegram.org/js/telegram-web-app.js"></script>
</head>
<body>

    <div id="main">

        <button id="btn0">btn0</button>
        <p id="idTx">null</p>
        <button id="btn1">btn1</button>

    </div>

    

    <script>

        let tg = window.Telegram.WebApp;
        
        let btn0 = document.getElementById("btn0");
        let btn1 = document.getElementById("btn1");
        let idTg = tg.initDataUnsafe.user.id;
        
        btn0.addEventListener("click", () => {
            
            document.getElementById("idTx").innerHTML = idTg;

        });

        btn1.addEventListener("click", () => {
            console.log("btn1 cliked");
            tg.close();
        });

    </script>

</body>
</html>

этот код расположен по адресу:
https://bikmeev.github.io/id.html

вот код бота:

from aiogram import Bot, Dispatcher, types
from aiogram.types.web_app_info import WebAppInfo
import aiogram

API_TOKEN = ''

bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])
async def send_ftowa(message: types.Message):
    markup = types.ReplyKeyboardMarkup()
    markup.add(types.KeyboardButton('открыть сайт', web_app=WebAppInfo(url='https://bikmeev.github.io/id.html')))
    await bot.send_message(chat_id=message.chat.id,
                           text="Hello! Click the button to open the website",
                           reply_markup=markup)


if __name__ == "__main__":
    from aiogram import executor
    executor.start_polling(dp, skip_updates=True)


проблема в том что в консоли браузера выдает ошибку
id.html:29 Uncaught TypeError: Cannot read properties of undefined (reading 'id')
at id.html:29:43

библиотека подключена и работает
об этом свидетельствует
функция tg.close(); которая работает корректно
однако ошибка в этой строчке
tg.initDataUnsafe.user.id;

сделал как сказано в документации
  • Вопрос задан
  • 252 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы