Advertisement
Dimaush

Code for Umschool Python marathon bot

Nov 29th, 2023
849
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. import telebot
  2. bot = telebot.TeleBot(...)
  3.  
  4. from telebot import types
  5.  
  6. name = '';
  7. surname = '';
  8. age = 0;
  9. @bot.message_handler(content_types=['text'])
  10. def main(message):
  11.     if message.text == '/reg':
  12.         bot.send_message(message.from_user.id, "Как тебя зовут?");
  13.         bot.register_next_step_handler(message, get_name);
  14.     else:
  15.         bot.send_message(message.from_user.id, 'Напиши /reg');
  16.  
  17. def get_name(message):
  18.     global name;
  19.     name = message.text;
  20.     bot.send_message(message.from_user.id, 'Какая у тебя фамилия?');
  21.     bot.register_next_step_handler(message, get_surname);
  22.  
  23. def get_surname(message):
  24.     global surname;
  25.     surname = message.text;
  26.     bot.send_message(message.from_user.id, 'Сколько тебе лет?');
  27.     bot.register_next_step_handler(message, get_age);
  28.  
  29. def get_age(message):
  30.     global age;
  31.     while age == 0:
  32.         try:
  33.              age = int(message.text)
  34.         except Exception:
  35.              bot.send_message(message.from_user.id, 'Цифрами, пожалуйста');
  36.         bot.send_message(message.from_user.id, 'Тебе '+str(age)+' лет, тебя зовут '+name+' '+surname+'?')
  37.  
  38. def get_age(message):
  39.     global age;
  40.     while age == 0:
  41.         try:
  42.              age = int(message.text)
  43.         except Exception:
  44.              bot.send_message(message.from_user.id, 'Цифрами, пожалуйста');
  45.         keyboard = types.InlineKeyboardMarkup();
  46.         key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes');
  47.         keyboard.add(key_yes);
  48.         key_no= types.InlineKeyboardButton(text='Нет', callback_data='no');
  49.         keyboard.add(key_no);
  50.         question = 'Тебе '+str(age)+' лет, тебя зовут '+name+' '+surname+'?';
  51.         bot.send_message(message.from_user.id, text=question, reply_markup=keyboard)
  52.  
  53. @bot.callback_query_handler(func=lambda call: True)
  54. def callback_worker(call):
  55.     if call.data == "yes":
  56.         bot.send_message(call.message.chat.id, 'Запомню :)');
  57.     elif call.data == "no":
  58.         bot.send_message(call.message.chat.id, 'Упс :(');
  59.  
  60. bot.infinity_polling()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement