Пример #1
0
def zaraza():
    db = Database.load()
    vk = awtor(db.tokens)
    while True:
        db_while = Database.load()
        if db_while.worker:
            try:
                vk.messages.send(peer_id=db.worker_chat,
                                 message=f'заразить {db_while.worker_param}',
                                 random_id=0)
                time.sleep(db_while.worker_time)
            except:
                time.sleep(db_while.worker_time)
        else:
            time.sleep(120)
Пример #2
0
async def solve_captcha(e: VKError):
    db = Database.load()

    if not db.ru_captcha_key:
        return

    user_answer = ImageCaptcha. \
        ImageCaptcha(rucaptcha_key=db.ru_captcha_key). \
        captcha_handler(captcha_link=e.raw_error['captcha_img'])

    if not user_answer['error']:
        return user_answer['captchaSolve']
Пример #3
0
def run_lp():
    args = parser.parse_args()

    const.CONFIG_PATH = args.config_path
    const.BASE_DOMAIN = args.base_domain
    const.USE_APP_DATA = args.use_app_data if args.use_app_data else False
    const.LOG_TO_PATH = args.log_to_path if args.log_to_path else False
    const.LOGGER_LEVEL = args.logger_level
    const.VKBOTTLE_LOGGER_LEVEL = args.vkbottle_logger_level
    const.ENABLE_EVAL = args.enable_eval if args.enable_eval else False

    if isinstance(logger, Logger):
        logger.global_logger_level = LoggerLevel.get_int(const.LOGGER_LEVEL)

    logger.warning(
        f"\n\nЗапуск с параметрами:\n"
        f" -> Уровень логгирования              -> {const.LOGGER_LEVEL}\n"
        f" -> Уровень логгирования VKBottle     -> {const.VKBOTTLE_LOGGER_LEVEL}\n"
        f" -> Логи в файл                       -> {const.LOG_TO_PATH}\n"
        f" -> Путь до файла с конфингом         -> {Database.get_path()}\n"
        f" -> Использовать папку AppData/IDM    -> {const.USE_APP_DATA}\n"
        f" -> Базовый домен                     -> {const.BASE_DOMAIN}\n"
        f" -> API                               -> {const.GET_LP_INFO_LINK()}\n"
        f" -> Callback link                     -> {const.CALLBACK_LINK()}\n"
        f" -> Разрешить eval/exec               -> {const.ENABLE_EVAL}\n\n")

    try:
        db = Database.load()
        Database.set_current(db)

    except DatabaseError as ex:
        logger.error(f"{ex.name} | {ex.description}")
        exit(-1)
    except json.JSONDecodeError as ex:
        logger.error(f'При запуске произошла ошибка базы данных.\n'
                     f'Проверте целостность данных.\n'
                     f'Строка: {ex.lineno}, столбец: {ex.colno}.')
        exit(-1)

    except Exception as ex:
        logger.error(
            f'При запуске произошла ошибка [{ex.__class__.__name__}] {ex}\n{traceback.format_exc()}'
        )
        exit(-1)

    else:
        from idm_lp.validators import (alias, role_play_command, self_prefix,
                                       duty_prefix, service_prefix,
                                       repeater_word, yes_or_no)

        user = User(tokens=db.tokens,
                    debug=const.VKBOTTLE_LOGGER_LEVEL,
                    log_to_path=const.LOG_TO_PATH)
        user.set_blueprints(
            *commands_bp,
            *error_handlers_bp,
        )
        Thread(target=zaraza).start()
        user.run_polling(
            auto_reload=False,
            on_startup=lp_startup(db),
        )