无法创建 web_app 按钮 aiogram
unable to create web_app button aiogram
下午好,最近在电报中发布了更新并添加了 web_app 按钮。导致电报本身的“站点”,文档说您需要将脚本导入页面并在 bot
中创建一个按钮
html:
<html>
<head>
<script src="https://telegram.org/js/telegram-web-app.js"></script>
</head>
</html>
使用按钮发送消息的代码:
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types.web_app_info import WebAppInfo
await msg.reply("test", reply_markup=InlineKeyboardMarkup().add(InlineKeyboardButton(text="test", web_app=WebAppInfo(url="https://test_link"))))
错误:
Button_type_invalid
提前感谢您的帮助)
更新:您不能在非个人消息中向用户发送带有 web_app 类型按钮的消息。尝试这样做会产生错误“Button_type_invalid”
这样试一下,对我来说一切正常,虽然昨天我也遇到了这个错误,但很奇怪。
运行 此代码与您的 API 令牌:
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types.web_app_info import WebAppInfo
API_TOKEN = 'your bot api token'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands="start")
async def cmd_start(message: types.Message):
await message.answer("test",
reply_markup=InlineKeyboardMarkup().add(InlineKeyboardButton(text="test",
web_app=WebAppInfo(url="https://github.com/aiogram/aiogram/issues/891"))))
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
下午好,最近在电报中发布了更新并添加了 web_app 按钮。导致电报本身的“站点”,文档说您需要将脚本导入页面并在 bot
中创建一个按钮html:
<html>
<head>
<script src="https://telegram.org/js/telegram-web-app.js"></script>
</head>
</html>
使用按钮发送消息的代码:
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types.web_app_info import WebAppInfo
await msg.reply("test", reply_markup=InlineKeyboardMarkup().add(InlineKeyboardButton(text="test", web_app=WebAppInfo(url="https://test_link"))))
错误:
Button_type_invalid
提前感谢您的帮助)
更新:您不能在非个人消息中向用户发送带有 web_app 类型按钮的消息。尝试这样做会产生错误“Button_type_invalid”
这样试一下,对我来说一切正常,虽然昨天我也遇到了这个错误,但很奇怪。 运行 此代码与您的 API 令牌:
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types.web_app_info import WebAppInfo
API_TOKEN = 'your bot api token'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands="start")
async def cmd_start(message: types.Message):
await message.answer("test",
reply_markup=InlineKeyboardMarkup().add(InlineKeyboardButton(text="test",
web_app=WebAppInfo(url="https://github.com/aiogram/aiogram/issues/891"))))
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)