pyTelegramBotAPI. Как вывести дальнейшее действие?
И так, я написал бота, для одного город и он спокойно и даже отлично функционирует. Но я захотел добавить еще больше городов, для разнообразия, но вот не задача, он перестал работать. Вожусь с этим уже несколько дней и никак не могу понять, в чем его проблема.
@bot.message_handler(func=lambda message: True)
def handle_message(message):
if message.text == 'Ижевск':
msg = bot.send_message(message.chat.id, 'Вы выбрали город "<b>Ижевск</b>". Меню', parse_mode='html', reply_markup=keyboards.keyboard_main)
bot.register_next_step_handler(msg, izhevsk)
elif message.text == 'Москва':
msg = bot.send_message(message.chat.id, 'Вы выбрали город "<b>Москва</b>". Меню', parse_mode='html', reply_markup=keyboards.keyboard_main)
bot.register_next_step_handler(msg, moscow)
elif message.text == 'Казань':
msg = bot.send_message(message.chat.id, 'Вы выбрали город "<b>Казань</b>". Меню', parse_mode='html', reply_markup=keyboards.keyboard_main)
bot.register_next_step_handler(msg, kazan)
elif message.text == 'Можга':
msg = bot.send_message(message.chat.id, 'Вы выбрали город "<b>Можга</b>". Меню', parse_mode='html', reply_markup=keyboards.keyboard_main)
bot.register_next_step_handler(msg, mozhga)
elif message.text == 'Санкт-Петербург':
msg = bot.send_message(message.chat.id, 'Вы выбрали город "<b>Санкт-Петербург</b>". Меню', parse_mode='html', reply_markup=keyboards.keyboard_main)
bot.register_next_step_handler(msg, piter)
elif message.text == 'Отменить':
msg = bot.send_message(message.chat.id, 'Вернулись назад..')
bot.register_next_step_handler(msg, start_message)
def izhevsk(message):
userid = str(message.chat.id)
username = str(message.from_user.username)
regions = ["Устиновский район", "Ленинский район", "Октябрьский район", "Индустриальный район", "Первомайский район", "Назад"]
if message.text == 'Заказать':
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
for region in regions:
markup.add(types.KeyboardButton(region))
bot.send_message(message.chat.id, 'Выберите район:', reply_markup=markup)
if message.text == 'Устиновский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar1)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Ленинский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar2)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Октябрьский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar3)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Индустриальный район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar4)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Первомайский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar5)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Назад':
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
else:
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
# elif message.text == 'Профиль':
# # Отправляем информацию о проф
# elif message.text == 'Работа':
# # Отправляем информацию о вакансиях
# msg = bot.send_message(message.chat.id, '<b>Работа"'+str('у нас')+'"</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nНаш магазин ведет постоянный набор по всей РФ.\nОткрыты вакансии на следующие должности:\n 1. Кладмен (от 400 руб/клад)\n 2. Трафаретчик (от 80 руб/рисунок)\n 3. Перевозчик (только с залогом)\n 4. Склад (только с залогом)\n\nТак же приглашаем к сотрудничеству химиков и гроверов с качественным товаром. Достойную оплату гарантируем. Найдете магазин в который продадите дороже - мы перебьем цену. \n➖➖➖➖➖➖➖➖➖➖➖➖➖\nДля связи писать: '+str(supp)+' с пометкой "Работа" ', parse_mode='HTML')
# elif message.text == 'Скидка':
# msg = bot.send_message(message.chat.id, '<b>Скидка</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nСкидка осуществляется с первых 3 заказов.\n➡️Третий заказ: 5%\n➡️Пятый заказ: 7%\n➡️Седьмой заказ: 10%\n\nКонечно же, скидка обговаривается "лично" если заказ крупный\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nПо поводу крупных заказов писать: '+str(supp)+' с пометкой "Крупный заказ" ', parse_mode='HTML')
# elif message.text == 'Назад':
# msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
# else:
# bot.send_message(message.chat.id, "Кажется, вы что-то перепутали..")
def piter(message):
userid = str(message.chat.id)
username = str(message.from_user.username)
regions = ["Центральный район", "Приморский район", "Выборгский район", "Красногвардейский район", "Московский район", "Назад"]
supp = "@boycee"
if message.text == 'Заказать':
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
for region in regions:
markup.add(types.KeyboardButton(region))
bot.send_message(message.chat.id, 'Выберите район:', reply_markup=markup)
elif message.text in regions:
if message.text != 'Назад':
bot.send_message(message.chat.id, f'Вы выбрали {message.text}')
sleep(0.5)
if message.text == 'Центральный район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar1)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Приморский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar2)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Выборгский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar3)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Красногвардейский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar4)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Московский район':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar5)
bot.register_next_step_handler(msg, fasov)
else:
bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
elif message.text == 'Профиль':
# Отправляем информацию о профиле пользователя
msg = bot.send_message(message.chat.id, '<b>Ваш профиль</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\n?Ваш Юзер: @'+str(username)+'\n?Ваш ID: <code>'+str(userid)+'</code>\n?Количество покупок: <code>0</code>\n?Ваш баланс: <code>0 RUB</code>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\n?Персональная скидка: <code>0%</code>\n?До сл.скидки осталось: <code>3 покупки</code>\n?♂️Открытые диспуты: <code>0</code>\n?Рейтинг: <code>0%</code> (Новичёк)', parse_mode='HTML', reply_markup=keyboards.profile)
bot.register_next_step_handler(msg, popolnenie)
elif message.text == 'Работа':
# Отправляем информацию о вакансиях
msg = bot.send_message(message.chat.id, '<b>Работа"'+str('у нас')+'"</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nНаш магазин ведет постоянный набор по всей РФ.\nОткрыты вакансии на следующие должности:\n 1. Кладмен (от 400 руб/клад)\n 2. Трафаретчик (от 80 руб/рисунок)\n 3. Перевозчик (только с залогом)\n 4. Склад (только с залогом)\n\nТак же приглашаем к сотрудничеству химиков и гроверов с качественным товаром. Достойную оплату гарантируем. Найдете магазин в который продадите дороже - мы перебьем цену. \n➖➖➖➖➖➖➖➖➖➖➖➖➖\nДля связи писать: '+str(supp)+' с пометкой "Работа" ', parse_mode='HTML')
elif message.text == 'Скидка':
msg = bot.send_message(message.chat.id, '<b>Скидка</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nСкидка осуществляется с первых 3 заказов.\n➡️Третий заказ: 5%\n➡️Пятый заказ: 7%\n➡️Седьмой заказ: 10%\n\nКонечно же, скидка обговаривается "лично" если заказ крупный\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nПо поводу крупных заказов писать: '+str(supp)+' с пометкой "Крупный заказ" ', parse_mode='HTML')
elif message.text == 'Назад':
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
else:
bot.send_message(message.chat.id, "Кажется, вы что-то перепутали..")
def moscow(message):
userid = str(message.chat.id)
username = str(message.from_user.username)
regions = ["ЦАО", "САО", "СВАО", "ЮАО", "ЮВАО", "Назад"]
supp = "@boycee"
if message.text == 'Заказать':
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
for region in regions:
markup.add(types.KeyboardButton(region))
bot.send_message(message.chat.id, 'Выберите район:', reply_markup=markup)
elif message.text in regions:
if message.text != 'Назад':
bot.send_message(message.chat.id, f'Вы выбрали {message.text}')
else:
pass
sleep(0.5)
if message.text == 'ЦАО':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar1)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'САО':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar2)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'СВАО':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar3)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'ЮАО':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar4)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'ЮВАО':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar5)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Назад':
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
elif message.text == 'Профиль':
# Отправляем информацию о профиле пользователя
msg = bot.send_message(message.chat.id, '<b>Ваш профиль</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\n?Ваш Юзер: @'+str(username)+'\n?Ваш ID: <code>'+str(userid)+'</code>\n?Количество покупок: <code>0</code>\n?Ваш баланс: <code>0 RUB</code>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\n?Персональная скидка: <code>0%</code>\n?До сл.скидки осталось: <code>3 покупки</code>\n?♂️Открытые диспуты: <code>0</code>\n?Рейтинг: <code>0%</code> (Новичёк)', parse_mode='HTML', reply_markup=keyboards.profile)
bot.register_next_step_handler(msg, popolnenie)
elif message.text == 'Работа':
# Отправляем информацию о вакансиях
msg = bot.send_message(message.chat.id, '<b>Работа"'+str('у нас')+'"</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nНаш магазин ведет постоянный набор по всей РФ.\nОткрыты вакансии на следующие должности:\n 1. Кладмен (от 400 руб/клад)\n 2. Трафаретчик (от 80 руб/рисунок)\n 3. Перевозчик (только с залогом)\n 4. Склад (только с залогом)\n\nТак же приглашаем к сотрудничеству химиков и гроверов с качественным товаром. Достойную оплату гарантируем. Найдете магазин в который продадите дороже - мы перебьем цену. \n➖➖➖➖➖➖➖➖➖➖➖➖➖\nДля связи писать: '+str(supp)+' с пометкой "Работа" ', parse_mode='HTML')
elif message.text == 'Скидка':
msg = bot.send_message(message.chat.id, '<b>Скидка</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nСкидка осуществляется с первых 3 заказов.\n➡️Третий заказ: 5%\n➡️Пятый заказ: 7%\n➡️Седьмой заказ: 10%\n\nКонечно же, скидка обговаривается "лично" если заказ крупный\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nПо поводу крупных заказов писать: '+str(supp)+' с пометкой "Крупный заказ" ', parse_mode='HTML')
elif message.text == 'Назад':
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
else:
bot.send_message(message.chat.id, "Кажется, вы что-то перепутали..")
def kazan(message):
userid = str(message.chat.id)
username = str(message.from_user.username)
regions = ["Вахитовский", "Ново-Савиновский", "Московский", "Приволжский", "Назад"]
supp = "@boycee"
if message.text == 'Заказать':
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
for region in regions:
markup.add(types.KeyboardButton(region))
bot.send_message(message.chat.id, 'Выберите район:', reply_markup=markup)
elif message.text in regions:
if message.text != 'Назад':
bot.send_message(message.chat.id, f'Вы выбрали {message.text}')
else:
pass
sleep(0.5)
if message.text == 'Вахитовский':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??', reply_markup=keyboards.tovar1)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Ново-Савиновский':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar3)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Московский':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar2)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Приволжский':
msg = bot.send_message(message.chat.id, 'В наличии следующие позиции:\nЧто тебя интересует??',reply_markup=keyboards.tovar5)
bot.register_next_step_handler(msg, fasov)
elif message.text == 'Назад':
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
elif message.text == 'Профиль':
# Отправляем информацию о профиле пользователя
msg = bot.send_message(message.chat.id, '<b>Ваш профиль</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\n?Ваш Юзер: @'+str(username)+'\n?Ваш ID: <code>'+str(userid)+'</code>\n?Количество покупок: <code>0</code>\n?Ваш баланс: <code>0 RUB</code>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\n?Персональная скидка: <code>0%</code>\n?До сл.скидки осталось: <code>3 покупки</code>\n?♂️Открытые диспуты: <code>0</code>\n?Рейтинг: <code>0%</code> (Новичёк)', parse_mode='HTML', reply_markup=keyboards.profile)
bot.register_next_step_handler(msg, popolnenie)
elif message.text == 'Работа':
# Отправляем информацию о вакансиях
msg = bot.send_message(message.chat.id, '<b>Работа"'+str('у нас')+'"</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nНаш магазин ведет постоянный набор по всей РФ.\nОткрыты вакансии на следующие должности:\n 1. Кладмен (от 400 руб/клад)\n 2. Трафаретчик (от 80 руб/рисунок)\n 3. Перевозчик (только с залогом)\n 4. Склад (только с залогом)\n\nТак же приглашаем к сотрудничеству химиков и гроверов с качественным товаром. Достойную оплату гарантируем. Найдете магазин в который продадите дороже - мы перебьем цену. \n➖➖➖➖➖➖➖➖➖➖➖➖➖\nДля связи писать: '+str(supp)+' с пометкой "Работа" ', parse_mode='HTML')
elif message.text == 'Скидка':
msg = bot.send_message(message.chat.id, '<b>Скидка</b>\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nСкидка осуществляется с первых 3 заказов.\n➡️Третий заказ: 5%\n➡️Пятый заказ: 7%\n➡️Седьмой заказ: 10%\n\nКонечно же, скидка обговаривается "лично" если заказ крупный\n➖➖➖➖➖➖➖➖➖➖➖➖➖\nПо поводу крупных заказов писать: '+str(supp)+' с пометкой "Крупный заказ" ', parse_mode='HTML')
elif message.text == 'Назад':
msg = bot.send_message(message.chat.id, 'Вернулись в главное меню.', reply_markup=keyboards.keyboard_main)
else:
bot.send_message(message.chat.id, "Кажется, вы что-то перепутали..")
def mozhga(message):