Для создания чат бота с помощью aiogram с такой структурой кнопок и ссылок, вам понадобится следующий код:
import logging from aiogram import Bot, Dispatcher, types from aiogram.contrib.middlewares.logging import LoggingMiddleware from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton API_TOKEN = 'YOUR_API_TOKEN' logging.basicConfig(level=logging.INFO) bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) dp.middleware.setup(LoggingMiddleware()) @dp.message_handler(commands=['start']) async def start(message: types.Message): keyboard = InlineKeyboardMarkup(row_width=2) buttons = [ InlineKeyboardButton(text="Button 1", callback_data='button1'), InlineKeyboardButton(text="Button 2", callback_data='button2'), InlineKeyboardButton(text="Button 3", callback_data='button3'), InlineKeyboardButton(text="Button 4", callback_data='button4') ] keyboard.add(*buttons) await message.answer("Choose a button:", reply_markup=keyboard) @dp.callback_query_handler(lambda query: query.data.startswith('button')) async def process_callback(callback_query: types.CallbackQuery): button_num = int(callback_query.data[-1]) keyboard = InlineKeyboardMarkup(row_width=2) buttons = [ InlineKeyboardButton(text="Link 1", url='http://link1.com'), InlineKeyboardButton(text="Link 2", url='http://link2.com'), InlineKeyboardButton(text="Link 3", url='http://link3.com'), InlineKeyboardButton(text="Link 4", url='http://link4.com') ] keyboard.add(*buttons) await bot.send_message(callback_query.from_user.id, f"You pressed button {button_num}. Choose a link:", reply_markup=keyboard) if __name__ == '__main__': import asyncio loop = asyncio.get_event_loop() loop.create_task(dp.start_polling()) loop.run_forever()
Замените 'YOUR_API_TOKEN'
на ваш токен Telegram бота. Запустите скрипт, и бот будет отвечать на команду /start
кнопками, при нажатии на которые будут выводиться ссылки на другие сайты.
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.