def METHOD_NAME(cls, verbose=False):
    bots = {}
    api_token = None
    runtime_conf = get_bots_settings()
    try:
        for bot in runtime_conf:
            if runtime_conf[bot]["module"] == __name__ and runtime_conf[bot]['parameters'].get('autoupdate_cached_database', True):
                api_token = runtime_conf[bot]["parameters"]["api_token"]
                bots[bot] = runtime_conf[bot]["parameters"]["database"]
    except KeyError as e:
        sys.exit(f"Database update failed. Your configuration of {bot} is missing key {e}.")
    if not bots:
        if verbose:
            print(f"Database update skipped. No bots of type {__name__} present in runtime configuration or database update disabled with parameter 'autoupdate_cached_database'.")
        sys.exit(0)
    try:
        if verbose:
            print("Downloading the latest database update...")
        session = create_request_session()
        response = session.get("https://api.recordedfuture.com/v2/ip/risklist",
                               params={
                                   "format": "csv/splunk",
                                   "gzip": "true",
                                   "list": "large"
                               },
                               headers={
                                   "X-RFToken": api_token
                               })
    except requests.exceptions.RequestException as e:
        sys.exit(f"Database update failed. Connection Error: {e}")
    if response.status_code == 401:
        sys.exit("Database update failed. Your API token is invalid.")
    if response.status_code != 200:
        sys.exit("Database update failed. Server responded: {}.\n"
                 "URL: {}".format(response.status_code, response.url))
    database_data = None
    with tarfile.open(fileobj=io.BytesIO(response.content), mode='r:gz') as archive:
        for member in archive.getmembers():
            if "rfiprisk.dat" in member.name:
                database_data = archive.extract(member)
                break
    if not database_data:
        sys.exit("Database update failed. Could not locate file 'rfiprisk.dat' in the downloaded archive.")
    for database_path in set(bots.values()):
        database_dir = pathlib.Path(database_path).parent
        database_dir.mkdir(parents=True, exist_ok=True)
        with open(database_path, "w") as database:
            database.write(database_data)
    if verbose:
        print("Database updated. Reloading affected bots.")
    ctl = IntelMQController()
    for bot in bots.keys():
        ctl.bot_reload(bot)