:_fu::_wa::_fu::_wa::_pu::_ra::_gu::_i::_n:1.0.0
:_ka2::_ta2::_ka2::_na2::_o::_yo::_bi:
:_ta::_i::_o::_u::_shi::_te::_na::_i::_mo::_zi::_ni:
:_ta::_i::_o::_u::_shi::_ta::_yo::_wave::_exclamation_mark:
:_a::_to::_ten::_o::_o::_ki::_na::_he::_n::_ko::_u::_ga:
:_ha::_i::_ltsu::_te::_ten::_ri2::_a2::_ku2::_si2::_xyo2::_n2::_ga:
:_no2::_prolong::_to2::_a2::_ku2::_si2::_xyo2::_n2::_ka::_ra:
:_u::_te::_ru::_yo::_u::_ni::_na::_ltsu::_ta::_ri::_exclamation_mark:
:_yo::_ro::_shi::_ku::_ne::_exclamation_mark:
下のコードを全てコピーして「設定」→「プラグイン」→「インストール」でペーストしてインストール!
今回からリアクションなどの操作をするから権限付与のページが出ますがすべてオンの状態で確定してね!
変更内容
・対応してない文字の追加
・全部ページから定義を取得するように
・対応した文字からリアクションを打てるように
コード
/// @ 0.13.3
### {name: 'ひらがなをデコ文字絵文字に変換するプラグイン'
version: '1.0.0'
author: 'しせる'
description: 'ふわふわもじにな~れ!'
config: {rv: {type: 'boolean'
label: '?/ /?を逆にする'
description: '囲ったところを変換するようになるよ'
default: false}}
permissions: ['write:reactions' 'read:pages']}
let pn='ふわふわプラグイン'
let ppa='デコ文字に変換!'
let pna='デコ文字でリアクション!'
let rv=Plugin:config.rv
let did='9l7ny9j12a'
let nv='version'
let nds='definitionString'
let ndc='definitionChar'
@IN() {let t=readline('リアクションしたい文字を入力')
if (t == '') null
else t}
@CD(d) {Mk:save(nv Obj:get(d nv))
Mk:save(nds Obj:get(d nds))
Mk:save(ndc Obj:get(d ndc))
Mk:dialog(pn '定義ファイルを更新しました!' 'success')}
@CU() {let d=Json:parse(Mk:api('pages/show' {pageId: did}).content[0].text)
let v=Mk:load(nv)
if (v == null || Obj:get(d nv) > v) {CD(d)}}
var cse=Mk:load(nds)
var cce=Mk:load(ndc)
@UA(){CU()
cse=Mk:load(nds)
cce=Mk:load(ndc)}
if (Mk:load(nv) == null) UA()
else Async:timeout(0 UA)
@FF(t){@(v){v[0]==t}}
@NAM(n) {let t=IN()
if (t == null) return null
var a=cse.find(FF(t))
if (a == null) {a=cce.find(FF(t))}
if (a == null) {Mk:dialog(pn '対応した絵文字が見つからなかったよ' 'error')
return null}
a=a[1]
if (n.myReaction != null) {Mk:api('notes/reactions/delete' {noteId: n.id})}
if (a.split('::').len > 1) {Mk:dialog(pn '非対応だよ' 'error')
return null}
Mk:api('notes/reactions/create' {noteId: n.id,reaction: `:{a}:`})}
@FRC(t) {var r=`{t}`
each let c cse r=r.replace(c[0] `:{c[1]}:`)
r}
@RC(t) {var r=FRC(t)
each let c cce r=r.replace(c[0] `:{c[1]}:`)
r}
@C(t) {var wt=`{t}`
var r=''
loop {var sp=wt.index_of('?/')
if (sp == -1) {if (wt.len != 0) {if (rv) r=`{r}{wt}`
else r=`{r}{RC(wt)}`}
break}
var ep=wt.index_of('/?')
if (ep == -1) {ep=wt.len}
if (sp > ep) {if (rv) r=`{r}{wt.slice(0 sp)}`
else r=`{r}{RC(wt.slice(0 sp))}`
wt=wt.slice(sp wt.len)
continue}
if (rv) r=`{r}{wt.slice(0 sp)}{RC(wt.slice(sp+2 ep))}`
else r=`{r}{RC(wt.slice(0 sp))}{wt.slice(sp+2 ep)}`
wt=wt.slice(ep+2 wt.len)}
r}
Plugin:register_post_form_action(ppa @(f u){u('text' C(f.text))
Mk:dialog(pn '処理が終わったよ!' 'success')})
Plugin:register_note_action(pna NAM)
Thread
Login to reply
Replies ()
No replies yet. Be the first to leave a comment!