Nostrリレーから投稿を取得して表示するアプリです。
投稿を表示すると同時に伺か互換ベースウェア(SSTPサーバー)にSSTPを送信し、ゴースト(キャラクター)に投稿を喋らせます。
「アンゴルモア」と呼んでください。
- 下記のサイトから最新版のSSPをダウンロードしssp.exeを起動します。
独立伺か研究施設 ばぐとら研究所 - Releasesよりangolmois-win32-x64.zipをダウンロードしangolmois.exeを起動します。
- しばらくすると投稿が表示され、同時に起動しているゴーストが投稿内容を喋り出します。
angolmoisはSSTPによりSSTPサーバーと通信を行います。
angolmoisからは指定したゴーストに対して以下のようなSSTPが送信されます。
NOTIFY SSTP/1.1
Charset: UTF-8
Sender: angolmois-electron
Event: OnNostr
Option: nobreak
Script: \0おはノスー!\e
Reference0: Nostr/0.1
Reference1: おはノスー!
Reference2: nosuta
Reference3: のす太
Reference4: https://sample.com/avatar.png
ゴーストはOnNostrイベントに対して独自にSakuraScriptを応答することで通知内容をカスタマイズして表現することができます。
以下にYAYAによる応答実装例を示します。
OnNostr
{
_protocol_version = reference[0]
if _protocol_version != 'Nostr/0.1'
return
_note = reference[1]
_name = reference[2]
_display_name = reference[3]
"\C\0\_q\f[bold,true]%(SHIORI3FW.EscapeAllTags(_display_name))\f[bold,default] /
@%(SHIORI3FW.EscapeAllTags(_name))\n/
%(SHIORI3FW.EscapeDangerousTags(_note))/
\![set,trayballoon/
,--text=%(AYATEMPLATE.EscapeText(_note))/
,--title=%(AYATEMPLATE.EscapeText(_display_name))/
,--icon=info]/
\n\n\e"
// \Cにより前回までの投稿の表示を維持し、
// \_qにより以降の文字列をノーウェイトで一気に表示し、
// \f[bold,true] ~ \f[bold,default]で名前を囲むことで名前を太文字で表示した後通常に戻し、
// @付きでID名を表示し、\nで改行し、
// 投稿内容を表示し、
// \![set,trayballoon,...]でトースト通知を行い、
// \n\nで改行2回の後、\eでえんいー。
}
※画像はYAYA-shiori/konnoyayameをベースとし、立ち絵をnobodyu氏作のものに差し替えたゴーストです。
※さらに可愛くなりました。
音声読み上げプラグイン