示例#1
0
def walk_get_day(
        message):  # Название функции не играет никакой роли, в принципе
    global day
    day = message.text.title()
    name = message.from_user.first_name
    chat_id = message.chat.id
    user_id = message.from_user.id
    username = message.from_user.username
    db_worker = SQLighter(config.database)
    user_with = 0
    write_to_DB = db_worker.write_to(chat_id, user_id, username, day,
                                     user_with)
    if (str.lower(message.text) != "/delete") & (str.lower(message.text) !=
                                                 "/cancel"):
        bot.send_message(
            message.chat.id,
            "{}({}) планирует прогулку в эту/это/этот: {}".format(
                name, username, message.text))
        msg = bot.reply_to(
            message,
            "С кем планируете прогулку? Отправь контакт или укажи Username с указанием @, например @username"
        )
        bot.register_next_step_handler(msg, reply_to_another_user)

    elif str.lower(message.text) == "/delete":
        msg = bot.reply_to(message, "какой день удалить?")
        bot.register_next_step_handler(msg, delete_day_select_day)
    elif str.lower(message.text) == '/cancel':
        msg = bot.reply_to(message, "Отправляю в начало, воспользуйся /start")
        bot.register_next_step_handler(msg, start)
    db_worker.close()
示例#2
0
def reply_to_another_user_about_delete(message):
    try:
        if (message.content_type == 'contact'):
            username = message.from_user.username
            user_id = message.from_user.id
            db_worker = SQLighter(config.database)
            userID = message.contact.user_id
            get_ID = db_worker.getID(userID)
            get_ID = "{}".format(''.join(str(x) for x in get_ID).replace(
                '(', '').replace(')', '').replace('\'', '')[:-1])
            check_row = db_worker.check_row(day_delete, user_id, get_ID)
            if check_row == 0:
                bot.register_next_step_handler((bot.reply_to(
                    message,
                    'oooops, в такой день прогулки нету, попробуй еще')),
                                               cancel)
            delete_from_db = db_worker.delete_row(day_delete, user_id, get_ID)
            db_worker.clear(user_id)
            bot.send_message(
                get_ID, "У вас отменяется прогулка с {} {}  в {}".format(
                    message.from_user.first_name, message.from_user.last_name,
                    day_delete))
            read_from_DB = db_worker.read_my_data(username, get_ID, user_id)

            last_name = message.contact.last_name
            if last_name != None:
                bot.send_message(
                    message.chat.id,
                    "У вас запланированы прогулки с {} {} на следующие дни: {}  "
                    .format(
                        message.contact.first_name, message.contact.last_name,
                        ''.join(str(x) for x in read_from_DB).replace(
                            '(',
                            '').replace(')',
                                        '').replace('\'',
                                                    '').replace(',',
                                                                ', ')[:-2]))
            else:
                last_name = ""
                bot.send_message(
                    message.chat.id,
                    "У вас запланированы прогулки с {} {} на следующие дни: {}  "
                    .format(
                        message.contact.first_name, last_name,
                        ''.join(str(x) for x in read_from_DB).replace(
                            '(',
                            '').replace(')',
                                        '').replace('\'',
                                                    '').replace(',',
                                                                ', ')[:-2]))

            db_worker.close()
        elif (message.content_type == 'text') & (message.text.startswith('@')):
            chat_id = message.chat.id
            user_id = message.from_user.id
            username = message.from_user.username
            username_to = message.text
            username_to = username_to[1:]
            db_worker = SQLighter(config.database)
            get_ID = db_worker.getChatID(username_to)
            get_ID = "{}".format(''.join(str(x) for x in get_ID).replace(
                '(', '').replace(')', '').replace('\'', '')[:-1])
            getUserID = db_worker.getUserID(get_ID)
            getUserID = "{}".format(''.join(str(x) for x in getUserID).replace(
                '(', '').replace(')', '').replace('\'', '')[:-1])
            check_row = db_worker.check_row(day_delete, user_id, get_ID)
            if check_row == 0:
                bot.register_next_step_handler((bot.reply_to(
                    message,
                    'oooops, на такой день прогулки не запланировано')),
                                               cancel)
            else:
                delete_from_db = db_worker.delete_row(day_delete, user_id,
                                                      get_ID)
                db_worker.clear(user_id)
                bot.send_message(
                    get_ID, "У вас отменяется прогулка с {} {}  в {}".format(
                        message.from_user.first_name,
                        message.from_user.last_name, day_delete))
                read_from_DB = db_worker.read_my_data(username, get_ID,
                                                      user_id)
                user_with = bot.get_chat_member(get_ID, getUserID)
                last_name = user_with.user.last_name
                if last_name != None:
                    bot.send_message(
                        message.chat.id,
                        "У вас запланированы прогулки с {} {} на следующие дни: {}  "
                        .format(
                            user_with.user.first_name,
                            user_with.user.last_name,
                            ''.join(str(x) for x in read_from_DB).replace(
                                '(', '').replace(')',
                                                 '').replace('\'', '').replace(
                                                     ',', ', ')[:-2]))
                else:
                    last_name = ""
                    bot.send_message(
                        message.chat.id,
                        "У вас запланированы прогулки с {} {} на следующие дни: {}  "
                        .format(
                            user_with.user.first_name, last_name,
                            ''.join(str(x) for x in read_from_DB).replace(
                                '(', '').replace(')',
                                                 '').replace('\'', '').replace(
                                                     ',', ', ')[:-2]))
                db_worker.close()
        elif (message.content_type != 'contact') & (
                message.text != '/cancel') & (message.text.startswith('@')
                                              == False):
            chat_id = message.chat.id
            msg = bot.reply_to(message, "Отправь файл контакта!")
            bot.register_next_step_handler(msg,
                                           reply_to_another_user_about_delete)
        elif str.lower(message.text) == '/cancel':
            msg = bot.reply_to(message,
                               "Отправляю в начало, воспользуйся /start")
            bot.register_next_step_handler(msg, start)
    except Exception as e:
        print(e)
        bot.register_next_step_handler((bot.reply_to(
            message, 'oooops, попробуй еще раз ввести username')),
                                       reply_to_another_user_about_delete)