def me_cmd(bot, update): chat_id = str(update.message.chat_id) if is_registered(chat_id): bot.send_message(chat_id=chat_id, text="Cosa vuoi fare?", reply_markup=me_keyboard(chat_id))
def help(bot, update): if update.message.chat.type == "private": text = ["Comandi disponibili:"] text.append( "\n\nℹ /info - Visualizza informazioni sulla versione del Bot.") if is_registered(update.message.chat_id): text.append( "\n👤 /me - Gestisci il tuo profilo." "\n📚 /prenota - Gestisci le tue prenotazioni." "\n🚗 /parcheggio - Registra il tuo parcheggio di oggi.") if common.is_sessione(): text.append("\n🗓 /oggi - Visualizza i viaggi disponibili.") else: text.append( "\n\n🗓 /oggi - Visualizza le prenotazioni per oggi." "\n🗓 /domani - Visualizza le prenotazioni per domani." "\n\n📅 /lunedi - /martedi - /mercoledi" "\n/giovedi - /venerdi - Visualizza le prenotazioni dei singoli giorni." ) else: text.append( "\n🖊 /registra - Inizia a usare UberNEST registrandoti al sistema." ) bot.send_message(chat_id=update.message.chat_id, text="".join(text)) else: bot.send_message( chat_id=update.message.chat_id, text="Per informazioni, scrivimi /help in privato su @ubernestbot." )
def me_cq(bot, update): chat_id = str(update.callback_query.message.chat_id) if is_registered(chat_id): bot.edit_message_text( chat_id=chat_id, message_id=update.callback_query.message.message_id, text="Cosa vuoi fare?", reply_markup=me_keyboard(chat_id))
def prenota_cmd(bot, update): chat_id = str(update.message.chat_id) if is_registered(chat_id): bot.send_message(chat_id=chat_id, text="Cosa vuoi fare?", reply_markup=booking_menu_keyboard()) else: bot.send_message( chat_id=chat_id, text="Per effettuare una prenotazione, registrati con /registra.")
def registra(bot, update): if is_registered(update.message.chat_id): bot.send_message(chat_id=update.message.chat_id, text="Questo utente risulta già iscritto a sistema!") else: bot.send_message(chat_id=update.message.chat_id, text="In seguito all'iscrizione, assicurati di unirti" " al gruppo UberNEST, e di aver letto ed accettato" " il regolamento in tutti i suoi punti. Per ulteriori" " informazioni, contatta un membro del direttivo di" " UberNEST.") bot.send_message( chat_id=update.message.chat_id, text="Inserire nome e cognome, che verranno mostrati" " sia agli autisti sia ai passeggeri. Ogni violazione di" " queste regole verrà punita con la rimozione dal" " sistema.") ReplyStatus.response_mode = 1
def fetch_bookings(chat_id, day): if common.is_weekday(day): text = [f"Lista dei viaggi di {day.lower()}:"] for direction in "Salita", "Discesa": text.append(f"\n\n{common.dir_name(direction)}\n") bookings = get_all_trips_fixed_direction(direction, day) if len(bookings) > 0: for time, driver in bookings: trip = get_trip(direction, day, driver) # Raccolgo in una list comprehension le persone che partecipano al viaggio people = [ f"[{get_name(user)}](tg://user?id={user})" for mode in trip if mode == "Temporary" or mode == "Permanent" for user in trip[mode] ] # Aggiungo ogni viaggio trovato alla lista text.append( f"\n🚗 [{get_name(driver)}](tg://user?id={driver})" f" - 🕓 *{time}*:" f"\n👥 {', '.join(people)}\n") else: text.append("\n🚶🏻♂ Nessuna persona in viaggio oggi.") if is_registered(chat_id): day_subkeyboard = [] for wkday in common.work_days: ccd_text = "☑" if wkday == day else wkday[:2] day_subkeyboard.append( InlineKeyboardButton(ccd_text, callback_data=ccd( "SHOW_BOOKINGS", wkday))) if common.is_booking_time(): keyboard = [ day_subkeyboard, [ InlineKeyboardButton("🔂 Prenota una tantum", callback_data=ccd( "BOOKING", "DAY", "Temporary", day)) ], [ InlineKeyboardButton("🔁 Prenota permanentemente", callback_data=ccd( "BOOKING", "DAY", "Permanent", day)) ], [ InlineKeyboardButton("🔚 Esci", callback_data=ccd("EXIT")) ] ] else: keyboard = [ day_subkeyboard, [ InlineKeyboardButton("🔚 Esci", callback_data=ccd("EXIT")) ] ] else: keyboard = [] return "".join(text), InlineKeyboardMarkup(keyboard) else: keyboard = [[ InlineKeyboardButton("🔚 Esci", callback_data=ccd("EXIT")) ]] return f"{day} UberNEST non è attivo.", InlineKeyboardMarkup(keyboard)