Exemple #1
0
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))
Exemple #2
0
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."
        )
Exemple #3
0
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.")
Exemple #5
0
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
Exemple #6
0
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)