Почему тг бот не работает, когда запускается одна функция дважды?
Пишу тг бота. Когда два юзера запускают функцию таймера, то бот перестает работать до того момента, пока работа функции не завершится.
@bot.callback_query_handler(func=lambda call: call.data == 'taxi')
def taxi(msg):
from_id = msg.from_user.id
db = Database(from_id, bot)
user = db.get_me()
markup = types.InlineKeyboardMarkup(row_width=2)
markup.add(types.InlineKeyboardButton('На своём авто', callback_data='jobs_in_my_car'),
types.InlineKeyboardButton('На арендном авто', callback_data='jobs_in_rent_car')
)
keyboard = types.InlineKeyboardMarkup()
keyboard.add(types.InlineKeyboardButton('На арендном авто', callback_data='jobs_in_rent_car'))
if user['car'] >= 2:
bot.edit_message_text('Вы можете работать на своём автомобиле или же на арендном.', msg.message.chat.id, msg.message.message_id, reply_markup=markup)
else:
bot.edit_message_text('Вы можете работать на арендном авто.', msg.message.chat.id, msg.message.message_id, reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: call.data == 'jobs_in_my_car')
def jobs_in_my_car(msg):
from_id = msg.from_user.id
db = Database(from_id, bot)
timing = datetime.now() + timedelta(hours=1)
db.get_end_time(timing.strftime('%H:%M'))
user = db.get_me()
timing = user['timer']
text = f'Вы вышли на смену\n'\
f'Смена закончится в {timing}'
bot.edit_message_text(text, msg.message.chat.id, msg.message.message_id)
db.start_jobs_taxi()
timer = function.timer()
if timer == 1:
bot.send_message(from_id, 'Смена окончена')
db.end_jobs_taxi()
db.get_wages_taxi()
Помогите пожалуйста.
UPD: from time import sleep
def timer():
print('Cycle started...')
global minutes, seconds
for minutes in range(0, -1, -1):
for seconds in range(59, -1, -1):
sleep(1)
return 1
Источник: Stack Overflow на русском