Back to Metrics

README

source/plugins/community/splatoon/README.md

3.347.4 KB
Original Source
<!--header--> <table> <tr><td colspan="2"><a href="/README.md#-plugins">โ† Back to plugins index</a></td></tr> <tr><th colspan="2"><h3>๐Ÿฆ‘ Splatoon</h3></th></tr> <tr><td colspan="2" align="center"><p>This plugin displays your Splatoon 3 recent matches based on data fetched from Splatnet.</p> </td></tr> <tr><th>โš ๏ธ Disclaimer</th><td><p>This plugin is not affiliated, associated, authorized, endorsed by, or in any way officially connected with <a href="https://www.nintendo.com">Nintendo</a> or <a href="https://splatoon.nintendo.com">Splatoon</a>. All product and company names are trademarksโ„ข or registeredยฎ trademarks of their respective holders.</p> <p>This specific plugin is licensed under GPL-3.0 rather than MIT to comply with <a href="https://github.com/spacemeowx2/s3si.ts">spacemeowx2/s3si.ts</a> license.</p> <p>Note that <em>Nintendo Switch Online</em> web tokens usage are not explicitly allowed by <em>Nintendo</em>, use at your own risk.</p> </td></tr> <tr><th>Authors</th><td><a href="https://github.com/lowlighter">@lowlighter</a></td></tr> <tr> <th rowspan="3">Supported features <sub><a href="metadata.yml">โ†’ Full specification</a></sub></th> <td><a href="/source/templates/classic/README.md"><code>๐Ÿ“— Classic template</code></a></td> </tr> <tr> <td><code>๐Ÿ‘ค Users</code> <code>๐Ÿ‘ฅ Organizations</code></td> </tr> <tr> <td><code>๐Ÿ—๏ธ plugin_splatoon_token</code> <code>๐Ÿ—๏ธ plugin_splatoon_statink_token</code></td> </tr> <tr> <td colspan="2" align="center"> </img>
</td>
</tr> </table> <!--/header-->

โžก๏ธ Available options

<!--options--> <table> <tr> <td align="center" nowrap="nowrap">Option</i></td><td align="center" nowrap="nowrap">Description</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon</code></h4></td> <td rowspan="2"><p>Enable splatoon plugin</p> </td> </tr> <tr> <td nowrap="nowrap"><b>type:</b> <code>boolean</code>

<b>default:</b> no

</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_token</code></h4></td> <td rowspan="2"><p>Splatnet token</p> </td> </tr> <tr> <td nowrap="nowrap">๐Ÿ” Token

๐ŸŒ Web instances must configure <code>settings.json</code>:

<ul> <li><i>metrics.api.nintendo.splatnet</i></li> </ul> <b>type:</b> <code>token</code> </td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_sections</code></h4></td> <td rowspan="2"><p>Displayed sections</p> <ul> <li><code>player</code> for overall player recap</li> <li><code>versus</code> for <em>Turf war</em> and <em>Anarchy battle</em> matches</li> <li><code>salmon-run</code> for <em>Salmon run next wave</em> matches</li> </ul> </td> </tr> <tr> <td nowrap="nowrap"><b>type:</b> <code>array</code> <i>(comma-separated)</i>

<b>default:</b> player, versus, salmon-run

</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_versus_limit</code></h4></td> <td rowspan="2"><p>Display limit (Versus)</p> </td> </tr> <tr> <td nowrap="nowrap"><b>type:</b> <code>number</code> <i>(0 โ‰ค ๐‘ฅ โ‰ค 6)</i>

<b>default:</b> 1

</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_salmon_limit</code></h4></td> <td rowspan="2"><p>Display limit (Salmon run)</p> </td> </tr> <tr> <td nowrap="nowrap"><b>type:</b> <code>number</code> <i>(0 โ‰ค ๐‘ฅ โ‰ค 6)</i>

<b>default:</b> 1

</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_statink</code></h4></td> <td rowspan="2"><p>stat.ink integration</p> <p>If set, fetched data will also be uploaded to stat.ink Requires <a href="/source/plugins/community/splatoon/README.md#plugin_splatoon_statink_token"><code>plugin_splatoon_statink_token</code></a> to be set</p> </td> </tr> <tr> <td nowrap="nowrap">๐ŸŒ Web instances must configure <code>settings.json</code>: <ul> <li><i>metrics.api.statink</i></li> </ul> <b>type:</b> <code>boolean</code>

<b>default:</b> no

</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_statink_token</code></h4></td> <td rowspan="2"><p>stat.ink token</p> </td> </tr> <tr> <td nowrap="nowrap">๐Ÿ” Token

<b>type:</b> <code>token</code>

</td> </tr> <tr> <td nowrap="nowrap"><h4><code>plugin_splatoon_source</code></h4></td> <td rowspan="2"><p>Source</p> <ul> <li><code>splatnet</code> will fetch data from Splatnet using <a href="https://github.com/spacemeowx2/s3si.ts">spacemeowx2/s3si.ts</a> tool</li> <li><code>local</code> will assume <code>s3si/export</code> directory already exists and is populated (use this when developping new features for this plugin to save network resources and time)</li> <li><code>mocks</code> will use <code>s3si/mocks</code> directory (use this when developping new features for this plugin to avoid setting up a NSO token)</li> </ul> </td> </tr> <tr> <td nowrap="nowrap">โฏ๏ธ Cannot be preset

๐Ÿ”ง For development

<b>type:</b> <code>string</code>

<b>default:</b> splatnet

<b>allowed values:</b><ul><li>splatnet</li><li>local</li><li>mocks</li></ul></td>

</tr> </table> <!--/options-->

๐Ÿ—๏ธ Obtaining a Nintendo Switch Online token

The helper script is intended to be run by deno runtime. Either install it locally or use its docker image.

Run the following command in your terminal and follow instructions:

bash
deno run --allow-run=deno --allow-read=profile.json --allow-write=profile.json --unstable https://raw.githubusercontent.com/lowlighter/metrics/master/source/plugins/community/splatoon/token.ts

๐Ÿ™ stat.ink integration

It is possible to make this plugin automatically export fetched games to stat.ink by adding the following:

yaml
plugin_splatoon_statink: yes
plugin_splatoon_statink_token: ${{ secrets.SPLATOON_STATINK_TOKEN }}

stat.ink API key can be found on user profile:

๐Ÿ‘จโ€๐Ÿ’ป About

Data are fetched using spacemeowx2/s3si.ts tool (which is itself based on frozenpandaman/s3s).

โ„น๏ธ Examples workflows

<!--examples-->
yaml
name: Splatnet data
uses: lowlighter/metrics@latest
with:
  filename: metrics.plugin.splatoon.svg
  token: NOT_NEEDED
  base: ""
  plugin_splatoon: yes
  plugin_splatoon_token: ${{ secrets.SPLATOON_TOKEN }}

yaml
name: Splatnet data with stat.ink integration
uses: lowlighter/metrics@latest
with:
  filename: metrics.plugin.splatoon.svg
  token: NOT_NEEDED
  base: ""
  plugin_splatoon: yes
  plugin_splatoon_token: ${{ secrets.SPLATOON_TOKEN }}
  plugin_splatoon_statink: yes
  plugin_splatoon_statink_token: ${{ secrets.SPLATOON_STATINK_TOKEN }}
  extras_css: |
    h2 { display: none !important; }

<!--/examples-->