mirror of
https://github.com/Steffo99/greed.git
synced 2024-11-24 14:54:18 +00:00
Start work on live orders menu
This commit is contained in:
parent
3ba6916ffe
commit
712fd29f6a
2 changed files with 29 additions and 4 deletions
14
strings.py
14
strings.py
|
@ -60,6 +60,10 @@ conversation_confirm_cart = "Il tuo carrello contiene questi prodotti:\n" \
|
||||||
"Totale: {total_cost}\n" \
|
"Totale: {total_cost}\n" \
|
||||||
"Procedere?"
|
"Procedere?"
|
||||||
|
|
||||||
|
# Conversation: the user activated the live orders mode
|
||||||
|
conversation_live_orders_start = "Hai avviato la modalità Ordini Live!\n" \
|
||||||
|
"Per interrompere il flusso di ordini, manda un qualsiasi messaggio in chat."
|
||||||
|
|
||||||
# Notification: the conversation has expired
|
# Notification: the conversation has expired
|
||||||
conversation_expired = "🕐 Il bot non ha ricevuto messaggi per un po' di tempo, quindi ha chiuso la conversazione.\n" \
|
conversation_expired = "🕐 Il bot non ha ricevuto messaggi per un po' di tempo, quindi ha chiuso la conversazione.\n" \
|
||||||
"Per riavviarne una nuova, invia il comando /start."
|
"Per riavviarne una nuova, invia il comando /start."
|
||||||
|
@ -176,6 +180,12 @@ success_product_edited = "✅ Il prodotto è stato aggiunto/modificato con succe
|
||||||
# Success: product has been added/edited to the database
|
# Success: product has been added/edited to the database
|
||||||
success_product_deleted = "✅ Il prodotto è stato eliminato con successo!"
|
success_product_deleted = "✅ Il prodotto è stato eliminato con successo!"
|
||||||
|
|
||||||
|
# Order: set as complete
|
||||||
|
order_complete = "✅ Completa"
|
||||||
|
|
||||||
|
# Order: set as refunded
|
||||||
|
order_refund = "✴️ Rimborsa"
|
||||||
|
|
||||||
# Success: order has been created
|
# Success: order has been created
|
||||||
success_order_created = "✅ L'ordine è stato inviato con successo!"
|
success_order_created = "✅ L'ordine è stato inviato con successo!"
|
||||||
|
|
||||||
|
@ -196,7 +206,7 @@ error_payment_amount_under_min = "⚠️ Il minimo di fondi che possono essere a
|
||||||
error_invoice_expired = "⚠️ Questo pagamento è scaduto ed è stato annullato. Se vuoi ancora aggiungere fondi, usa l'opzione Aggiungi fondi del menu."
|
error_invoice_expired = "⚠️ Questo pagamento è scaduto ed è stato annullato. Se vuoi ancora aggiungere fondi, usa l'opzione Aggiungi fondi del menu."
|
||||||
|
|
||||||
# Error: a product with that name already exists
|
# Error: a product with that name already exists
|
||||||
error_duplicate_name = "️⚠ Esiste già un prodotto con questo nome."
|
error_duplicate_name = "️⚠️ Esiste già un prodotto con questo nome."
|
||||||
|
|
||||||
# Error: not enough credit to order
|
# Error: not enough credit to order
|
||||||
error_not_enough_credit = "⚠ Non hai credito sufficiente per effettuare l'ordine."
|
error_not_enough_credit = "⚠️ Non hai credito sufficiente per effettuare l'ordine."
|
||||||
|
|
19
worker.py
19
worker.py
|
@ -42,6 +42,8 @@ class ChatWorker(threading.Thread):
|
||||||
self.queue = queuem.Queue()
|
self.queue = queuem.Queue()
|
||||||
# The current active invoice payload; reject all invoices with a different payload
|
# The current active invoice payload; reject all invoices with a different payload
|
||||||
self.invoice_payload = None
|
self.invoice_payload = None
|
||||||
|
# Listening mode flag: if set, display the received orders in real time
|
||||||
|
self.listening_mode = False
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
"""The conversation code."""
|
"""The conversation code."""
|
||||||
|
@ -379,7 +381,8 @@ class ChatWorker(threading.Thread):
|
||||||
self.bot.send_message(admin.user_id, f"{strings.notification_order_placed.format(order=order.get_text(self.session))}")
|
self.bot.send_message(admin.user_id, f"{strings.notification_order_placed.format(order=order.get_text(self.session))}")
|
||||||
|
|
||||||
def __order_status(self):
|
def __order_status(self):
|
||||||
raise NotImplementedError()
|
"""Display the status of the sent orders."""
|
||||||
|
pass
|
||||||
|
|
||||||
def __add_credit_menu(self):
|
def __add_credit_menu(self):
|
||||||
"""Add more credit to the account."""
|
"""Add more credit to the account."""
|
||||||
|
@ -681,7 +684,19 @@ class ChatWorker(threading.Thread):
|
||||||
self.bot.send_message(self.chat.id, strings.success_product_deleted)
|
self.bot.send_message(self.chat.id, strings.success_product_deleted)
|
||||||
|
|
||||||
def __orders_menu(self):
|
def __orders_menu(self):
|
||||||
raise NotImplementedError()
|
"""Display a live flow of orders."""
|
||||||
|
# Send a small intro message on the Live Orders mode
|
||||||
|
self.bot.send_message(self.chat.id, strings.conversation_live_orders_start)
|
||||||
|
# Create the order keyboard
|
||||||
|
order_keyboard = telegram.InlineKeyboardMarkup([[telegram.InlineKeyboardButton(strings.order_complete)],
|
||||||
|
[telegram.InlineKeyboardButton(strings.order_refund)]])
|
||||||
|
# Display the past pending orders
|
||||||
|
orders = self.session.query(db.Order).filter(db.Order.delivery_date == None).all()
|
||||||
|
# Create a message for every one of them
|
||||||
|
for order in orders:
|
||||||
|
# Send the created message
|
||||||
|
self.bot.send_message(self.chat.id, order.get_text(session=self.session), reply_markup=order_keyboard)
|
||||||
|
|
||||||
|
|
||||||
def __graceful_stop(self):
|
def __graceful_stop(self):
|
||||||
"""Handle the graceful stop of the thread."""
|
"""Handle the graceful stop of the thread."""
|
||||||
|
|
Loading…
Reference in a new issue