Dolban1337

Untitled

Aug 31st, 2020
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.85 KB | None | 0 0
  1. import telebot
  2. from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton
  3. bot = telebot.TeleBot('1236132073:AAEtZk-gz5y17tf8f11ofgtBCpw0R4dGiEw')
  4.  
  5.  
  6. sectionhandler = ['section1',
  7.                 'section2',
  8.                 'back']
  9.  
  10. reginhandler = ['UK',
  11.                 'RU',
  12.                 'EU']
  13.  
  14. keyboardMain = InlineKeyboardMarkup()
  15. keyboardMain.row_width = 2
  16. keyboardMain.add(InlineKeyboardButton("Раздел 1", callback_data="section1"))
  17. keyboardMain.add(InlineKeyboardButton("Раздел 2", callback_data="section2"))
  18.  
  19. keyboardRegion = InlineKeyboardMarkup()
  20. keyboardRegion.row_width = 4
  21. keyboardRegion.add(InlineKeyboardButton("UK", callback_data="uk"))
  22. keyboardRegion.add(InlineKeyboardButton("RU", callback_data="ru"))
  23. keyboardRegion.add(InlineKeyboardButton("EU", callback_data="eu"))
  24. keyboardRegion.add(InlineKeyboardButton("Назад", callback_data="back"))
  25.  
  26.  
  27. @bot.message_handler(commands=['start'])
  28. def start(message):
  29.     bot.send_message(message.chat.id, """Текст""", reply_markup=keyboardMain)
  30.  
  31.  
  32.  
  33. @bot.callback_query_handler(func=lambda call: call.data in sectionhandler)
  34. def section(call):
  35.     print(call.data)
  36.     if call.data == 'section1':
  37.         bot.send_message(call.from_user.id, """Опять текст""", reply_markup=keyboardRegion)
  38.  
  39.     elif call.data == 'section2':
  40.         bot.send_message(call.from_user.id, """Ещё текст""", reply_markup=keyboardRegion)
  41.  
  42.     elif call.data == 'back':
  43.         bot.send_message(call.from_user.id, """Текст""", reply_markup=keyboardMain)
  44.  
  45.  
  46. @bot.callback_query_handler(func=lambda call: call.data in reginhandler)
  47. def region(call):
  48.     if call.data == 'uk':
  49.         bot.send_message(call.from_user.id, """ Текст""")
  50.     elif call.data == 'ru':
  51.         bot.send_message(call.from_user.id, """ Текст""")
  52.     elif call.data == 'ua':
  53.         bot.send_message(call.from_user.id, """ Текст""")
  54.     elif call.data == 'ua':
  55.         bot.send_message(call.from_user.id, """ Текст""", reply_markup=keyboardMain)
  56.  
  57.  
  58. @bot.callback_query_handler(func=lambda call: True ) # должен каким то образом принимать на вход call.data с функции region и функции section, ваще не ебу как такое можно реализовать
  59. def info(call):
  60.     print(lastmove, call.data)
  61.     bot.send_message(call.from_user.id, f"""Текст""")
  62.  
  63.     '''
  64.     Тут бот должен отправить сообщение, в котором будет содержаться информация о том какой регион и раздел выбрал пользователь
  65.     как это реализовать? Как донести эту информацию в этот handler?? допоможить
  66.  
  67.     Пример:
  68.     Город - {тут в зависимости от call.data, к примеру если uk, тогда текстом UK}
  69.     Раздел - {аналогично}
  70.     '''
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77. bot.polling()
  78.  
Advertisement
Add Comment
Please, Sign In to add comment