diff --git a/BotCode/__init__.py b/BotCode/__init__.py index f8dada6..381b080 100644 --- a/BotCode/__init__.py +++ b/BotCode/__init__.py @@ -3,6 +3,7 @@ from aiogram import Router from .routers import router as all_routers +from .inline import router as inline_routers from .inline import * from .keyboards import * from .utils import * @@ -11,4 +12,7 @@ from .utils import * router = Router(name="main_router") # Список подключаемых роутеров сверху-вниз -router.include_routers(all_routers) +router.include_routers( + all_routers, + inline_routers, +) diff --git a/BotCode/inline/__init__.py b/BotCode/inline/__init__.py index 21df62e..4fea106 100644 --- a/BotCode/inline/__init__.py +++ b/BotCode/inline/__init__.py @@ -1,4 +1,15 @@ # BotCode/inline/__init__.py # Инициализация модуля inline, для создания inline-команд -# Экспортирование модулей во внешние слои проекта +from aiogram import Router +from .reklama import router as reklama_router + +# Объявление главного роутера и настройка экспорта модулей +__all__ = ("router",) +router = Router(name="inline_routers") + + +# Список подключаемых роутеров сверху-вниз +router.include_routers( + reklama_router, +) \ No newline at end of file diff --git a/BotCode/inline/reklama.py b/BotCode/inline/reklama.py new file mode 100644 index 0000000..13c9da7 --- /dev/null +++ b/BotCode/inline/reklama.py @@ -0,0 +1,43 @@ +# BotCode/inline/reklama.py +# Работа с инлайн запросами на рекламу + +from aiogram import Router, types +from aiogram.types import InlineQueryResultPhoto +from BotLibrary import bot + +# Настройка экспорта в модули +router = Router(name="reklama_inline_router") +image_url = "https://cdn.tripster.ru/photos/0bc3afa7-3847-4b47-aaf1-60202f48fb2a.jpg" # URL изображения + +@router.callback_query(lambda c: c.data == 'button_1') +async def process_callback_button(callback_query: types.CallbackQuery): + await bot.answer_callback_query(callback_query.id, text="Вы нажали первую кнопку!") + await bot.send_message(callback_query.from_user.id, "Ответ на вашу кнопку.") + +@router.inline_query() +async def inline_echo(inline_query: types.InlineQuery): + # Содержимое запроса + query = inline_query.query + + # Подготавливаем результат для ответа + if query: + # Отправляем заготовленное сообщение с инлайн кнопками + result_id = inline_query.id # уникальный ID для запроса + + # Создаем инлайн результат с изображением + items = [ + InlineQueryResultPhoto( + id=result_id, + photo_url=image_url, # URL изображения + thumbnail_url=image_url, # Миниатюра изображения + caption="Это сообщение с изображением и инлайн кнопками!", # Текст, который будет показываться под изображением + reply_markup=types.InlineKeyboardMarkup( + inline_keyboard=[ + [types.InlineKeyboardButton(text="Посмотреть инфо-канал", url="https://t.me/adeptusfiziks")], + [types.InlineKeyboardButton(text="Вторая кнопка", callback_data="button_1")], + ] + ) + ) + ] + # Отправляем результат в инлайн режиме + await bot.answer_inline_query(inline_query.id, items) diff --git a/ProjectsFiles/media/Banners/reklama_banner.jpg b/ProjectsFiles/media/Banners/reklama_banner.jpg new file mode 100644 index 0000000..868d4b2 Binary files /dev/null and b/ProjectsFiles/media/Banners/reklama_banner.jpg differ diff --git a/SQLite3/bd.db b/SQLite3/bd.db index 9e51c32..e949ad6 100644 Binary files a/SQLite3/bd.db and b/SQLite3/bd.db differ