Beispiel #1
0
def check_key(key):
    count_keys = url_db.sql_count_keys()

    if count_keys != 0:
        db_info = key[1]
        link = key[2]
        parse_data = utils.data_parser(link)
        if parse_data['success']:
            response = parse_data['response']
            up_info = response[1]
            if up_info != db_info:
                url_db.sql_update_info(up_info, link)
                print('link is updated')
                return {
                    'bool':
                    True,
                    'link':
                    link,
                    'update':
                    up_info,
                    'success':
                    f"{parse_data['response'][0]}\n "
                    f"{parse_data['response'][1]}\n "
                }
            print('link is ok')
        else:
            return {'bool': False, 'link': link}
    return {'bool': None}
Beispiel #2
0
def func_auto_update():
    count_keys = url_db.sql_count_keys()
    chats = url_db.sql_all_status()
    news = get_result()

    error_keys = news['errors']
    success_keys = news['success']
    time = datetime.datetime.now()
    now = time.strftime("%Y-%m-%d")

    # Рассылка результатов по подписавшимся на обновления чатам
    for chat_id in chats:
        for success in success_keys:
            send_message(chat_id[0], f"Обновление дела от {now}:\n"
                         f"{success}")

        for error in error_keys:
            send_message(chat_id[0], f"{now}: Не обновилось дело:\n "
                         f"{error}")

    for chat_id in chats:
        info_message = f'Ежедневный апдейт от {now} завершен:'
        if len(success_keys) == 0:
            info_message += '\nНовой информации по делам нет'
        else:
            info_message += f'\nОбновлено {len(success_keys)} дел.'
        if len(error_keys) != 0:
            info_message += '\nНе все дела смог проверить:\n' \
                            f'Успешно проверенных: {count_keys - len(error_keys)} из ' \
                            f'{count_keys}\n'
        send_message(chat_id[0], info_message)
        return
Beispiel #3
0
async def delete_key(message: types.Message):
    user = user_db.sql_init_user(message.from_user.id)
    if user['verif']:
        if url_db.sql_count_keys() != 0:
            keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
            cancel_but = types.KeyboardButton(text='Отмена')
            for key in url_db.sql_show_party():
                row_key = types.KeyboardButton(text=str(key[0]))
                keyboard.add(row_key)
            keyboard.add(cancel_but)
            await message.answer('Отслеживаемые дела (%s)'
                                 '\nВыбери, что хочешь удалить:' %
                                 url_db.sql_count_keys(),
                                 reply_markup=keyboard)
            await SelectMenu.waiting_sel_link.set()
        else:
            await message.answer('Нет отслеживаемых дел')
Beispiel #4
0
async def show_users(message: types.Message):
    user = user_db.sql_init_user(message.from_user.id)
    if user['admin']:
        if url_db.sql_count_keys() != 0:
            db_users = user_db.sql_show_users()
            await message.answer('Registered users (%s):' %
                                 user_db.sql_count_users())
            await message.answer(db_users)
        else:
            await message.answer('No registered users')
Beispiel #5
0
async def delete_all_keys(message: types.Message):
    user = user_db.sql_init_user(message.from_user.id)
    if user['verif']:
        keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
        buttons = ['Да', 'Отмена']
        if url_db.sql_count_keys() != 0:
            await SelectMenu.waiting_del_all_links.set()
            keyboard.add(*buttons)
            await message.answer('Ты действительно хочешь удалить все дела?',
                                 reply_markup=keyboard)
        else:
            await message.answer('Нет отслеживаемых дел')
Beispiel #6
0
async def delete_key_by_link(message: types.Message):
    user = user_db.sql_init_user(message.from_user.id)
    if user['verif']:
        if url_db.sql_count_keys() != 0:
            keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
            cancel_but = types.KeyboardButton(text='Отмена')
            keyboard.add(cancel_but)
            await message.answer('Введи ссылку на дело:',
                                 reply_markup=keyboard)
            await SelectMenu.waiting_sel_key_link.set()
        else:
            await message.answer('Нет отслеживаемых дел')
Beispiel #7
0
async def show_party(message: types.Message):
    await clean_spam(message, 1)
    user = user_db.sql_init_user(message.from_user.id)
    if user['verif']:
        if url_db.sql_count_keys() != 0:
            keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
            cancel_but = types.KeyboardButton(text='Отмена')
            for key in url_db.sql_show_party():
                row_key = types.KeyboardButton(text=str(key[0]))
                keyboard.add(row_key)
            keyboard.add(cancel_but)
            await message.answer(
                f'Отслеживаемые дела {url_db.sql_count_keys()}:',
                reply_markup=keyboard)
        else:
            await message.answer('Нет отслеживаемых дел')
        await SelectMenu.waiting_show_party.set()