mirror of
https://github.com/Steffo99/greed.git
synced 2024-11-21 13:34:18 +00:00
I don't know. I found these changes and I committed them.
This commit is contained in:
parent
7ce44fc076
commit
3c9874f93f
2 changed files with 40 additions and 23 deletions
46
strings.py
46
strings.py
|
@ -49,27 +49,27 @@ transactions_page = "Pagina <b>{page}</b>:\n" \
|
|||
"{transactions}"
|
||||
|
||||
# transactions.csv caption
|
||||
csv_caption = "E' stato generato un file .csv contenente tutte le transazioni archiviate nel database del bot.\n" \
|
||||
csv_caption = "E' stato generato un 📄 file .csv contenente tutte le transazioni archiviate nel database del bot.\n" \
|
||||
"E' possibile aprire questo file con altri programmi, come ad esempio LibreOffice Calc, per elaborare" \
|
||||
" i dati."
|
||||
|
||||
# Conversation: the start command was sent and the bot should welcome the user
|
||||
conversation_after_start = "Ciao!\n" \
|
||||
"Benvenuto su greed!\n" \
|
||||
"Quella che vedi qui è la versione <b>Alpha</b> del software.\n" \
|
||||
"Quella che vedi qui è la versione 🅰️ <b>Alpha</b> del software.\n" \
|
||||
"Pertanto, funzioni potranno essere aggiunte o rimosse in qualsiasi momento," \
|
||||
" e l'interfaccia utente potrebbe essere incompleta."
|
||||
|
||||
# Conversation: to send an inline keyboard you need to send a message with it
|
||||
conversation_open_user_menu = "Cosa vorresti fare?\n" \
|
||||
"Hai <b>{credit}</b> sul portafoglio.\n" \
|
||||
"💰 Hai <b>{credit}</b> sul portafoglio.\n" \
|
||||
"\n" \
|
||||
"<i>Per selezionare un'operazione, premi un tasto nella tastiera in basso.\n" \
|
||||
"Se la tastiera non si è aperta, puoi aprirla premendo il tasto con quattro quadratini" \
|
||||
" nella barra dei messaggi.</i>"
|
||||
|
||||
# Conversation: like above, but for administrators
|
||||
conversation_open_admin_menu = "Sei un <b>amministratore</b> di greed!\n" \
|
||||
conversation_open_admin_menu = "Sei un 💼 <b>Gestore</b> di questo negozio!\n" \
|
||||
"Cosa vorresti fare?\n" \
|
||||
"\n" \
|
||||
"<i>Per selezionare un'operazione, premi un tasto nella tastiera in basso.\n" \
|
||||
|
@ -94,7 +94,7 @@ conversation_cart_actions = "<i>Aggiungi prodotti al carrello scorrendo in su e
|
|||
" premi il tasto Conferma.</i>"
|
||||
|
||||
# Conversation: confirm the cart contents
|
||||
conversation_confirm_cart = "Il tuo carrello contiene questi prodotti:\n" \
|
||||
conversation_confirm_cart = "🛒 Il tuo carrello contiene questi prodotti:\n" \
|
||||
"{product_list}" \
|
||||
"Totale: <b>{total_cost}</b>\n" \
|
||||
"\n" \
|
||||
|
@ -104,7 +104,8 @@ conversation_confirm_cart = "Il tuo carrello contiene questi prodotti:\n" \
|
|||
# Conversation: the user activated the live orders mode
|
||||
conversation_live_orders_start = "Sei in modalità di <b>Ricezione Ordini</b>!\n" \
|
||||
"Tutti i nuovi ordini piazzati dai clienti ti appariranno in tempo reale in questa" \
|
||||
" chat, e potrai segnarli come completati oppure rimborsare il credito al cliente.\n" \
|
||||
" chat, e potrai segnarli come ✅ completati" \
|
||||
" oppure ✴️ rimborsare il credito al cliente.\n" \
|
||||
"\n" \
|
||||
"<i>Premi il tasto Interrompi sotto a questo messaggio per interrompere la" \
|
||||
" ricezione.</i>"
|
||||
|
@ -112,6 +113,10 @@ conversation_live_orders_start = "Sei in modalità di <b>Ricezione Ordini</b>!\n
|
|||
# Conversation: help menu has been opened
|
||||
conversation_open_help_menu = "Che tipo di assistenza desideri ricevere?"
|
||||
|
||||
# Conversation: switching to user mode
|
||||
conversation_switch_to_user_mode = "Stai passando alla modalità 👤 Cliente.\n" \
|
||||
"Se vuoi riassumere il ruolo di 💼 Gestore, riavvia la conversazione con /start."
|
||||
|
||||
# Notification: the conversation has expired
|
||||
conversation_expired = "🕐 Non ho ricevuto messaggi da un po' di tempo, quindi per risparmiare energia" \
|
||||
" ho chiuso la conversazione.\n" \
|
||||
|
@ -148,7 +153,7 @@ menu_transactions = "💳 Elenco transazioni"
|
|||
menu_edit_credit = "💰 Crea transazione"
|
||||
|
||||
# Admin menu: go to user mode
|
||||
menu_user_mode = "👤 Passa alla modalità utente"
|
||||
menu_user_mode = "👤 Passa alla modalità cliente"
|
||||
|
||||
# Admin menu: add product
|
||||
menu_add_product = "✨ Nuovo prodotto"
|
||||
|
@ -236,25 +241,26 @@ ask_product_price = "Quanto deve costare il prodotto?\n" \
|
|||
"Scrivi <code>X</code> se vuoi che il prodotto non sia ancora in vendita."
|
||||
|
||||
# Add product: image?
|
||||
ask_product_image = "Che immagine vuoi che abbia il prodotto?\n" \
|
||||
ask_product_image = "🖼 Che immagine vuoi che abbia il prodotto?\n" \
|
||||
"\n" \
|
||||
"<i>Invia la foto, o se preferisci lasciare il prodotto senza immagine premi il tasto Salta qui" \
|
||||
" sotto.</i>"
|
||||
|
||||
# Order product: notes?
|
||||
ask_order_notes = "Vuoi lasciare una nota insieme all'ordine?\n" \
|
||||
"Sarà visibile agli addetti del negozio.\n" \
|
||||
"💼 Sarà visibile ai gestori del negozio.\n" \
|
||||
"\n" \
|
||||
"<i>Invia un messaggio con la nota che vuoi lasciare, oppure premi il pulsante Salta sotto a questo" \
|
||||
" messaggio per non lasciare nulla.</i>"
|
||||
|
||||
# Refund product: reason?
|
||||
ask_refund_reason = "Allega una motivazione a questo rimborso.\n" \
|
||||
"Sarà visibile al cliente."
|
||||
"👤 Sarà visibile al cliente."
|
||||
|
||||
# Edit credit: notes?
|
||||
ask_transaction_notes = "Allega una nota a questa transazione.\n" \
|
||||
"Sarà visibile al cliente in seguito all'accredito / addebito e nel registro delle transazioni."
|
||||
"👤 Sarà visibile al cliente in seguito all'accredito / addebito" \
|
||||
" e ai 💼 Gestori nel registro delle transazioni."
|
||||
|
||||
# Edit credit: amount?
|
||||
ask_credit = "Di quanto vuoi modificare il credito del cliente?\n" \
|
||||
|
@ -264,16 +270,16 @@ ask_credit = "Di quanto vuoi modificare il credito del cliente?\n" \
|
|||
" oppure un segno </i><code>-</code><i> se vuoi dedurlo.</i>"
|
||||
|
||||
# Edit admin: can edit products?
|
||||
ask_edit_products = "Vuoi che l'amministratore sia autorizzato a modificare la configurazione dei prodotti?"
|
||||
ask_edit_products = "Vuoi che questo 💼 Gestore sia autorizzato a modificare la configurazione dei prodotti?"
|
||||
|
||||
# Edit admin: can receive orders?
|
||||
ask_receive_orders = "Vuoi che l'amministratore sia autorizzato a ricevere e gestire gli ordini?"
|
||||
ask_receive_orders = "Vuoi che questo 💼 Gestore sia autorizzato a ricevere e gestire gli ordini?"
|
||||
|
||||
# Edit admin: can create transactions?
|
||||
ask_create_transactions = "Vuoi che l'amministratore sia autorizzato a creare nuove transazioni?"
|
||||
ask_create_transactions = "Vuoi che questo 💼 Gestore sia autorizzato a creare nuove transazioni?"
|
||||
|
||||
# Edit admin: should be displayed on help
|
||||
ask_display_on_help = "Vuoi che l'amministratore venga visualizzato nella sezione Contatta il negozio?"
|
||||
ask_display_on_help = "Vuoi che questo 💼 Gestore venga visualizzato nella sezione Contatta il negozio?"
|
||||
|
||||
# Thread has started downloading an image and might be unresponsive
|
||||
downloading_image = "Sto scaricando la tua foto!\n" \
|
||||
|
@ -303,7 +309,7 @@ payment_invoice_title = "Aggiunta di fondi"
|
|||
# Payment: add funds invoice description
|
||||
payment_invoice_description = "Pagando questa ricevuta verranno aggiunti {amount} al portafoglio.\n\n" \
|
||||
"Visto che sei nella versione Alpha del software, puoi effettuare pagamenti infiniti" \
|
||||
" con la carta di credito di prova `4242 4242 4242 4242`," \
|
||||
" con la carta di credito di prova 4242 4242 4242 4242," \
|
||||
" con qualsiasi CVV e una qualsiasi data di scadenza valida."
|
||||
|
||||
# Payment: label of the labeled price on the invoice
|
||||
|
@ -325,7 +331,7 @@ notification_order_refunded = "Un tuo ordine è stato rimborsato!\n" \
|
|||
"{order}"
|
||||
|
||||
# Notification: a manual transaction was applied
|
||||
notification_transaction_created = "E' stata applicata una nuova transazione al tuo portafoglio:\n" \
|
||||
notification_transaction_created = "ℹ️ E' stata applicata una nuova transazione al tuo portafoglio:\n" \
|
||||
"{transaction}"
|
||||
|
||||
# Refund reason
|
||||
|
@ -339,8 +345,8 @@ bot_info = 'Questo bot utilizza <a href="https://github.com/Steffo99/greed">gree
|
|||
'Il codice sorgente di questa versione è disponibile <i>qui</i>.\n'
|
||||
|
||||
# Help: guide
|
||||
help_msg = "La guida del bot non è ancora disponibile.\n" \
|
||||
"Riprova più avanti!"
|
||||
help_msg = "La guida del bot sarà disponibile in futuro a questo indirizzo:\n" \
|
||||
"https://github.com/Steffo99/greed/wiki"
|
||||
|
||||
# Help: contact shopkeeper
|
||||
contact_shopkeeper = "Attualmente, il personale disponibile ad offrire assistenza agli utenti è composto da:\n" \
|
||||
|
@ -406,4 +412,4 @@ error_user_does_not_exist = "⚠️ L'utente selezionato non esiste."
|
|||
# Fatal: conversation raised an exception
|
||||
fatal_conversation_exception = "☢️ Oh no! Un <b>errore</b> ha interrotto questa conversazione.\n" \
|
||||
"L'errore è stato segnalato allo sviluppatore di greed in modo che possa sistemarlo.\n" \
|
||||
"Per avviare una nuova conversazione, invia il comando /start."
|
||||
"Per avviare una nuova conversazione, invia il comando /start."
|
||||
|
|
17
worker.py
17
worker.py
|
@ -83,6 +83,8 @@ class ChatWorker(threading.Thread):
|
|||
display_on_help=True,
|
||||
is_owner=True,
|
||||
live_mode=False)
|
||||
# Add the admin to the transaction
|
||||
self.session.add(self.admin)
|
||||
# Commit the transaction
|
||||
self.session.commit()
|
||||
# Capture exceptions that occour during the conversation
|
||||
|
@ -115,6 +117,12 @@ class ChatWorker(threading.Thread):
|
|||
# Wait for the thread to stop
|
||||
self.join()
|
||||
|
||||
def update_user(self) -> db.User:
|
||||
"""Update the user data.
|
||||
Note that this method will cause crashes if used in different threads with sqlite databases."""
|
||||
self.user = self.session.query(db.User).filter(db.User.user_id == self.chat.id).one_or_none()
|
||||
return self.user
|
||||
|
||||
# noinspection PyUnboundLocalVariable
|
||||
def __receive_next_update(self) -> telegram.Update:
|
||||
"""Get the next update from the queue.
|
||||
|
@ -297,7 +305,7 @@ class ChatWorker(threading.Thread):
|
|||
strings.menu_add_credit, strings.menu_bot_info,
|
||||
strings.menu_help])
|
||||
# After the user reply, update the user data
|
||||
self.user = self.session.query(db.User).filter(db.User.user_id == self.chat.id).one_or_none()
|
||||
self._update_user()
|
||||
# If the user has selected the Order option...
|
||||
if selection == strings.menu_order:
|
||||
# Open the order menu
|
||||
|
@ -667,7 +675,7 @@ class ChatWorker(threading.Thread):
|
|||
# Loop used to return to the menu after executing a command
|
||||
while True:
|
||||
# Create a keyboard with the admin main menu based on the admin permissions specified in the db
|
||||
keyboard = [[strings.menu_user_mode]]
|
||||
keyboard = []
|
||||
if self.admin.edit_products:
|
||||
keyboard.append([strings.menu_products])
|
||||
if self.admin.receive_orders:
|
||||
|
@ -675,6 +683,7 @@ class ChatWorker(threading.Thread):
|
|||
if self.admin.create_transactions:
|
||||
keyboard.append([strings.menu_edit_credit])
|
||||
keyboard.append([strings.menu_transactions, strings.menu_csv])
|
||||
keyboard.append([strings.menu_user_mode])
|
||||
# Send the previously created keyboard to the user (ensuring it can be clicked only 1 time)
|
||||
self.bot.send_message(self.chat.id, strings.conversation_open_admin_menu,
|
||||
reply_markup=telegram.ReplyKeyboardMarkup(keyboard, one_time_keyboard=True),
|
||||
|
@ -697,6 +706,8 @@ class ChatWorker(threading.Thread):
|
|||
self.__create_transaction()
|
||||
# If the user has selected the User mode option...
|
||||
elif selection == strings.menu_user_mode:
|
||||
# Tell the user how to go back to admin menu
|
||||
self.bot.send_message(self.chat.id, strings.conversation_switch_to_user_mode)
|
||||
# Start the bot in user mode
|
||||
self.__user_menu()
|
||||
# If the user has selected the Transactions option...
|
||||
|
@ -804,7 +815,7 @@ class ChatWorker(threading.Thread):
|
|||
# noinspection PyTypeChecker
|
||||
product = db.Product(name=name,
|
||||
description=description,
|
||||
price=int(price),
|
||||
price=int(price) if price is not None else None,
|
||||
deleted=False)
|
||||
# Add the record to the database
|
||||
self.session.add(product)
|
||||
|
|
Loading…
Reference in a new issue