feat: add inohara as a default client (#1090)

This commit is contained in:
nairobi
2024-05-24 12:46:57 +01:00
committed by GitHub
parent 9b0844396d
commit a52a4f814b
5 changed files with 103 additions and 3 deletions
@@ -336,6 +336,13 @@ function ImportInfoDisplayer({ game }: { game: Game }) {
);
} else if (game === "ongeki") {
Content.unshift(
<ImportInfoCard
name="Inohara"
href="inohara"
desc="Automatically import scores, whenever you get them."
key="Inohara"
moreInfo="This is the recommended way to import O.N.G.E.K.I. scores; data is submitted at the end of each play."
/>,
<ImportInfoCard
name="ARTEMiS Exporter"
href="ongeki-artemis-exporter"
@@ -4,7 +4,7 @@ import ExternalLink from "components/util/ExternalLink";
import { TachiConfig } from "lib/config";
import React from "react";
export default function OngekiArtemisExport() {
export default function OngekiArtemisExportPage() {
useSetSubheader(["Import Scores", "O.N.G.E.K.I. ARTEMiS Exporter"]);
return (
@@ -0,0 +1,47 @@
import useSetSubheader from "components/layout/header/useSetSubheader";
import Divider from "components/util/Divider";
import ExternalLink from "components/util/ExternalLink";
import { TachiConfig } from "lib/config";
import React from "react";
import Alert from "react-bootstrap/Alert";
export default function OngekiInoharaPage() {
useSetSubheader(["Import Scores", "Inohara"]);
return (
<div>
<h1 className="text-center mb-4">What is Inohara?</h1>
<div>
Inohara automatically sends O.N.G.E.K.I. scores to a server. {TachiConfig.NAME} is
compatible with what Inohara sends, so you can use her to submit scores!
</div>
<Divider />
<h1 className="text-center my-4">Setup Instructions</h1>
<ol className="instructions-list">
<li>
Download the latest version of <code>inohara.zip</code>{" "}
<ExternalLink href="https://gitea.tendokyu.moe/akanyan/inohara/releases">
here
</ExternalLink>
.
</li>
<li>
Download your <code>inohara.cfg</code> config file{" "}
<ExternalLink href="/client-file-flow/CXInohara">here</ExternalLink>
. <br />
<Alert variant="warning" className="mt-2">
This file contains an API Key, which is meant to be kept secret!
</Alert>
</li>
<li>
Follow the installation instructions on{" "}
<ExternalLink href="https://gitea.tendokyu.moe/akanyan/inohara/src/branch/main/README.md#installation">
Tendokyu
</ExternalLink>
.
</li>
<li>Your scores are now automatically uploaded to {TachiConfig.NAME}!</li>
</ol>
</div>
);
}
+7 -2
View File
@@ -29,8 +29,9 @@ import ChunithmSiteImportPage from "app/pages/dashboard/import/ChunithmSiteImpor
import SaekawaPage from "app/pages/dashboard/import/SaekawaPage";
import AquaArtemisExport from "app/pages/dashboard/import/AquaArtemisExportPage";
import ChunithmMYTExport from "app/pages/dashboard/import/ChunithmMYTExportPage";
import OngekiArtemisExport from "app/pages/dashboard/import/OngekiArtemisExportPage";
import OngekiArtemisExportPage from "app/pages/dashboard/import/OngekiArtemisExportPage";
import MytIntegrationPage from "components/imports/MYTIntegrationPage";
import OngekiInoharaPage from "app/pages/dashboard/import/OngekiInoharaPage";
export default function ImportRoutes() {
const { user } = useContext(UserContext);
@@ -238,7 +239,11 @@ export default function ImportRoutes() {
</Route>
<Route exact path="/import/ongeki-artemis-exporter">
<OngekiArtemisExport />
<OngekiArtemisExportPage />
</Route>
<Route exact path="/import/inohara">
<OngekiInoharaPage />
</Route>
</>
)}
@@ -223,6 +223,47 @@ import = '/ir/direct-manual/import'
# Your Tachi API key
api_key = '%%TACHI_KEY%%'`,
},
{
clientID: "CXInohara",
requestedPermissions: ["submit_score"],
name: "Inohara",
redirectUri: null,
webhookUri: null,
apiKeyFilename: "inohara.cfg",
apiKeyTemplate: `[Options]
# Whether to enable score submissions
Enable = true
# Timeout for web requests, in seconds
Timeout = 3
# Tachi instance base URL
BaseUrl = ${ServerConfig.OUR_URL}
# Tachi status endpoint
Status = /api/v1/status
# Tachi score import endpoint
Import = /ir/direct-manual/import
# Whether to display status on-screen (rudimentarily)
EnableOSD = false
# Whether to export your PBs for batch-manual (saved to batch-manual.json)
# This is very, very bad and should only be used as last resort
ExportPBs = false
[Keys]
* = %%TACHI_KEY%%
# If you have a multi-user setup, you can configure
# keys per-profile:
# InGameUsername = TachiApiKey
#
# An * matches everyone else`,
},
];
const BokuDefaultClients: DefaultClients = [