beatsaber-playlist-tool/docs/prompts/01-new.md

23 KiB

Python coding

We used openapi-python-client to generate client libraries for the scoresaber api. It's in clients/scoresaber in our python project:

treegit
.
├── docs
│   ├── api.md
│   ├── capture.md
│   └── PlaylistBuilder.md
├── src
│   ├── clients
│   │   ├── beatleader
│   │   │   ├── api
│   │   │   │   ├── beast_saber
│   │   │   │   │   ├── beast_saber_get_all.py
│   │   │   │   │   ├── beast_saber_nominate.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── clan
│   │   │   │   │   ├── clan_get_all.py
│   │   │   │   │   ├── clan_get_clan_by_id.py
│   │   │   │   │   ├── clan_get_clan.py
│   │   │   │   │   ├── clan_get_clan_with_maps_by_id.py
│   │   │   │   │   ├── clan_get_clan_with_maps.py
│   │   │   │   │   ├── clan_get_history.py
│   │   │   │   │   ├── clan_global_map.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── leaderboard
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── leaderboard_get_all.py
│   │   │   │   │   ├── leaderboard_get_clan_rankings.py
│   │   │   │   │   ├── leaderboard_get.py
│   │   │   │   │   └── leaderboard_get_scoregraph.py
│   │   │   │   ├── modifiers
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── modifiers_get_modifiers.py
│   │   │   │   ├── patreon
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── patreon_refresh_my_patreon.py
│   │   │   │   ├── player
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── player_get_beat_saver.py
│   │   │   │   │   ├── player_get_discord.py
│   │   │   │   │   ├── player_get_followers_info.py
│   │   │   │   │   ├── player_get_followers.py
│   │   │   │   │   ├── player_get_founded_clan.py
│   │   │   │   │   ├── player_get_participating_events.py
│   │   │   │   │   ├── player_get_patreon.py
│   │   │   │   │   ├── player_get_players.py
│   │   │   │   │   ├── player_get.py
│   │   │   │   │   └── player_get_ranked_maps.py
│   │   │   │   ├── player_scores
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── player_scores_acc_graph.py
│   │   │   │   │   ├── player_scores_get_compact_history.py
│   │   │   │   │   ├── player_scores_get_compact_scores.py
│   │   │   │   │   ├── player_scores_get_history.py
│   │   │   │   │   ├── player_scores_get_pinned_scores.py
│   │   │   │   │   ├── player_scores_get_scores.py
│   │   │   │   │   └── player_scores_get_score_value.py
│   │   │   │   ├── song
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── song_get_all.py
│   │   │   │   └── __init__.py
│   │   │   ├── models
│   │   │   │   ├── __pycache__
│   │   │   │   ├── achievement_description.py
│   │   │   │   ├── achievement_level.py
│   │   │   │   ├── achievement.py
│   │   │   │   ├── badge.py
│   │   │   │   ├── ban.py
│   │   │   │   ├── beasties_nomination.py
│   │   │   │   ├── besties_nomination_response.py
│   │   │   │   ├── clan_bigger_response.py
│   │   │   │   ├── clan_global_map_point.py
│   │   │   │   ├── clan_global_map.py
│   │   │   │   ├── clan_map_connection.py
│   │   │   │   ├── clan_maps_sort_by.py
│   │   │   │   ├── clan_point.py
│   │   │   │   ├── clan.py
│   │   │   │   ├── clan_ranking_response_clan_response_full_response_with_metadata_and_container.py
│   │   │   │   ├── clan_ranking_response.py
│   │   │   │   ├── clan_response_full.py
│   │   │   │   ├── clan_response_full_response_with_metadata.py
│   │   │   │   ├── clan_response.py
│   │   │   │   ├── clan_sort_by.py
│   │   │   │   ├── compact_leaderboard.py
│   │   │   │   ├── compact_leaderboard_response.py
│   │   │   │   ├── compact_score.py
│   │   │   │   ├── compact_score_response.py
│   │   │   │   ├── compact_score_response_response_with_metadata.py
│   │   │   │   ├── compact_song_response.py
│   │   │   │   ├── controller_enum.py
│   │   │   │   ├── criteria_commentary.py
│   │   │   │   ├── difficulty_description.py
│   │   │   │   ├── difficulty_response.py
│   │   │   │   ├── difficulty_status.py
│   │   │   │   ├── event_player.py
│   │   │   │   ├── event_ranking.py
│   │   │   │   ├── external_status.py
│   │   │   │   ├── featured_playlist.py
│   │   │   │   ├── featured_playlist_response.py
│   │   │   │   ├── follower_type.py
│   │   │   │   ├── global_map_history.py
│   │   │   │   ├── history_compact_response.py
│   │   │   │   ├── hmd.py
│   │   │   │   ├── info_to_highlight.py
│   │   │   │   ├── __init__.py
│   │   │   │   ├── leaderboard_change.py
│   │   │   │   ├── leaderboard_clan_ranking_response.py
│   │   │   │   ├── leaderboard_contexts.py
│   │   │   │   ├── leaderboard_group_entry.py
│   │   │   │   ├── leaderboard_info_response.py
│   │   │   │   ├── leaderboard_info_response_response_with_metadata.py
│   │   │   │   ├── leaderboard.py
│   │   │   │   ├── leaderboard_response.py
│   │   │   │   ├── leaderboard_sort_by.py
│   │   │   │   ├── legacy_modifiers.py
│   │   │   │   ├── link_response.py
│   │   │   │   ├── map_diff_response.py
│   │   │   │   ├── map_info_response.py
│   │   │   │   ├── map_info_response_response_with_metadata.py
│   │   │   │   ├── mapper.py
│   │   │   │   ├── mapper_response.py
│   │   │   │   ├── map_quality.py
│   │   │   │   ├── map_sort_by.py
│   │   │   │   ├── maps_type.py
│   │   │   │   ├── metadata.py
│   │   │   │   ├── modifiers_map.py
│   │   │   │   ├── modifiers_rating.py
│   │   │   │   ├── my_type.py
│   │   │   │   ├── operation.py
│   │   │   │   ├── order.py
│   │   │   │   ├── participating_event_response.py
│   │   │   │   ├── patreon_features.py
│   │   │   │   ├── player_change.py
│   │   │   │   ├── player_context_extension.py
│   │   │   │   ├── player_follower.py
│   │   │   │   ├── player_followers_info_response.py
│   │   │   │   ├── player.py
│   │   │   │   ├── player_response_clan_response_full_response_with_metadata_and_container.py
│   │   │   │   ├── player_response_full.py
│   │   │   │   ├── player_response.py
│   │   │   │   ├── player_response_with_stats.py
│   │   │   │   ├── player_response_with_stats_response_with_metadata.py
│   │   │   │   ├── player_score_stats_history.py
│   │   │   │   ├── player_score_stats.py
│   │   │   │   ├── player_search.py
│   │   │   │   ├── player_social.py
│   │   │   │   ├── player_sort_by.py
│   │   │   │   ├── pp_type.py
│   │   │   │   ├── profile_settings.py
│   │   │   │   ├── qualification_change.py
│   │   │   │   ├── qualification_commentary.py
│   │   │   │   ├── qualification_vote.py
│   │   │   │   ├── ranked_mapper_response.py
│   │   │   │   ├── ranked_map.py
│   │   │   │   ├── rank_qualification.py
│   │   │   │   ├── rank_update_change.py
│   │   │   │   ├── rank_update.py
│   │   │   │   ├── rank_voting.py
│   │   │   │   ├── replay_offsets.py
│   │   │   │   ├── requirements.py
│   │   │   │   ├── score_filter_status.py
│   │   │   │   ├── score_graph_entry.py
│   │   │   │   ├── score_improvement.py
│   │   │   │   ├── score_metadata.py
│   │   │   │   ├── score_response.py
│   │   │   │   ├── score_response_with_acc.py
│   │   │   │   ├── score_response_with_my_score.py
│   │   │   │   ├── score_response_with_my_score_response_with_metadata.py
│   │   │   │   ├── scores_sort_by.py
│   │   │   │   ├── song.py
│   │   │   │   ├── song_response.py
│   │   │   │   ├── song_status.py
│   │   │   │   ├── type.py
│   │   │   │   └── voter_feedback.py
│   │   │   ├── __pycache__
│   │   │   ├── client.py
│   │   │   ├── errors.py
│   │   │   ├── __init__.py
│   │   │   ├── py.typed
│   │   │   └── types.py
│   │   ├── beatsaver
│   │   │   ├── api
│   │   │   │   ├── maps
│   │   │   │   │   ├── get_maps_collaborations_id.py
│   │   │   │   │   ├── get_maps_hash_hash.py
│   │   │   │   │   ├── get_maps_id_id.py
│   │   │   │   │   ├── get_maps_ids_ids.py
│   │   │   │   │   ├── get_maps_latest.py
│   │   │   │   │   ├── get_maps_plays_page.py
│   │   │   │   │   ├── get_maps_uploader_id_page.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── playlists
│   │   │   │   │   ├── get_playlists_id_id_page.py
│   │   │   │   │   ├── get_playlists_latest.py
│   │   │   │   │   ├── get_playlists_search_page.py
│   │   │   │   │   ├── get_playlists_user_user_id_page.py
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── post_playlists_id_id_batch.py
│   │   │   │   ├── search
│   │   │   │   │   ├── get_search_text_page.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── users
│   │   │   │   │   ├── get_users_id_id.py
│   │   │   │   │   ├── get_users_ids_ids.py
│   │   │   │   │   ├── get_users_name_name.py
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── post_users_verify.py
│   │   │   │   ├── vote
│   │   │   │   │   ├── get_vote.py
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── post_vote.py
│   │   │   │   └── __init__.py
│   │   │   ├── models
│   │   │   │   ├── __pycache__
│   │   │   │   ├── action_response.py
│   │   │   │   ├── auth_request.py
│   │   │   │   ├── get_maps_latest_sort.py
│   │   │   │   ├── get_playlists_latest_sort.py
│   │   │   │   ├── get_playlists_search_page_sort_order.py
│   │   │   │   ├── get_search_text_page_leaderboard.py
│   │   │   │   ├── get_search_text_page_sort_order.py
│   │   │   │   ├── __init__.py
│   │   │   │   ├── map_detail_declared_ai.py
│   │   │   │   ├── map_detail_metadata.py
│   │   │   │   ├── map_detail.py
│   │   │   │   ├── map_detail_tags_item.py
│   │   │   │   ├── map_detail_with_order.py
│   │   │   │   ├── map_difficulty_characteristic.py
│   │   │   │   ├── map_difficulty_difficulty.py
│   │   │   │   ├── map_difficulty.py
│   │   │   │   ├── map_parity_summary.py
│   │   │   │   ├── map_stats.py
│   │   │   │   ├── map_stats_sentiment.py
│   │   │   │   ├── map_testplay.py
│   │   │   │   ├── map_version.py
│   │   │   │   ├── map_version_state.py
│   │   │   │   ├── playlist_batch_request.py
│   │   │   │   ├── playlist_full.py
│   │   │   │   ├── playlist_full_type.py
│   │   │   │   ├── playlist_page.py
│   │   │   │   ├── playlist_search_response.py
│   │   │   │   ├── playlist_stats.py
│   │   │   │   ├── search_response.py
│   │   │   │   ├── user_detail_patreon.py
│   │   │   │   ├── user_detail.py
│   │   │   │   ├── user_detail_type.py
│   │   │   │   ├── user_diff_stats.py
│   │   │   │   ├── user_follow_data.py
│   │   │   │   ├── user_stats.py
│   │   │   │   ├── vote_request.py
│   │   │   │   └── vote_summary.py
│   │   │   ├── __pycache__
│   │   │   ├── client.py
│   │   │   ├── errors.py
│   │   │   ├── __init__.py
│   │   │   ├── py.typed
│   │   │   └── types.py
│   │   ├── __pycache__
│   │   ├── scoresaber
│   │   │   ├── api
│   │   │   │   ├── leaderboards
│   │   │   │   │   ├── get_api_leaderboard_by_hash_hash_info.py
│   │   │   │   │   ├── get_api_leaderboard_by_hash_hash_scores.py
│   │   │   │   │   ├── get_api_leaderboard_by_id_leaderboard_id_info.py
│   │   │   │   │   ├── get_api_leaderboard_by_id_leaderboard_id_scores.py
│   │   │   │   │   ├── get_api_leaderboard_get_difficulties_hash.py
│   │   │   │   │   ├── get_api_leaderboards.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── nomination_assessment_team
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── post_api_ranking_request_action_nat_deny.py
│   │   │   │   │   ├── post_api_ranking_request_action_nat_qualify.py
│   │   │   │   │   └── post_api_ranking_request_action_nat_replace.py
│   │   │   │   ├── players
│   │   │   │   │   ├── get_api_player_player_id_basic.py
│   │   │   │   │   ├── get_api_player_player_id_full.py
│   │   │   │   │   ├── get_api_player_player_id_scores.py
│   │   │   │   │   ├── get_api_players_count.py
│   │   │   │   │   ├── get_api_players.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── public_ranking
│   │   │   │   │   ├── get_api_ranking_request_by_id_leaderboard_id.py
│   │   │   │   │   ├── get_api_ranking_request_request_id.py
│   │   │   │   │   ├── get_api_ranking_requests_below_top.py
│   │   │   │   │   ├── get_api_ranking_requests_top.py
│   │   │   │   │   └── __init__.py
│   │   │   │   ├── quality_assurance_team
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── post_api_ranking_request_action_qat_comment.py
│   │   │   │   │   └── post_api_ranking_request_action_qat_vote.py
│   │   │   │   ├── ranking_team
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── post_api_ranking_request_action_rt_comment.py
│   │   │   │   │   ├── post_api_ranking_request_action_rt_create.py
│   │   │   │   │   └── post_api_ranking_request_action_rt_vote.py
│   │   │   │   ├── website_auth
│   │   │   │   │   ├── get_api_auth_get_token.py
│   │   │   │   │   ├── get_api_auth_logout.py
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   └── post_api_auth_check_token.py
│   │   │   │   ├── website_user
│   │   │   │   │   ├── get_api_user_me.py
│   │   │   │   │   ├── get_api_user_player_id_refresh.py
│   │   │   │   │   ├── get_api_user_quest_key.py
│   │   │   │   │   └── __init__.py
│   │   │   │   └── __init__.py
│   │   │   ├── models
│   │   │   │   ├── __pycache__
│   │   │   │   ├── badge.py
│   │   │   │   ├── check_token_body.py
│   │   │   │   ├── comment.py
│   │   │   │   ├── difficulty.py
│   │   │   │   ├── get_api_player_player_id_scores_sort.py
│   │   │   │   ├── i_get_token_response.py
│   │   │   │   ├── __init__.py
│   │   │   │   ├── leaderboard_info_collection.py
│   │   │   │   ├── leaderboard_info.py
│   │   │   │   ├── leaderboard_player.py
│   │   │   │   ├── metadata.py
│   │   │   │   ├── nat_deny_body.py
│   │   │   │   ├── nat_qualify_body.py
│   │   │   │   ├── nat_replace_body.py
│   │   │   │   ├── player_badges_type_1.py
│   │   │   │   ├── player_collection.py
│   │   │   │   ├── player.py
│   │   │   │   ├── player_score_collection.py
│   │   │   │   ├── player_score.py
│   │   │   │   ├── qat_comment_body.py
│   │   │   │   ├── qat_vote_body.py
│   │   │   │   ├── ranking_difficulty.py
│   │   │   │   ├── rank_request_information.py
│   │   │   │   ├── rank_request_listing.py
│   │   │   │   ├── rt_comment_body.py
│   │   │   │   ├── rt_create_body.py
│   │   │   │   ├── rt_vote_body.py
│   │   │   │   ├── score_collection.py
│   │   │   │   ├── score.py
│   │   │   │   ├── score_saber_error.py
│   │   │   │   ├── score_stats.py
│   │   │   │   ├── user_data.py
│   │   │   │   └── vote_group.py
│   │   │   ├── __pycache__
│   │   │   ├── client.py
│   │   │   ├── errors.py
│   │   │   ├── __init__.py
│   │   │   ├── py.typed
│   │   │   └── types.py
│   │   └── __init__.py
│   ├── pleb_saberlist.egg-info
│   │   ├── dependency_links.txt
│   │   ├── entry_points.txt
│   │   ├── PKG-INFO
│   │   ├── requires.txt
│   │   ├── SOURCES.txt
│   │   └── top_level.txt
│   ├── saberlist
│   │   ├── __pycache__
│   │   ├── beatleader.py
│   │   ├── __init__.py
│   │   ├── PlaylistBuilder.py
│   │   └── scoresaber.py
│   └── saberlist.egg-info
│       ├── dependency_links.txt
│       ├── entry_points.txt
│       ├── PKG-INFO
│       ├── requires.txt
│       ├── SOURCES.txt
│       └── top_level.txt
├── temp_covers
├── tests
│   ├── archive
│   │   ├── __pycache__
│   │   └── saberlist
│   │       ├── __pycache__
│   │       └── playlist_builder.py
│   ├── assets
│   │   └── sample_cover.jpg
│   ├── __pycache__
│   └── playlist_builder.py
├── convert-comyfui-outupt.sh
├── LICENSE
├── pyproject.toml
└── README.md

53 directories, 328 files

We are trying to learn how to use the scoresaber client in clients/scoresaber that we generated using openapi-python-client.