mirror of
https://github.com/Steffo99/greed.git
synced 2024-11-22 05:54: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
44
strings.py
44
strings.py
|
@ -49,27 +49,27 @@ transactions_page = "Pagina <b>{page}</b>:\n" \
|
||||||
"{transactions}"
|
"{transactions}"
|
||||||
|
|
||||||
# transactions.csv caption
|
# 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" \
|
"E' possibile aprire questo file con altri programmi, come ad esempio LibreOffice Calc, per elaborare" \
|
||||||
" i dati."
|
" i dati."
|
||||||
|
|
||||||
# Conversation: the start command was sent and the bot should welcome the user
|
# Conversation: the start command was sent and the bot should welcome the user
|
||||||
conversation_after_start = "Ciao!\n" \
|
conversation_after_start = "Ciao!\n" \
|
||||||
"Benvenuto su greed!\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," \
|
"Pertanto, funzioni potranno essere aggiunte o rimosse in qualsiasi momento," \
|
||||||
" e l'interfaccia utente potrebbe essere incompleta."
|
" e l'interfaccia utente potrebbe essere incompleta."
|
||||||
|
|
||||||
# Conversation: to send an inline keyboard you need to send a message with it
|
# Conversation: to send an inline keyboard you need to send a message with it
|
||||||
conversation_open_user_menu = "Cosa vorresti fare?\n" \
|
conversation_open_user_menu = "Cosa vorresti fare?\n" \
|
||||||
"Hai <b>{credit}</b> sul portafoglio.\n" \
|
"💰 Hai <b>{credit}</b> sul portafoglio.\n" \
|
||||||
"\n" \
|
"\n" \
|
||||||
"<i>Per selezionare un'operazione, premi un tasto nella tastiera in basso.\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" \
|
"Se la tastiera non si è aperta, puoi aprirla premendo il tasto con quattro quadratini" \
|
||||||
" nella barra dei messaggi.</i>"
|
" nella barra dei messaggi.</i>"
|
||||||
|
|
||||||
# Conversation: like above, but for administrators
|
# 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" \
|
"Cosa vorresti fare?\n" \
|
||||||
"\n" \
|
"\n" \
|
||||||
"<i>Per selezionare un'operazione, premi un tasto nella tastiera in basso.\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>"
|
" premi il tasto Conferma.</i>"
|
||||||
|
|
||||||
# Conversation: confirm the cart contents
|
# 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}" \
|
"{product_list}" \
|
||||||
"Totale: <b>{total_cost}</b>\n" \
|
"Totale: <b>{total_cost}</b>\n" \
|
||||||
"\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: the user activated the live orders mode
|
||||||
conversation_live_orders_start = "Sei in modalità di <b>Ricezione Ordini</b>!\n" \
|
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" \
|
"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" \
|
"\n" \
|
||||||
"<i>Premi il tasto Interrompi sotto a questo messaggio per interrompere la" \
|
"<i>Premi il tasto Interrompi sotto a questo messaggio per interrompere la" \
|
||||||
" ricezione.</i>"
|
" 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: help menu has been opened
|
||||||
conversation_open_help_menu = "Che tipo di assistenza desideri ricevere?"
|
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
|
# Notification: the conversation has expired
|
||||||
conversation_expired = "🕐 Non ho ricevuto messaggi da un po' di tempo, quindi per risparmiare energia" \
|
conversation_expired = "🕐 Non ho ricevuto messaggi da un po' di tempo, quindi per risparmiare energia" \
|
||||||
" ho chiuso la conversazione.\n" \
|
" ho chiuso la conversazione.\n" \
|
||||||
|
@ -148,7 +153,7 @@ menu_transactions = "💳 Elenco transazioni"
|
||||||
menu_edit_credit = "💰 Crea transazione"
|
menu_edit_credit = "💰 Crea transazione"
|
||||||
|
|
||||||
# Admin menu: go to user mode
|
# Admin menu: go to user mode
|
||||||
menu_user_mode = "👤 Passa alla modalità utente"
|
menu_user_mode = "👤 Passa alla modalità cliente"
|
||||||
|
|
||||||
# Admin menu: add product
|
# Admin menu: add product
|
||||||
menu_add_product = "✨ Nuovo prodotto"
|
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."
|
"Scrivi <code>X</code> se vuoi che il prodotto non sia ancora in vendita."
|
||||||
|
|
||||||
# Add product: image?
|
# 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" \
|
"\n" \
|
||||||
"<i>Invia la foto, o se preferisci lasciare il prodotto senza immagine premi il tasto Salta qui" \
|
"<i>Invia la foto, o se preferisci lasciare il prodotto senza immagine premi il tasto Salta qui" \
|
||||||
" sotto.</i>"
|
" sotto.</i>"
|
||||||
|
|
||||||
# Order product: notes?
|
# Order product: notes?
|
||||||
ask_order_notes = "Vuoi lasciare una nota insieme all'ordine?\n" \
|
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" \
|
"\n" \
|
||||||
"<i>Invia un messaggio con la nota che vuoi lasciare, oppure premi il pulsante Salta sotto a questo" \
|
"<i>Invia un messaggio con la nota che vuoi lasciare, oppure premi il pulsante Salta sotto a questo" \
|
||||||
" messaggio per non lasciare nulla.</i>"
|
" messaggio per non lasciare nulla.</i>"
|
||||||
|
|
||||||
# Refund product: reason?
|
# Refund product: reason?
|
||||||
ask_refund_reason = "Allega una motivazione a questo rimborso.\n" \
|
ask_refund_reason = "Allega una motivazione a questo rimborso.\n" \
|
||||||
"Sarà visibile al cliente."
|
"👤 Sarà visibile al cliente."
|
||||||
|
|
||||||
# Edit credit: notes?
|
# Edit credit: notes?
|
||||||
ask_transaction_notes = "Allega una nota a questa transazione.\n" \
|
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?
|
# Edit credit: amount?
|
||||||
ask_credit = "Di quanto vuoi modificare il credito del cliente?\n" \
|
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>"
|
" oppure un segno </i><code>-</code><i> se vuoi dedurlo.</i>"
|
||||||
|
|
||||||
# Edit admin: can edit products?
|
# 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?
|
# 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?
|
# 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
|
# 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
|
# Thread has started downloading an image and might be unresponsive
|
||||||
downloading_image = "Sto scaricando la tua foto!\n" \
|
downloading_image = "Sto scaricando la tua foto!\n" \
|
||||||
|
@ -303,7 +309,7 @@ payment_invoice_title = "Aggiunta di fondi"
|
||||||
# Payment: add funds invoice description
|
# Payment: add funds invoice description
|
||||||
payment_invoice_description = "Pagando questa ricevuta verranno aggiunti {amount} al portafoglio.\n\n" \
|
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" \
|
"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."
|
" con qualsiasi CVV e una qualsiasi data di scadenza valida."
|
||||||
|
|
||||||
# Payment: label of the labeled price on the invoice
|
# Payment: label of the labeled price on the invoice
|
||||||
|
@ -325,7 +331,7 @@ notification_order_refunded = "Un tuo ordine è stato rimborsato!\n" \
|
||||||
"{order}"
|
"{order}"
|
||||||
|
|
||||||
# Notification: a manual transaction was applied
|
# 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}"
|
"{transaction}"
|
||||||
|
|
||||||
# Refund reason
|
# 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'
|
'Il codice sorgente di questa versione è disponibile <i>qui</i>.\n'
|
||||||
|
|
||||||
# Help: guide
|
# Help: guide
|
||||||
help_msg = "La guida del bot non è ancora disponibile.\n" \
|
help_msg = "La guida del bot sarà disponibile in futuro a questo indirizzo:\n" \
|
||||||
"Riprova più avanti!"
|
"https://github.com/Steffo99/greed/wiki"
|
||||||
|
|
||||||
# Help: contact shopkeeper
|
# Help: contact shopkeeper
|
||||||
contact_shopkeeper = "Attualmente, il personale disponibile ad offrire assistenza agli utenti è composto da:\n" \
|
contact_shopkeeper = "Attualmente, il personale disponibile ad offrire assistenza agli utenti è composto da:\n" \
|
||||||
|
|
17
worker.py
17
worker.py
|
@ -83,6 +83,8 @@ class ChatWorker(threading.Thread):
|
||||||
display_on_help=True,
|
display_on_help=True,
|
||||||
is_owner=True,
|
is_owner=True,
|
||||||
live_mode=False)
|
live_mode=False)
|
||||||
|
# Add the admin to the transaction
|
||||||
|
self.session.add(self.admin)
|
||||||
# Commit the transaction
|
# Commit the transaction
|
||||||
self.session.commit()
|
self.session.commit()
|
||||||
# Capture exceptions that occour during the conversation
|
# Capture exceptions that occour during the conversation
|
||||||
|
@ -115,6 +117,12 @@ class ChatWorker(threading.Thread):
|
||||||
# Wait for the thread to stop
|
# Wait for the thread to stop
|
||||||
self.join()
|
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
|
# noinspection PyUnboundLocalVariable
|
||||||
def __receive_next_update(self) -> telegram.Update:
|
def __receive_next_update(self) -> telegram.Update:
|
||||||
"""Get the next update from the queue.
|
"""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_add_credit, strings.menu_bot_info,
|
||||||
strings.menu_help])
|
strings.menu_help])
|
||||||
# After the user reply, update the user data
|
# 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 the user has selected the Order option...
|
||||||
if selection == strings.menu_order:
|
if selection == strings.menu_order:
|
||||||
# Open the order menu
|
# Open the order menu
|
||||||
|
@ -667,7 +675,7 @@ class ChatWorker(threading.Thread):
|
||||||
# Loop used to return to the menu after executing a command
|
# Loop used to return to the menu after executing a command
|
||||||
while True:
|
while True:
|
||||||
# Create a keyboard with the admin main menu based on the admin permissions specified in the db
|
# 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:
|
if self.admin.edit_products:
|
||||||
keyboard.append([strings.menu_products])
|
keyboard.append([strings.menu_products])
|
||||||
if self.admin.receive_orders:
|
if self.admin.receive_orders:
|
||||||
|
@ -675,6 +683,7 @@ class ChatWorker(threading.Thread):
|
||||||
if self.admin.create_transactions:
|
if self.admin.create_transactions:
|
||||||
keyboard.append([strings.menu_edit_credit])
|
keyboard.append([strings.menu_edit_credit])
|
||||||
keyboard.append([strings.menu_transactions, strings.menu_csv])
|
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)
|
# 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,
|
self.bot.send_message(self.chat.id, strings.conversation_open_admin_menu,
|
||||||
reply_markup=telegram.ReplyKeyboardMarkup(keyboard, one_time_keyboard=True),
|
reply_markup=telegram.ReplyKeyboardMarkup(keyboard, one_time_keyboard=True),
|
||||||
|
@ -697,6 +706,8 @@ class ChatWorker(threading.Thread):
|
||||||
self.__create_transaction()
|
self.__create_transaction()
|
||||||
# If the user has selected the User mode option...
|
# If the user has selected the User mode option...
|
||||||
elif selection == strings.menu_user_mode:
|
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
|
# Start the bot in user mode
|
||||||
self.__user_menu()
|
self.__user_menu()
|
||||||
# If the user has selected the Transactions option...
|
# If the user has selected the Transactions option...
|
||||||
|
@ -804,7 +815,7 @@ class ChatWorker(threading.Thread):
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
product = db.Product(name=name,
|
product = db.Product(name=name,
|
||||||
description=description,
|
description=description,
|
||||||
price=int(price),
|
price=int(price) if price is not None else None,
|
||||||
deleted=False)
|
deleted=False)
|
||||||
# Add the record to the database
|
# Add the record to the database
|
||||||
self.session.add(product)
|
self.session.add(product)
|
||||||
|
|
Loading…
Reference in a new issue