license of other assets

This commit is contained in:
cutls 2021-04-14 15:28:28 +09:00
parent 77e4dd6c41
commit 0698ce07fd
4 changed files with 4 additions and 273 deletions

View File

@ -48,17 +48,7 @@ Please write issues to improve TheDesk affinity with Pleroma.
## License
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[Press Kit](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip)
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
The default sounds of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
[License of other assets](https://github.com/cutls/TheDesk/wiki/License-of-other-assets)
### Privacy Policy

View File

@ -38,17 +38,7 @@ Issuesに書いてある問題についてはなるべく対処しますので
## ライセンス
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
アイコンは[クリエイティブ・コモンズ 表示-非営利-継承](https://creativecommons.org/licenses/by-nc-sa/4.0/)で提供されています。
[プレスキット](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip)
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
標準の通知音は [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/) で提供されています。
[License of other assets](https://github.com/cutls/TheDesk/wiki/License-of-other-assets)
### プライバシーポリシー

View File

@ -405,7 +405,7 @@
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">@@plugin@@
</div>
<div class="collapsible-body">
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">@@howToWritePlugin@@</a><br />
<a href="https://github.com/cutls/TheDesk/wiki/プラグイン">@@howToWritePlugin@@</a><br />
<div id="plugin" data-id="add_new" style="height: 600px"></div>
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">@@change@@</button>
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"

251
plugin.md
View File

@ -1,250 +1 @@
# TheDesk Plugin
[AiScript](https://github.com/syuilo/aiscript)で書きます。
[AiScript の書き方](https://github.com/syuilo/aiscript/blob/master/docs/get-started.md)
## メタデータ
```
### {
manifest: 1
name: "マイ・ファースト・プラグイン"
version: 1
event: "buttonOnPostbox"
author: "Cutls P"
apiGet: no
}
```
これを冒頭に入れます。
**AiScriptのbooleanはyesかnoです**
- manifest
1 を指定してください。無ければ 1 とみなします。
- version
数字でも文字列でも好きに使ってください。TheDesk 側では全く参照しません。
- dangerHtml: boolean
`TheDesk:changeText`にアクセスするために必要です。
- apiGet: boolean
`TheDesk:api`または`TheDesk:getRequest`に GET メソッドでアクセスするときに必要です。
- apiPost: boolean
`TheDesk:api`に POST/PUT/DELETE メソッドでアクセスするときや、`postExec`を実行するときに必要です。
- shortcut: number
Alt+{number の keycode}で発火できるようにします。[キーコード一覧](https://shanabrian.com/web/javascript/keycode.php)
`event`が`init`, `buttonOnBottom`, `buttonOnPostbox`, `none`のときにのみ有効です。
- interval: number
`event`が`tips`のとき、更新間隔をミリ秒で指定します。
### event
event に設定できるもの
- `buttonOnPostbox`
投稿フォームの…(90° 回転)で出てくるメニュー内に表示されます
- `buttonOnToot`
トゥートの詳細メニューに表示されます
- `init`
起動時(なるべく早い段階で)
- `buttonOnBottom`
メニューボタン(画面下部)の右に追加されます。
- `tips`
TheDesk Tipsに追加します。
- `none`
明示しません。ショートカットでのみ発火します。
追加予定…
## 変数
### buttonOnToot のとき
- DATA
```
{
id: "トゥートのID文字列",
acct_id: "アカウントのTheDesk内部ID"
}
```
- TOOT
トゥートの API を叩いた時と同じオブジェクトが返ります。なお、プラグインが実行されてから取得します。
プラグインの実行ボタン押下から実行までの時間差はこれによるものです。
### buttonOnPostbox のとき
- POST
投稿するときのオブジェクトがそのまま入りますが、`TheDeskAcctId`という TheDesk が内部で扱うアカウントの ID(string)が入ったプロパティが追加されます。
- ACCT_ID
TheDesk が内部で扱うアカウントの ID(string)
## 関数
### TheDesk:dialog(title: string, text: string, type?: string)
type のデフォルトは'info'で、他に'error','question','success'などがある
### TheDesk:confirm(title: string, text: string, type?: string)
type のデフォルトは'info'で、他に'error','question','success'などがある
返り値は boolean(true|false)
### TheDesk:css(query: string, attr: string, val: string)
jQuery の`$(query).css(attr, val)`に相当
### TheDesk:openLink(url: string)
リンクを無確認で開きます。
### TheDesk:api(method: 'GET'|'POST'|'PUT'|'DELETE', endpoint: string, body: string | null, acct_id: string)
endpoint は`v1`から書いてください。(`v1/accounts...`)
返り値は json のオブジェクト。
### TheDesk:getRequest(endpoint: string, json: boolean)
endpoint は`https://` を省いて書いてください。(HTTPSにリクエストを限定するため)
返り値は`json`がtrueなら json のオブジェクト。falseならstring(テキストとして処理)
### TheDesk:changeText(body: string)
`buttonOnToot`で使用可能
該当トゥート(や他タイムラインの同一トゥート)のテキストを書き換えます。
`dangerHtml`を true にしてください。
HTML を引数にすることに留意してください。
p, span, br, a タグを利用できます。また、a タグには'href', 'class', 'rel', 'target'属性以外を入れることはできず、
href の最初が javascript:で始まるものも利用できません。
### TheDesk:refreshTipsView(body: string)
`tips`で使用可能
Tipsのコンテンツを書き換えます。
`dangerHtml`を true にしてください。
HTML を引数にすることに留意してください。
p, span, br, a, img タグを利用できます。また、a タグには'href', 'class', 'rel', 'target', 'style'属性以外を入れることはできず、
href の最初が javascript:で始まるものも利用できません。また、p, span, imgにはstyleを使用できます(imgは当然srcも可)
### TheDesk:postText(text: string)
`buttonOnPostbox`で使用可能
トゥートボックスの中身を書き換えます。
### TheDesk:postCW(force: boolean, text: string)
`buttonOnPostbox`で使用可能
CW を切り替えます。force はデフォルトで false で、true にするとオンに、false にするとトグルになります。
text には警告文を入れます。
### TheDesk:postNSFW(force: boolean)
`buttonOnPostbox`で使用可能
NSFW を切り替えます。force はデフォルトで false で、true にするとオンに、false にするとトグルになります。
### TheDesk:postVis(vis: 'public'|'unlisted'|'private'|'direct')
`buttonOnPostbox`で使用可能
公開範囲を変更します。
### TheDesk:postClearbox(force: boolean)
`buttonOnPostbox`で使用可能
投稿ボックスをクリアします。
### TheDesk:postExec()
`buttonOnPostbox`で使用可能
`apiPost`を true にしてください。
トゥートボタンを押したのと同じ挙動をします。
## 実例
### 1
https://misskey.io/@syuilo/pages/bebeyo を TheDesk で使用できるようにするためには…(勝手に改造)
```
### {
name: "ベベヨ"
version: 1
event: "buttonOnPostbox"
author: "syuilo"
}
#chars =
Str:split("ア,イ,ウ,エ,オ,カ,キ,ク,ケ,コ,サ,シ,ス,セ,ソ,タ,チ,ツ,テ,ト,ナ,ニ,ヌ,ネ,ノ,ハ,ヒ,フ,ヘ,ホ,マ,ミ,ム,メ,モ,ヤ,ユ,ヨ,ガ,ギ,グ,ゲ,ゴ,ザ,ジ,ズ,ゼ,ゾ,ダ,ヂ,ヅ,デ,ド,バ,ビ,ブ,ベ,ボ,パ,ピ,プ,ペ,ポ", ",")
#yos = ["オ", "ニョ"]
#suffixes = ["オオオオオオオ", "ナーラ", "ンチーノ"]
$text <- _
@do() {
#char1 = chars[Math:rnd(1, Arr:len(chars))]
#char2 = chars[Math:rnd(1, Arr:len(chars))]
#yo = ? (Math:rnd(0, 2) = 0) { yos[Math:rnd(1, Arr:len(yos))] } ... { "ヨ" }
#n = ? (Math:rnd(0, 2) = 0) { "ン" } ... { "" }
#suffix = ? (Math:rnd(0, 2) = 0) { suffixes[Math:rnd(1, Arr:len(suffixes))] } ... { "" }
text <- `{char1}{char2}{n}{yo}{suffix}`
TheDesk:postText(text)
}
do()
```
最初のメタデータを追加します。
また、do 関数の最下部の`TheDesk:postText(text)`で、TheDesk の投稿ボックスに結果を挿入しています。
### 2
Cat にするやつ(ユーザーがいちいち押さないと変換されないし、タグごと変わってしまうのであまりよくない)
```
### {
name: "nyaize"
version: 1
event: "buttonOnToot"
author: "Cutls P"
dangerHtml: yes
}
#toot = TOOT.content
#nyaized = Str:replace(toot, "な", "にゃ")
TheDesk:changeText(nyaized)
```
### 3
BitFlyerのAPIを利用してTips部に3秒ごとにビットコインの価格を表示するやつ
https://1m.cutls.com/@Cutls/105525654999148930
```
### {
name: "Bitcoinの値段を3秒ごとにTipsに表示するやつ"
version: 1
event: "tips"
author: "Cutls P"
dangerHtml: yes
apiGet: yes
interval: 3000
}
#json = TheDesk:getRequest("bitflyer.com/api/echo/price", yes)
#ask = json.ask
#mid = json.mid
#bid = json.bid
#text = `ASK: {ask} / MID: {mid} / BID: {bid}`
TheDesk:refreshTipsView(text)
```
Moved to [Wiki](https://github.com/cutls/TheDesk/wiki/プラグイン)