def redact_order(call): if call.data[0] == '+': storage.add_to_order(chat_id=call.message.chat.id, data=call.data[1:]) print(storage.get_user_string(chat_id=call.message.chat.id)) bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text='+' + str(call.data[-3:]) + constants.to_bill) if call.data[0] == '-': storage.remove_from_order(chat_id=call.message.chat.id, data=call.data[1:]) print(storage.get_user_string(chat_id=call.message.chat.id)) bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text='-' + str(call.data[-3:]) + constants.from_bill) mes_text = utils.send_order_list(call.message.chat.id) keyboard = telebot.types.InlineKeyboardMarkup() for i in constants.coffee_list: keyboard.add( telebot.types.InlineKeyboardButton(text=i['text'], callback_data=i['call'])) keyboard.add( telebot.types.InlineKeyboardButton(text=constants.plus, callback_data='+' + i['call']), telebot.types.InlineKeyboardButton(text=constants.minus, callback_data='-' + i['call'])) keyboard.add( telebot.types.InlineKeyboardButton(text=constants.back, callback_data="back_to_order")) bot.edit_message_text(chat_id=call.message.chat.id, text=mes_text, message_id=call.message.message_id, reply_markup=keyboard)
def edit_items(call): if call.data == 'name': storage.prepare_edit_user_string(chat_id = call.message.chat.id, editing_item = 'name') mes_text = constants.redact_name if call.data == 'country': storage.prepare_edit_user_string(chat_id = call.message.chat.id, editing_item = 'country') mes_text = constants.redact_country if call.data == 'city': storage.prepare_edit_user_string(chat_id = call.message.chat.id, editing_item = 'city') mes_text = constants.redact_city if call.data == 'occupation': storage.prepare_edit_user_string(chat_id = call.message.chat.id, editing_item = 'occupation') mes_text = constants.redact_occupation if call.data == 'birthdate': storage.prepare_edit_user_string(chat_id = call.message.chat.id, editing_item = 'birthdate') mes_text = constants.redact_birthdate if call.data == 'favorite': storage.prepare_edit_user_string(chat_id = call.message.chat.id, editing_item = 'favorite') mes_text = constants.redact_favorite keyboard =telebot.types.InlineKeyboardMarkup() callback_button1 = telebot.types.InlineKeyboardButton(text=constants.back, callback_data="back_to_redact") keyboard.add(callback_button1) bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=mes_text, reply_markup=keyboard) print(storage.get_user_string(call.message.chat.id))
def edit_app_form(message): editing_item = storage.get_editing_item(message.chat.id) log.making_logs(editing_item) if editing_item: storage.edit_user_string(chat_id=message.chat.id, data=message.text) keyboard = telebot.types.InlineKeyboardMarkup() app_form = utils.send_app_form(storage.get_user_string( message.chat.id)) items = constants.app_form_ru keyboard.add( telebot.types.InlineKeyboardButton(text=items['name'], callback_data='name'), telebot.types.InlineKeyboardButton(text=items['country'], callback_data='country')) keyboard.add( telebot.types.InlineKeyboardButton(text=items['city'], callback_data='city'), telebot.types.InlineKeyboardButton(text=items['occupation'], callback_data='occupation')) keyboard.add( telebot.types.InlineKeyboardButton(text=items['birthdate'], callback_data='birthdate'), telebot.types.InlineKeyboardButton(text=items['favorite'], callback_data='favorite')) keyboard.add( telebot.types.InlineKeyboardButton(text=constants.back, callback_data="back_to_menu")) bot.send_message(message.chat.id, text=app_form, reply_markup=keyboard) log.making_logs(message.text.encode())
def list_of_items(call): storage.drop_editing_item(call.message.chat.id) keyboard = telebot.types.InlineKeyboardMarkup() app_form = utils.send_app_form( storage.get_user_string(call.message.chat.id)) items = constants.app_form_ru keyboard.add( telebot.types.InlineKeyboardButton(text=items['name'], callback_data='name'), telebot.types.InlineKeyboardButton(text=items['country'], callback_data='country')) keyboard.add( telebot.types.InlineKeyboardButton(text=items['city'], callback_data='city'), telebot.types.InlineKeyboardButton(text=items['occupation'], callback_data='occupation')) keyboard.add( telebot.types.InlineKeyboardButton(text=items['birthdate'], callback_data='birthdate'), telebot.types.InlineKeyboardButton(text=items['favorite'], callback_data='favorite')) keyboard.add( telebot.types.InlineKeyboardButton(text=constants.back, callback_data="back_to_menu")) bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=app_form, reply_markup=keyboard)
def make_order(call): arr = storage.get_user_string(call.message.chat.id)['order'] keyboard = telebot.types.InlineKeyboardMarkup() keyboard.add(telebot.types.InlineKeyboardButton(text=constants.coffee, callback_data='order_coffee')) keyboard.add(telebot.types.InlineKeyboardButton(text=constants.dessert, callback_data='order_dessert')) keyboard.add(telebot.types.InlineKeyboardButton(text=constants.sandwitch, callback_data='order_sandwitch')) if arr: keyboard.add(telebot.types.InlineKeyboardButton(text=constants.checkout, callback_data='checkout')) keyboard.add(telebot.types.InlineKeyboardButton(text=constants.back_to_menu, callback_data="back_to_menu")) mes_text = utils.send_order_list(call.message.chat.id) bot.edit_message_text(chat_id = call.message.chat.id, text = mes_text, message_id=call.message.message_id, reply_markup = keyboard)
def send_order_list(chat_id): user_data = storage.get_user_string(chat_id) if not user_data['order']: return constants.empty_order output = dict() debt = 0 order_list = '============================\nВаш заказ:\n' for i in user_data['order']: if i not in output.keys(): output[i] = 1 else: output[i] += 1 for i in output.items(): order_list += str(coffee_ru[i[0]] + ' ' + str(i[1]) + 'шт.\n') debt += int(i[0][-3:]) * i[1] order_list += str('Итого: ' + str(debt) + 'р.\n') order_list += '============================\n' return order_list