• Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Ви вислали по функціоналу маєже той самий щоб буд але ви його нормальне не чрез костилі написали
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Александр, Я пришел с этим вопросом на форм и мне его неопомоглы невиришиты
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Александр, В вашем коде этого не було.А это как раз основная проблема.Мне надо добавить функцию количества
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Но у меня дальше не работает с количеством
    import os
    import datetime
    import telebot
    from telebot import types
    
    
    bot = telebot.TeleBot('1087018832:AAEUODlCX-NUC8LOumeedO1')
    menu = ["Піца", "Чай","Кава","Морозиво","Суші", "margherita", "havaiska"]
    how =  ["1", "2","3","4","5", "6", "7"]
    
    class TestTeleBot:
        def __init__(self):
    
            self.bot_polling()
    
        @bot.message_handler(commands=['menu'])
        def start_message(message):
            print('-------------------------------------------------------------------')
            print(datetime.datetime.fromtimestamp(message.date).strftime('%H:%M:%S %d-%m-%Y'))
            print(message.text)
            print(message.from_user.id)
            print(message.from_user.first_name)
            print(message.from_user.last_name)
            print(message.from_user.username)
            print('-------------------------------------------------------------------')
            keyboard_menu = types.InlineKeyboardMarkup()
            pizza = types.InlineKeyboardButton(text="Піцца", callback_data="pizza")
            tea = types.InlineKeyboardButton(text="Чай", callback_data="tea")
            keyboard_menu.add(pizza, tea)
            bot.send_message(message.chat.id, 'Вибери теі що тобі інтересно', reply_markup=keyboard_menu)
        @bot.callback_query_handler(func=lambda call:True)
        def handler_item_menu(callback):
            print("Отримав")
            if callback.data == "pizza":
                keyboard_name = types.InlineKeyboardMarkup()
                margherita = types.InlineKeyboardButton(text="Маргарита", callback_data="margherita")
                havaiska = types.InlineKeyboardButton(text="Гавайська", callback_data="havaiska")
                keyboard_name.add(margherita, havaiska)
                bot.edit_message_text(chat_id=callback.message.chat.id, message_id=callback.message.message_id, text="Вибери те що тобі інтересно", reply_markup=None)
                bot.send_message(callback.from_user.id, 'Яка?', reply_markup=keyboard_name)
            elif callback.data == "margherita":
                if callback.data in menu:
                    how_m = types.ReplyKeyboardMarkup(resize_keyboard=True)
                    how_m.add(*[types.KeyboardButton(name) for name in how])
                    bot.send_message(callback.from_user.id, "Яка кількість?", reply_markup=how_m)
                else:
                    bot.send_message(callback.from_user.id, "Немає такого товару  наявонсті")
            elif callback.data == "havaiska":
                if callback.data in menu:
                    how_m = types.ReplyKeyboardMarkup(resize_keyboard=True)
                    how_m.add(*[types.KeyboardButton(name) for name in how])
                    bot.send_message(callback.from_user.id, "Яка кількість?", reply_markup=how_m)
                else:
                    bot.send_message(callback.from_user.id, "Немає такого товару  наявонсті")
            if callback.data == "tea":
                pass
        @bot.callback_query_handler(func=lambda call:True)
        def handler_item_how(call):
            if call.data == "1":
                Yes = types.InlineKeyboardButton(text="Так", callback_data="Yes")
                No = types.InlineKeyboardButton(text="Ні", callback_data="No")
                t_f.add(Yes, No)
                bot.send_message(call.from_user.id, "Це все?", reply_markup=t_f)
        def bot_polling(self):
            return bot.polling(none_stop=True)
    
    def main():
        testTeleBot = TestTeleBot()
    if __name__ == '__main__':
        main()
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Я новачок.Мнє 13 лет.Я учусь программировать в интернете
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Александр, Так я знал что мне пицца приходит вместо цифры я выяснил это из-за print.Але как сделать чтобы приходила пицца
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Александр, Какие моменты? .Как мне это исправить?
  • Не работаєт код помогит исправить!Буду благодарен?

    @Romanvd0412 Автор вопроса
    Александр, def how(message):
    print(message.text)
    if message.text == "1" or message.text == "2" or message.text == "3" or message.text == "4" or message.text == "5":
    markup_2 = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton("Так", callback_data = "good")
    item2 = types.InlineKeyboardButton("Ні", callback_data = "bad")
    markup_2.add(item1, item2)
    bot.send_message(message.chat.id, "Це все?", reply_markup = markup_2)
  • Как сделать чтобы в list можно было найти слово есть?

    @Romanvd0412 Автор вопроса
    import telebot
    from telebot import types
    import time
    with open('menu.txt') as file: #Читаем файл
      lines = file.read().splitlines() # read().splitlines() - чтобы небыло пустых строк
    
    dic = {} # Создаем пустой словарь
    
    for line in lines: # Проходимся по каждой строчке
      key,value = line.split(': ') # Разделяем каждую строку по двоеточии(в key будет - пицца, в value - 01)
      dic.update({key:value})	 # Добавляем в словарь
    
    
    menu = ["Піца", "Чай","Кава","Морозиво","Суші"]
    a = 0
    bot = telebot.TeleBot('1087018832:AAEUODlCX-NUC8LOumeedO1<img src="https://habrastorage.org/webt/5e/b5/d0/5eb5d09f0f205013860572.png" alt="image"/>')
    @bot.message_handler(commands=["Меню","menu","start"])
    def start(m):
        msg = bot.send_message(m.chat.id, "Доброго дня! Що хочете замовити?")
        keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
        keyboard.add(*[types.KeyboardButton(name) for name in menu])
        bot.send_message(m.chat.id, 'Вибери в меню що тобі інтересно(Приймається останє замовлення)', reply_markup=keyboard)
        bot.register_next_step_handler(msg, name)
    @bot.message_handler(content_types=['text'])
    def name(m):
        if m.text in menu:
            keyboard_n = types.ReplyKeyboardMarkup(resize_keyboard=True)
            keyboard_n.add(*[types.KeyboardButton(name) for name in ["1", "2", "3", "4", "5"]])
            bot.send_message(m.chat.id, "Яка кілкість?", reply_markup=keyboard_n)
            how(m);
        if m.text == "Морозиво":
                keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
                keyboard.add(*[types.KeyboardButton(name) for name in ["Бананове","Шоколадне"]])
                bot.send_message(m.chat.id, 'Яке морозиво ви бажаєте?', reply_markup=keyboard)
    @bot.message_handler(content_types=['text'])
    def how(message):
        print(message.text)
        if message.text == "1" or message.text == "2" or message.text == "3" or message.text == "4" or message.text == "5": 
            markup_2 = types.InlineKeyboardMarkup()
            item1 = types.InlineKeyboardButton("Так", callback_data = "good")
            item2 = types.InlineKeyboardButton("Ні", callback_data = "bad")
            markup_2.add(item1, item2)
            bot.send_message(message.chat.id, "Це все?", reply_markup = markup_2)
    @bot.callback_query_handler(func=lambda call: True)                                                  #Інлайнова клавіатура
    def this_all(call):
        try:
            if call.message:
                if call.data == 'good':
                    bot.send_message(call.message.chat.id, "ви замовили:",)
                elif call.data == 'bad':
                   bot.send_message(call.message.chat.id, "Ок")
                       
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=" ",reply_markup=None)       #Видалення кнопки після нажимання
        except Exception as e:
            print(repr(e))
    bot.polling(none_stop=True, interval=1)
    
        #elif m.text == 'Прайс-лист':
            #keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
            #keyboard.add(*[types.KeyboardButton(advert) for advert in ['Общий', 'Одиночный']])
            #keyboard.add(*[types.KeyboardButton(advert) for advert in ['В начало']])
           # bot.send_message(m.chat.id, 'Выберите прайс который нужен.',
                #reply_markup=keyboard)
        #elif m.text == 'Акции':
           # keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
           # keyboard.add(*[types.KeyboardButton(advert) for advert in ['В начало']])
            #bot.send_message(m.chat.id, 'Сожалею, но в данный момент акций нет(',
               # reply_markup=keyboard)

    5eb5d0eccc86a400052242.png
    Знаю что гавно код.Но как мне исправить чтоб после выбора количества программа шла дальше
  • Как сделать чтобы в list можно было найти слово есть?

    @Romanvd0412 Автор вопроса
    import telebot
    from telebot import types
    import time
    with open('menu.txt') as file: #Читаем файл
      lines = file.read().splitlines() # read().splitlines() - чтобы небыло пустых строк
    
    dic = {} # Создаем пустой словарь
    
    for line in lines: # Проходимся по каждой строчке
      key,value = line.split(': ') # Разделяем каждую строку по двоеточии(в key будет - пицца, в value - 01)
      dic.update({key:value})	 # Добавляем в словарь
    
    
    menu = ["Піца", "Чай","Кава","Морозиво","Суші"]
    a = 0
    bot = telebot.TeleBot('1087018832:AAEUODlCX-NUC8LOumeedO1<img src="https://habrastorage.org/webt/5e/b5/d0/5eb5d09f0f205013860572.png" alt="image"/>')
    @bot.message_handler(commands=["Меню","menu","start"])
    def start(m):
        msg = bot.send_message(m.chat.id, "Доброго дня! Що хочете замовити?")
        keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
        keyboard.add(*[types.KeyboardButton(name) for name in menu])
        bot.send_message(m.chat.id, 'Вибери в меню що тобі інтересно(Приймається останє замовлення)', reply_markup=keyboard)
        bot.register_next_step_handler(msg, name)
    @bot.message_handler(content_types=['text'])
    def name(m):
        if m.text in menu:
            keyboard_n = types.ReplyKeyboardMarkup(resize_keyboard=True)
            keyboard_n.add(*[types.KeyboardButton(name) for name in ["1", "2", "3", "4", "5"]])
            bot.send_message(m.chat.id, "Яка кілкість?", reply_markup=keyboard_n)
            how(m);
        if m.text == "Морозиво":
                keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
                keyboard.add(*[types.KeyboardButton(name) for name in ["Бананове","Шоколадне"]])
                bot.send_message(m.chat.id, 'Яке морозиво ви бажаєте?', reply_markup=keyboard)
    @bot.message_handler(content_types=['text'])
    def how(message):
        print(message.text)
        if message.text == "1" or message.text == "2" or message.text == "3" or message.text == "4" or message.text == "5": 
            markup_2 = types.InlineKeyboardMarkup()
            item1 = types.InlineKeyboardButton("Так", callback_data = "good")
            item2 = types.InlineKeyboardButton("Ні", callback_data = "bad")
            markup_2.add(item1, item2)
            bot.send_message(message.chat.id, "Це все?", reply_markup = markup_2)
    @bot.callback_query_handler(func=lambda call: True)                                                  #Інлайнова клавіатура
    def this_all(call):
        try:
            if call.message:
                if call.data == 'good':
                    bot.send_message(call.message.chat.id, "ви замовили:",)
                elif call.data == 'bad':
                   bot.send_message(call.message.chat.id, "Ок")
                       
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=" ",reply_markup=None)       #Видалення кнопки після нажимання
        except Exception as e:
            print(repr(e))
    bot.polling(none_stop=True, interval=1)
    
        #elif m.text == 'Прайс-лист':
            #keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
            #keyboard.add(*[types.KeyboardButton(advert) for advert in ['Общий', 'Одиночный']])
            #keyboard.add(*[types.KeyboardButton(advert) for advert in ['В начало']])
           # bot.send_message(m.chat.id, 'Выберите прайс который нужен.',
                #reply_markup=keyboard)
        #elif m.text == 'Акции':
           # keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
           # keyboard.add(*[types.KeyboardButton(advert) for advert in ['В начало']])
            #bot.send_message(m.chat.id, 'Сожалею, но в данный момент акций нет(',
               # reply_markup=keyboard)

    5eb5d0eccc86a400052242.png
    Знаю что гавно код.Но как мне исправить чтоб после выбора количества программа шла дальше