Обсуждение:Заглавная страница: различия между версиями

Материал из wiki-MyMakerBot
Строка 1: Строка 1:
import telebot
+
import telebot;from telebot import types
import config
+
bot = telebot.TeleBot('%1648533067:AAFHs6gGejPbenCa50qjZmQZGggHgLEYBqQ%');@bot.message_handler(content_types=['text'])
import random
+
def get_text_messages(message):@bot.message_handler(content_types=['text', 'document', 'audio'])if message.text == "Привет":
+
     bot.send_message(message.from_user.id, "Привет, чем я могу тебе помочь?")
from telebot import types
+
elif message.text == "/help":
+
     bot.send_message(message.from_user.id, "Напиши привет")
bot = telebot.TeleBot(config.TOKEN)
+
else:
+
     bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")bot.polling(none_stop=True, interval=0)name = '';
@bot.message_handler(commands=['start'])
+
surname = '';
def welcome(message):
+
age = 0;
    sti = open('static/welcome.webp', 'rb')
 
     bot.send_sticker(message.chat.id, sti)
 
 
    # keyboard
 
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
 
    item1 = types.KeyboardButton("🎲 Рандомное число")
 
     item2 = types.KeyboardButton("😊 Как дела?")
 
 
    markup.add(item1, item2)
 
 
     bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот созданный чтобы консультировать по ремонту телефонов.".format(message.from_user, bot.get_me()),
 
        parse_mode='html', reply_markup=markup)
 
 
 
@bot.message_handler(content_types=['text'])
 
@bot.message_handler(content_types=['text'])
def lalala(message):
+
def start(message):
     if message.chat.type == 'private':
+
     if message.text == '/reg':
         if message.text == '🎲 Рандомное число':
+
         bot.send_message(message.from_user.id, "Как тебя зовут?");
            bot.send_message(message.chat.id, str(random.randint(0,100)))
+
        bot.register_next_step_handler(message, get_name); #следующий шаг – функция get_name
         elif message.text == '😊 Как дела?':
+
    else:
+
         bot.send_message(message.from_user.id, 'Напиши /reg');
            markup = types.InlineKeyboardMarkup(row_width=2)
+
 
            item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
+
def get_name(message): #получаем фамилию
            item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')
+
    global name;
+
    name = message.text;
            markup.add(item1, item2)
+
    bot.send_message(message.from_user.id, 'Какая у тебя фамилия?');
+
    bot.register_next_step_handler(message, get_surnme);
            bot.send_message(message.chat.id, 'Отлично, сам как?', reply_markup=markup)
+
 
        else:
+
def get_surname(message):
            bot.send_message(message.chat.id, 'Я не знаю что ответить 😢')
+
    global surname;
+
    surname = message.text;
@bot.callback_query_handler(func=lambda call: True)
+
    bot.send_message('Сколько тебе лет?');
def callback_inline(call):
+
    bot.register_next_step_handler(message, get_age);
     try:
+
 
         if call.message:
+
def get_age(message):
            if call.data == 'good':
+
    global age;
                bot.send_message(call.message.chat.id, 'Вот и отличненько 😊')
+
    while age == 0: #проверяем что возраст изменился
            elif call.data == 'bad':
+
        try:
                bot.send_message(call.message.chat.id, 'Бывает 😢')
+
            age = int(message.text) #проверяем, что возраст введен корректно
+
        except Exception:
            # remove inline buttons
+
            bot.send_message(message.from_user.id, 'Цифрами, пожалуйста');
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="😊 Как дела?",
+
      bot.send_message(message.from_user.id, 'Тебе '+str(age)+' лет, тебя зовут '+name+' '+surname+'?')def get_age(message):
                reply_markup=None)
+
     global age;
+
    while age == 0: #проверяем что возраст изменился
            # show alert
+
         try:
            bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
+
            age = int(message.text) #проверяем, что возраст введен корректно
                text="ЭТО ТЕСТОВОЕ УВЕДОМЛЕНИЕ!!11")
+
        except Exception:
+
            bot.send_message(message.from_user.id, 'Цифрами, пожалуйста');
    except Exception as e:
+
      keyboard = types.InlineKeyboardMarkup(); #наша клавиатура
         print(repr(e))
+
      key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes'); #кнопка «Да»
+
      keyboard.add(key_yes); #добавляем кнопку в клавиатуру
# RUN
+
      key_no= types.InlineKeyboardButton(text='Нет', callback_data='no');
bot.polling(none_start=True)
+
      keyboard.add(key_no);
 +
      question = 'Тебе '+str(age)+' лет, тебя зовут '+name+' '+surname+'?';
 +
      bot.send_message(message.from_user.id, text=question, reply_markup=keyboard)@bot.callback_query_handler(func=lambda call: True)
 +
def callback_worker(call):
 +
    if call.data == "yes": #call.data это callback_data, которую мы указали при объявлении кнопки
 +
        .... #код сохранения данных, или их обработки
 +
         bot.send_message(call.message.chat.id, 'Запомню : )');
 +
    elif call.data == "no":
 +
        ... #переспрашиваем

Версия 23:37, 3 марта 2021

import telebot;from telebot import types bot = telebot.TeleBot('%1648533067:AAFHs6gGejPbenCa50qjZmQZGggHgLEYBqQ%');@bot.message_handler(content_types=['text']) def get_text_messages(message):@bot.message_handler(content_types=['text', 'document', 'audio'])if message.text == "Привет":

   bot.send_message(message.from_user.id, "Привет, чем я могу тебе помочь?")

elif message.text == "/help":

   bot.send_message(message.from_user.id, "Напиши привет")

else:

   bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")bot.polling(none_stop=True, interval=0)name = ;

surname = ; age = 0; @bot.message_handler(content_types=['text']) def start(message):

   if message.text == '/reg':
       bot.send_message(message.from_user.id, "Как тебя зовут?");
       bot.register_next_step_handler(message, get_name); #следующий шаг – функция get_name
   else:
       bot.send_message(message.from_user.id, 'Напиши /reg');

def get_name(message): #получаем фамилию

   global name;
   name = message.text;
   bot.send_message(message.from_user.id, 'Какая у тебя фамилия?');
   bot.register_next_step_handler(message, get_surnme);

def get_surname(message):

   global surname;
   surname = message.text;
   bot.send_message('Сколько тебе лет?');
   bot.register_next_step_handler(message, get_age);

def get_age(message):

   global age;
   while age == 0: #проверяем что возраст изменился
       try:
            age = int(message.text) #проверяем, что возраст введен корректно
       except Exception:
            bot.send_message(message.from_user.id, 'Цифрами, пожалуйста');
     bot.send_message(message.from_user.id, 'Тебе '+str(age)+' лет, тебя зовут '+name+' '+surname+'?')def get_age(message):
   global age;
   while age == 0: #проверяем что возраст изменился
       try:
            age = int(message.text) #проверяем, что возраст введен корректно
       except Exception:
            bot.send_message(message.from_user.id, 'Цифрами, пожалуйста');
     keyboard = types.InlineKeyboardMarkup(); #наша клавиатура
     key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes'); #кнопка «Да»
     keyboard.add(key_yes); #добавляем кнопку в клавиатуру
     key_no= types.InlineKeyboardButton(text='Нет', callback_data='no');
     keyboard.add(key_no);
     question = 'Тебе '+str(age)+' лет, тебя зовут '+name+' '+surname+'?';
     bot.send_message(message.from_user.id, text=question, reply_markup=keyboard)@bot.callback_query_handler(func=lambda call: True)

def callback_worker(call):

   if call.data == "yes": #call.data это callback_data, которую мы указали при объявлении кнопки
       .... #код сохранения данных, или их обработки
       bot.send_message(call.message.chat.id, 'Запомню : )');
   elif call.data == "no":
        ... #переспрашиваем