From 2104ba52a8839aa74c6770d3faa0a8caafab8da9 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 16 Dec 2023 15:53:41 -0800 Subject: add IMissSomeone-VT --- HelpTOC.json | 2 +- Map.jhm | 2 +- Writerside/hi.tree | 1 + Writerside/images/completion_procedure.png | Bin 128146 -> 0 bytes Writerside/images/completion_procedure_dark.png | Bin 68718 -> 0 bytes Writerside/images/convert_table_to_xml.png | Bin 349338 -> 0 bytes Writerside/images/convert_table_to_xml_dark.png | Bin 121495 -> 0 bytes Writerside/images/new_topic_options.png | Bin 293755 -> 0 bytes Writerside/images/new_topic_options_dark.png | Bin 156186 -> 0 bytes Writerside/topics/IMissSomeone-VT.md | 38 ++++++++++++++++++++++++ patchwork-api.html | 2 +- patchwork-archive.html | 2 +- vtuber-captcha.html | 8 ++--- welcome.html | 2 +- 14 files changed, 48 insertions(+), 9 deletions(-) delete mode 100644 Writerside/images/completion_procedure.png delete mode 100644 Writerside/images/completion_procedure_dark.png delete mode 100644 Writerside/images/convert_table_to_xml.png delete mode 100644 Writerside/images/convert_table_to_xml_dark.png delete mode 100644 Writerside/images/new_topic_options.png delete mode 100644 Writerside/images/new_topic_options_dark.png create mode 100644 Writerside/topics/IMissSomeone-VT.md diff --git a/HelpTOC.json b/HelpTOC.json index e1e181e..ff39493 100644 --- a/HelpTOC.json +++ b/HelpTOC.json @@ -1 +1 @@ -{"entities":{"pages":{"Welcome":{"id":"Welcome","title":"Welcome","url":"welcome.html","level":0,"tabIndex":0},"Patchwork-Archive":{"id":"Patchwork-Archive","title":"Patchwork Archive","url":"patchwork-archive.html","level":0,"pages":["Patchwork-API"],"tabIndex":1},"Patchwork-API":{"id":"Patchwork-API","title":"Patchwork Archive API","url":"patchwork-api.html","level":1,"parentId":"Patchwork-Archive","tabIndex":0},"VTuber-Captcha":{"id":"VTuber-Captcha","title":"VTuber Captcha","url":"vtuber-captcha.html","level":0,"tabIndex":2}}},"topLevelIds":["Welcome","Patchwork-Archive","VTuber-Captcha"]} \ No newline at end of file +{"entities":{"pages":{"IMissSomeone-VT":{"id":"IMissSomeone-VT","title":"IMissSomeone-VT","url":"imisssomeone-vt.html","level":0,"tabIndex":0},"Welcome":{"id":"Welcome","title":"Welcome","url":"welcome.html","level":0,"tabIndex":1},"Patchwork-Archive":{"id":"Patchwork-Archive","title":"Patchwork Archive","url":"patchwork-archive.html","level":0,"pages":["Patchwork-API"],"tabIndex":2},"Patchwork-API":{"id":"Patchwork-API","title":"Patchwork Archive API","url":"patchwork-api.html","level":1,"parentId":"Patchwork-Archive","tabIndex":0},"VTuber-Captcha":{"id":"VTuber-Captcha","title":"VTuber Captcha","url":"vtuber-captcha.html","level":0,"tabIndex":3}}},"topLevelIds":["IMissSomeone-VT","Welcome","Patchwork-Archive","VTuber-Captcha"]} \ No newline at end of file diff --git a/Map.jhm b/Map.jhm index d78b563..d143b73 100644 --- a/Map.jhm +++ b/Map.jhm @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/Writerside/hi.tree b/Writerside/hi.tree index 70350b6..71badc9 100644 --- a/Writerside/hi.tree +++ b/Writerside/hi.tree @@ -5,6 +5,7 @@ + diff --git a/Writerside/images/completion_procedure.png b/Writerside/images/completion_procedure.png deleted file mode 100644 index 3535a3f..0000000 Binary files a/Writerside/images/completion_procedure.png and /dev/null differ diff --git a/Writerside/images/completion_procedure_dark.png b/Writerside/images/completion_procedure_dark.png deleted file mode 100644 index a65beb0..0000000 Binary files a/Writerside/images/completion_procedure_dark.png and /dev/null differ diff --git a/Writerside/images/convert_table_to_xml.png b/Writerside/images/convert_table_to_xml.png deleted file mode 100644 index 2518a64..0000000 Binary files a/Writerside/images/convert_table_to_xml.png and /dev/null differ diff --git a/Writerside/images/convert_table_to_xml_dark.png b/Writerside/images/convert_table_to_xml_dark.png deleted file mode 100644 index 4716122..0000000 Binary files a/Writerside/images/convert_table_to_xml_dark.png and /dev/null differ diff --git a/Writerside/images/new_topic_options.png b/Writerside/images/new_topic_options.png deleted file mode 100644 index ea9744d..0000000 Binary files a/Writerside/images/new_topic_options.png and /dev/null differ diff --git a/Writerside/images/new_topic_options_dark.png b/Writerside/images/new_topic_options_dark.png deleted file mode 100644 index c919638..0000000 Binary files a/Writerside/images/new_topic_options_dark.png and /dev/null differ diff --git a/Writerside/topics/IMissSomeone-VT.md b/Writerside/topics/IMissSomeone-VT.md new file mode 100644 index 0000000..1b8a775 --- /dev/null +++ b/Writerside/topics/IMissSomeone-VT.md @@ -0,0 +1,38 @@ +# IMissSomeone-VT + +Miss your favorite VTuber? "I Miss Someone VT" is a template for deploying a fansite for any particular VTuber. + +This page serves as documentation for necessary configuration + +# Environment Variables +The Flask backend relies on environment variables for configuration. + +- **KV_REST_API_URL** + - Redis KV database REST API URL +- **KV_REST_API_TOKEN** + - Redis KV API Token +- **FREE_CHAT_ID** + - Video ID of the free chat/waiting room. The thumbnail from this scheduled waiting room is used as the schedule page PNG +- **CHANNEL_ID** + - YouTube Channel ID of the tracked channel +- **API_KEY** + - Holodex API Key +- **MANUAL_OVERRIDE** + - In case Holodex misreports a video as a stream, this can be used to ignore a particular video (insert video ID) + +# Site Config +The configuration for the frontend can be found within `site-config.json` + +- **soundUrls** + - List of soundbites that will play when the button is clicked +- **rareSoundUrls** + - An extended list of soundUrls but these will only play 10% of the time +- *pastImages* + - A list of images that are cycled through on the landing page +- *buttonIcon* + - Icon that appears in the background when the button is clicked (img) + +The project itself is reliant on Holodex API for data and Redis KV for storing information regarding the button's global click count + + +![](https://github.com/pinapelz/pinapelz/assets/21994085/cc0f1230-76a4-416c-8aa7-eb88172679b4) diff --git a/patchwork-api.html b/patchwork-api.html index 32e997e..c8ba135 100644 --- a/patchwork-api.html +++ b/patchwork-api.html @@ -1 +1 @@ - Patchwork Archive API | Project Knowledge Base

Project Knowledge Base Help

Patchwork Archive API

API data from Patchwork Archive is public and no API key is required to access what is publicly available on the frontend.

Below is an offering of what endpoints are available publicly. If you are for whatever reason hosting an instance of Patchwork-Backend please refer to the README in the repository for worker and queuer API endpoints

Gets archived videos from a particular channel

GET method/channel/{channel_id}

Gets a paginated result of archived videos matching a channel id

Request parameters

Responses

Gets archived videos from a particular channel

GET method/channel_name

Gets a paginated result of archived videos matching a channel id

Request parameters

Responses

Get basic information regarding a specific video

GET method/video/{video_id}

Pulls basic information about a video from fallback database only

Request parameters

Responses

Get a singular random video

GET method/random_video

Responses

Get multiple random videos

GET method/discover_videos

Request parameters

Responses

Get paginated search results for some keyword

GET method/search/results

Request parameters

Responses

Get today's daily features videos

GET method/daily_featured_videos

Either 1 or 2 video objects in an array depending on calculated hash

Responses

Get the 6 most recently archived videos

GET method/recently_archived

Responses

Get detailed information about the video if available

GET method/database/video_data/{video_id}

If info.json generated by yt-dlp is available it will be directly delivered here, if not, fallback video data from the database is used instead

Request parameters

Responses

Get the status of the database

GET method/database/status

Responses

Get the status of the database

GET method/storage/status

Gets the number of videos archived and space used in GB

Responses

Last modified: 16 December 2023
\ No newline at end of file + Patchwork Archive API | Project Knowledge Base

Project Knowledge Base Help

Patchwork Archive API

API data from Patchwork Archive is public and no API key is required to access what is publicly available on the frontend.

Below is an offering of what endpoints are available publicly. If you are for whatever reason hosting an instance of Patchwork-Backend please refer to the README in the repository for worker and queuer API endpoints

Gets archived videos from a particular channel

GET method/channel/{channel_id}

Gets a paginated result of archived videos matching a channel id

Request parameters

Responses

Gets archived videos from a particular channel

GET method/channel_name

Gets a paginated result of archived videos matching a channel id

Request parameters

Responses

Get basic information regarding a specific video

GET method/video/{video_id}

Pulls basic information about a video from fallback database only

Request parameters

Responses

Get a singular random video

GET method/random_video

Responses

Get multiple random videos

GET method/discover_videos

Request parameters

Responses

Get paginated search results for some keyword

GET method/search/results

Request parameters

Responses

Get today's daily features videos

GET method/daily_featured_videos

Either 1 or 2 video objects in an array depending on calculated hash

Responses

Get the 6 most recently archived videos

GET method/recently_archived

Responses

Get detailed information about the video if available

GET method/database/video_data/{video_id}

If info.json generated by yt-dlp is available it will be directly delivered here, if not, fallback video data from the database is used instead

Request parameters

Responses

Get the status of the database

GET method/database/status

Responses

Get the status of the database

GET method/storage/status

Gets the number of videos archived and space used in GB

Responses

Last modified: 16 December 2023
\ No newline at end of file diff --git a/patchwork-archive.html b/patchwork-archive.html index 24a64d6..9121e30 100644 --- a/patchwork-archive.html +++ b/patchwork-archive.html @@ -1 +1 @@ - Patchwork Archive | Project Knowledge Base

Project Knowledge Base Help

Patchwork Archive

Patchwork Archive is a project that centers around the preservation and archival of music created by virtual youtubers.

Worker scripts are ran which download and store videos identified as music, which are then hosted at patchwork.moekyun.me

In this section you'll find various information about Patchwork Archive as well as the documentation for how to call the publicly available API.

Patchwork Archive Video Page
Last modified: 16 December 2023
\ No newline at end of file + Patchwork Archive | Project Knowledge Base

Project Knowledge Base Help

Patchwork Archive

Patchwork Archive is a project that centers around the preservation and archival of music created by virtual youtubers.

Worker scripts are ran which download and store videos identified as music, which are then hosted at patchwork.moekyun.me

In this section you'll find various information about Patchwork Archive as well as the documentation for how to call the publicly available API.

Patchwork Archive Video Page
Last modified: 16 December 2023
\ No newline at end of file diff --git a/vtuber-captcha.html b/vtuber-captcha.html index eacb0d9..0357f12 100644 --- a/vtuber-captcha.html +++ b/vtuber-captcha.html @@ -1,4 +1,4 @@ - VTuber Captcha | Project Knowledge Base

Project Knowledge Base Help

VTuber Captcha

A simple web API that serves VTuber related CAPTCHAs including server-side verification. Bring your own frontend to display the data.

Available Endpoints

The base URL or the API currently is: https://vtuber-captcha.vercel.app/api

Below are the current API endpoints supported: Authenticating Against the API

/affiliation/<org>

Returns a captcha asking user to identify which of the VTubers are affiliated with a particular organization or group

Path Parameters

  • <org>: Refer to organization page for a list of supported terms Query Parameters

  • server_auth: false if answers to captcha should be sent to response, true if you would like the API to store the answer and authenticate against it.

    • Default: false

    • Enums: true, false

Authenticating Answers Against The Server

The API supports server-side verification meaning that the answer to the CAPTCHA is never sent to you after making the initial request.

Instead, each request will be assigned a session-token which uniquely identifies the CAPTCHA. The server then saves the answer to the CAPTCHA. This makes it safe for you to directly call the API client-side from a frontend without the need for a middle-man to store the answer.

To authenticate answers against the API. You need to specify the query parameter ?server_auth=true

Example Response with ?server_auth=true

+ VTuber Captcha | Project Knowledge Base

Project Knowledge Base Help

VTuber Captcha

A simple web API that serves VTuber related CAPTCHAs including server-side verification. Bring your own frontend to display the data.

Available Endpoints

The base URL or the API currently is: https://vtuber-captcha.vercel.app/api

Below are the current API endpoints supported: Authenticating Against the API

/affiliation/<org>

Returns a captcha asking user to identify which of the VTubers are affiliated with a particular organization or group

Path Parameters

  • <org>: Refer to organization page for a list of supported terms Query Parameters

  • server_auth: false if answers to captcha should be sent to response, true if you would like the API to store the answer and authenticate against it.

    • Default: false

    • Enums: true, false

Authenticating Answers Against The Server

The API supports server-side verification meaning that the answer to the CAPTCHA is never sent to you after making the initial request.

Instead, each request will be assigned a session-token which uniquely identifies the CAPTCHA. The server then saves the answer to the CAPTCHA. This makes it safe for you to directly call the API client-side from a frontend without the need for a middle-man to store the answer.

To authenticate answers against the API. You need to specify the query parameter ?server_auth=true

Example Response with ?server_auth=true

{ "category": "affiliation", "onFail": { @@ -90,11 +90,11 @@ "session": "GUQkquh03dwF84EAxif_EA", "title": "Select all the VTuber affiliated with Hololive" } -

To check your answers against the API. Send session token and the id of each selected element as a string comma separated as part of a data payload to /api/verify

Example Payload

+

To check your answers against the API. Send session token and the id of each selected element as a string comma separated as part of a data payload to /api/verify

Example Payload

session: "j4WjkoMcPgNX8_gnNXf8HA" answer: "UC0ZTVxCHkZanT5dnP2FZD4Q,UC4WvIIAo89_AzGUh1AZ6Dkg,UCe0JiGnjPfEwEIbWASbOimw" -

Response:

+

Response:

{ success: false } -

In the case above the user selected:

  • UC0ZTVxCHkZanT5dnP2FZD4Q

  • UC4WvIIAo89_AzGUh1AZ6Dkg

  • UCe0JiGnjPfEwEIbWASbOimw

and their answer was incorrect.

After failing a captcha, the token becomes invalidated and a request for a new CAPTCHA must be made

Supported Keywords

Organization

  • Hololive: All hololive Production affiliated members, including Holostars

  • Nijisanji: All Nijisanji affiliated livers, including EN branches (does not include VirtuaReal)

Last modified: 16 December 2023
\ No newline at end of file +

In the case above the user selected:

  • UC0ZTVxCHkZanT5dnP2FZD4Q

  • UC4WvIIAo89_AzGUh1AZ6Dkg

  • UCe0JiGnjPfEwEIbWASbOimw

and their answer was incorrect.

After failing a captcha, the token becomes invalidated and a request for a new CAPTCHA must be made

Supported Keywords

Organization

  • Hololive: All hololive Production affiliated members, including Holostars

  • Nijisanji: All Nijisanji affiliated livers, including EN branches (does not include VirtuaReal)

Last modified: 16 December 2023
\ No newline at end of file diff --git a/welcome.html b/welcome.html index 8e59e19..b31811d 100644 --- a/welcome.html +++ b/welcome.html @@ -1 +1 @@ - Welcome | Project Knowledge Base

Project Knowledge Base Help

Welcome

Welcome to a collection of documentation for some of the various things I have over on GitHub.

These docs should serve as both a guide and archive of previously of both currently active and previously projects.

Last modified: 16 December 2023
\ No newline at end of file + Welcome | Project Knowledge Base

Project Knowledge Base Help

Welcome

Welcome to a collection of documentation for some of the various things I have over on GitHub.

These docs should serve as both a guide and archive of previously of both currently active and previously projects.

Last modified: 16 December 2023
\ No newline at end of file -- cgit v1.2.3