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)
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']
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), )