Именно с функцией “polomka” проблемы, куда не ставлю эту функцию, там же и останавливается
xam1816
у меня есть тестовая среда и в его коде не понятно откуда взялся
import config
import telebot
from string import Template
from telebot import types
bot = telebot.TeleBot(config.token)
user_dict = {}
class User:
def __init__(self, city):
self.city = city
keys = ['fullname', ‘phone’, ‘driverSeria’,
‘driverNumber’, ‘driverDate’, ‘car’,
‘carModel’, ‘carColor’, ‘carNumber’, ‘carDate’]
for key in keys:
self.key = None
@bot.message_handler(commands
def send_welcome(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
itembtn1 = types.KeyboardButton('Shymbus')
itembtn2 = types.KeyboardButton('T-Bus')
itembtn3 = types.KeyboardButton('Абдуганиев')
itembtn4 = types.KeyboardButton('Санжар-моторс')
itembtn5 = types.KeyboardButton('ИП Беркут')
itembtn6 = types.KeyboardButton('ГринБас')
markup.add(itembtn1, itembtn2, itembtn3, itembtn4, itembtn5, itembtn6)
msg = bot.send_message(message.chat.id, ‘Выберите Автопарк’, reply_markup=markup)
bot.register_next_step_handler(msg, polomka)
def polomka(message):
try:
chat_id = message.chat.id
user = user_dict
user.carModel = message.text
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, row_width=2)
itembtn1 = types.KeyboardButton('Мобильный терминал не работает')
itembtn2 = types.KeyboardButton('Стационар не работает')
itembtn3 = types.KeyboardButton('Моб и стационар не работает')
itembtn4 = types.KeyboardButton('Нет звука')
markup.add(itembtn1, itembtn2, itembtn3, itembtn4)
msg = bot.send_message(chat_id, ‘Причина поломки’, reply_markup=markup)
bot.register_next_step_handler(msg, marshrut)
except Exception as e:
bot.reply_to(message, ‘zaebaloops!!’)
def marshrut(message):
try:
chat_id = message.chat.id
user = user_dict
user.carNumber = message.text
# удалить старую клавиатуру
markup = types.ReplyKeyboardRemove(selective=False)
msg = bot.send_message(chat_id, ‘Введите маршрут автобуса’, reply_markup=markup)
bot.register_next_step_handler(msg, number)
except Exception as e:
bot.reply_to(message, ‘Не верный формат!!’)
def number(message):
try:
chat_id = message.chat.id
user = user_dict
user.carColor = message.text
# удалить старую клавиатуру
markup = types.ReplyKeyboardRemove(selective=False)
msg = bot.send_message(chat_id, ‘Введите телефон номер водителя’, reply_markup=markup)
bot.register_next_step_handler(msg, process_carDate_step)
except Exception as e:
bot.reply_to(message, ‘Не верный формат!!’)
def process_carDate_step(message):
try:
int(message.text)
chat_id = message.chat.id
user = user_dict
user.carDate = message.text
# ваша заявка “Имя пользователя”
bot.send_message(chat_id, getRegData(user, ‘Ваша заявка’, message.from_user.first_name), parse_mode=“Markdown”)
# отправить в группу
bot.send_message(chat_id, getRegData(user, ‘Заявка от бота’, bot.get_me().username), parse_mode=“Markdown”)
except Exception as e:
bot.reply_to(message, ‘ooops!!’)
def getRegData(user, title, name):
t = Template(
‘$title *$name* \n Город: *$userCity* \n ФИО: *$fullname* \n Телефон: *$phone* \n Серия водительского удостоверения: *$driverSeria* \n Номер водительского удостоверения: *$driverNumber* \n Дата выдачи водительского удостоверения: *$driverDate* \n Марка автомобиля: *$car* \n Модель автомобиля: *$carModel* \n Цвет автомобиля: *$carColor* \n Гос. номер автомобиля: *$carNumber* \n Год выпуска: *$carDate*’)
return t.substitute({
‘title’: title,
‘name’: name,
‘phone’: user.phone,
‘driverNumber’: user.driverNumber,
‘driverDate’: user.driverDate,
‘car’: user.car,
‘carModel’: user.carModel,
‘carColor’: user.carColor,
‘carNumber’: user.carNumber,
‘carDate’: user.carDate,
})
bot.enable_save_next_step_handlers(delay=2)
if __name__ == ‘__main__’:
bot.polling(none_stop=True)