@samanwirst
Вроде бы человек

Как открывать локальные .html файлы через web_app, aiogram?

У меня есть Aiogram бот с кнопочками, нажимая которые пользователя будет переводить в web_app. Проблема в том, что он принимает только онлайн страницы, но мне нужно открывать локальные, в одной папке.
Возможно ли это?

Код:
import logging
from aiogram import Bot, Dispatcher, types, executor
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types import MenuButtonWebApp, WebAppInfo

API_TOKEN = ''
logging.basicConfig(level=logging.INFO)
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

@dp.message_handler()
async def msg_reply(msg: types.Message):
    global userID
    userID = msg.from_user.id

    keyboard = types.InlineKeyboardMarkup()
    keyboard.add(types.InlineKeyboardButton(text="First Button", web_app=WebAppInfo(url="/index.html")))
    keyboard.add(types.InlineKeyboardButton(text="Second Button", web_app=WebAppInfo(url="/index1.html")))
    await msg.answer("Choose the button", reply_markup=keyboard)
    
if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)


Ошибка:
aiogram.utils.exceptions.URLHostIsEmpty: Inline keyboard button web app url '/index.html' is invalid: url host is empty


UPD: Локально запустить к сожалению нельзя, требуется использовать сервер
  • Вопрос задан
  • 658 просмотров
Решения вопроса 1
gnifajio
@gnifajio
Совершенствуюсь каждый день
Ответ прост: никак. Нужно поднимать сервер, и работать с него.
Алан Гибизов правильно говорит: /index.html означает что файл лежит в корне.
А ошибка ваша дословно переводится как
Url веб-приложения кнопки инлайн-клавиатуры '/index.html' неверен: url-адрес хоста пуст
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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