4killU

Untitled

Feb 11th, 2022
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.01 KB | None | 0 0
  1. import hashlib
  2. import logging
  3. from aiogram import Bot, Dispatcher, executor, types
  4. from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
  5. from aiogram.types import InlineQuery, InputTextMessageContent
  6.  
  7. logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
  8. logger = logging.getLogger(__name__)
  9.  
  10. bot = Bot('token')
  11. dp = Dispatcher(bot)
  12.  
  13. but1 = InlineKeyboardButton('Кнопка 1', callback_data='test')
  14. but2 = InlineKeyboardButton('Кнопка 2', callback_data='test2')
  15. but3 = InlineKeyboardButton('Кнопка 3', callback_data='test3')
  16. but4 = InlineKeyboardButton('Кнопка 3', callback_data='test4')
  17. but5 = InlineKeyboardButton('Кнопка 3', callback_data='test5')
  18. inline_test_kb1 = InlineKeyboardMarkup(row_width=1).row(but1)
  19. inline_test_kb2 = InlineKeyboardMarkup(row_width=1).row(but2)
  20. inline_test_kb3 = InlineKeyboardMarkup(row_width=1).row(but3)
  21. inline_test_kb4 = InlineKeyboardMarkup(row_width=1).row(but4)
  22. inline_test_kb5 = InlineKeyboardMarkup(row_width=1).row(but5)
  23.  
  24.  
  25. @dp.inline_handler()
  26. async def inline_echo(inline_query: InlineQuery):
  27.     text = inline_query.query or 'Тут сообщение, а внизу кнопки'
  28.     input_content = InputTextMessageContent(text)
  29.     result_id: str = hashlib.md5(text.encode()).hexdigest()
  30.     item = types.InlineQueryResultArticle(
  31.         id=result_id,
  32.         title='Выводимое мне inline сообщение',
  33.         description="просто ссылка",
  34.         hide_url=False,
  35.         input_message_content=InputTextMessageContent(
  36.             message_text="My mess",
  37.         ),
  38.         reply_markup=inline_test_kb1
  39.     )
  40.     await bot.answer_inline_query(inline_query.id, results=[item], cache_time=1)
  41.  
  42.  
  43. @dp.message_handler(commands=['start', 'help'])
  44. async def start(message: types.message):
  45.     if message.text == '/start':
  46.         await bot.send_message(message.from_user.id,
  47.                                f"Приветствую тебя, {message.from_user.first_name}")
  48.  
  49.  
  50. @dp.callback_query_handler(text=['test', 'tested', 'mytest'])
  51. async def send_random_value(call: types.CallbackQuery):
  52.     if call.data == 'test':
  53.         await bot.edit_message_text(text='Текст -2', inline_message_id=call.inline_message_id,
  54.                                     reply_markup=inline_test_kb2)
  55.     elif call.data == 'test2':
  56.         await bot.edit_message_text(text='Текст -3', inline_message_id=call.inline_message_id,
  57.                                     reply_markup=inline_test_kb3)
  58.     elif call.data == 'test3':
  59.         await bot.edit_message_text(text='Текст -4 ', inline_message_id=call.inline_message_id,
  60.                                     reply_markup=inline_test_kb4)
  61.     elif call.data == 'test4':
  62.         await bot.edit_message_text(text='Текст -5', inline_message_id=call.inline_message_id,
  63.                                     reply_markup=inline_test_kb5)
  64.  
  65.  
  66. if __name__ == "__main__":
  67.     executor.start_polling(dp, skip_updates=True)
  68.  
Advertisement
Add Comment
Please, Sign In to add comment