現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています

報告は Discord までお願いします

権限

概要

アプリは、ファイル、OBS、チャットなど利用者へ影響する機能を使う前に権限を要求します。

権限は必ず

omu.start()
より前に登録してください。

1
import { OmuPermissions } from '@omujs/omu';
2

3
omu.permissions.require(
4
    OmuPermissions.ASSET_PERMISSION_ID,
5
    OmuPermissions.HTTP_REQUEST_PERMISSION_ID,
6
);
7

8
omu.start();

接続開始後に未取得の権限を

require()
するとエラーになります。

権限を確認する

1
const granted = omu.permissions.has(
2
    OmuPermissions.ASSET_PERMISSION_ID,
3
);

独自の権限を定義する

Endpointなどアプリ独自機能を公開する場合は

PermissionType
を登録できます。

1
import { Identifier } from '@omujs/omu';
2
import { PermissionType } from '@omujs/omu/api/permission';
3

4
const WRITE_PERMISSION = PermissionType.create(
5
    new Identifier('com.example', 'sample', 'write'),
6
    {
7
        metadata: {
8
            level: 'medium',
9
            name: {
10
                ja: 'サンプルデータを変更',
11
                en: 'Modify sample data',
12
            },
13
        },
14
    },
15
);
16

17
omu.permissions.register(WRITE_PERMISSION);

権限レベルは

low
、
medium
、
high
の3種類です。操作の影響に合わせて設定してください。

子アプリの権限

子アプリへトークンを発行するときは、親アプリが持つ権限の範囲内で必要な権限を指定します。詳しくはセッション を参照してください。