def clear_all(message): uid = str(message.from_user.id) cur_time = datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S') print(str(cur_time) + " | " + uid + ": " + message.text) db = SQLighter(config.database_name) db.clear_requests(uid) step[uid]['cur'] = 'start' step[uid]['path'] = ['start'] text = db.get_messages('Очистить') if len(text) > 0: text = text[0] m = markup(db, step[uid]['cur'], uid) db.close() bot.send_message(message.from_user.id, text, reply_markup=m, parse_mode='HTML') else: db.close() cur_time = datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S') print(str(cur_time) + " | " + uid + ": Произошла ошибка чтения из базы данных")
def final(message): uid = str(message.from_user.id) cur_time = datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S') print(str(cur_time) + " | " + uid + ": " + message.text) db = SQLighter(config.database_name) if message.text.split(' ')[-1] == "Подтвердить": if not db.has_user(uid): db.save_user_info(uid, request[uid]['info']['full_name'], request[uid]['info']['username'], request[uid]['info']['phone']) else: db.update_user_info(uid, request[uid]['info']['full_name'], request[uid]['info']['username'], request[uid]['info']['phone']) request[uid]['date'] = str(datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d')) request[uid]['time'] = str(datetime.fromtimestamp(time.time()).strftime('%H:%M:%S')) db.save_requests(uid, request[uid]['deliver'], request[uid]['longitude'], request[uid]['latitude'], request[uid]['destination'], request[uid]['additional'], request[uid]['payment'], request[uid]['date'], request[uid]['time']) print("Запись прошла успешно") # теперь сгенерируем сообщение и отошлем его всем администраторам admin_message = '<b>' + request[uid]['info']['full_name'] + "</b>\n" if request[uid]['info']['username'] != '': admin_message += "@" + request[uid]['info']['username'] + "\n" admin_message += "<b>Телефон:</b> " + request[uid]['info']['phone'] + "\n\n" k = 1 reqs = db.get_requests(uid) total = 0 for i in reqs: if len(i) >= 3: admin_message += str(k) + ") " + str(i[0]) + ", " + str(i[1]) + " x " + str(i[2]) + "\n" total += int(i[1]) * int(i[2]) k += 1 admin_message += "\nВсего: {} сум".format(total) + "\n\n" if request[uid]['additional'] != '': admin_message += "<b>Дополнение:</b> " + request[uid]['additional'] + "\n\n" admin_message += "<b>Адрес:</b> " + request[uid]['destination'] + '\n' admin_message += "<b>Тип оплаты:</b> " + request[uid]['payment'] + "\n" admin_message += "<b>Время заказа:</b> " + " " + request[uid]['time'] + " " + request[uid]['date'] admins = db.get_admin_list() for i in admins: try: bot.send_message(i, admin_message, parse_mode='HTML') except: pass # очищаем данные del request[uid] db.clear_requests(uid) step[uid]['path'] = [] step[uid]['path'].append('start') step[uid]['cur'] = 'start' text = db.get_messages('Новый заказ')[0] m = markup(db, step[uid]['cur']) bot.send_message(message.chat.id, text, reply_markup=m, parse_mode='HTML') elif message.text.split(' ')[-1] == "Отменить": del request[uid] step[uid]['path'] = [] step[uid]['path'].append('start') step[uid]['cur'] = 'start' text = db.get_messages('start')[1] m = markup(db, step[uid]['cur']) bot.send_message(message.chat.id, text, reply_markup=m, parse_mode='HTML') else: pass