差分

ラズパイに移行したからか翻訳機能が停止。絵文字変換は再開。
1行目: 1行目:  
シューマイぼっと改とは、シューマイが以前作成した「シューマイぼっと(β)」の後継にあたる対話型botである。シューマイぼっと(β)や他のいくつかのbotと違い、返答しかしないという特徴を持ち、自発的に発言(時報など)する事は無い。
 
シューマイぼっと改とは、シューマイが以前作成した「シューマイぼっと(β)」の後継にあたる対話型botである。シューマイぼっと(β)や他のいくつかのbotと違い、返答しかしないという特徴を持ち、自発的に発言(時報など)する事は無い。
 +
 +
      _                        _ ____            _
 +
    | | __ _ _ __  __ _ _ __(_)  _ \ __ _ _ __| | __
 +
  _  | |/ _` | '_ \ / _` | '__| | |_) / _` | '__| |/ /
 +
| |_| | (_| | |_) | (_| | |  | |  __/ (_| | |  |  <
 +
  \___/ \__,_| .__/ \__,_|_|  |_|_|  \__,_|_|  |_|\_\
 +
 +
  _  __                        _                          _ ____  ___ _____
 +
| |/ /___ _ __ ___  ___  ___| |__  _  _ _ __ ___  __ _(_) __ ) / _ \_  _|
 +
| ' // _ \ '_ ` _ \ / _ \/ __| '_ \| | | | '_ ` _ \ / _` | |  _ \| | | || |
 +
| . \  __/ | | | | | (_) \__ \ | | | |_| | | | | | | (_| | | |_) | |_| || |
 +
|_|\_\___|_| |_| |_|\___/|___/_| |_|\__,_|_| |_| |_|\__,_|_|____/ \___/ |_|
 +
 +
VER 1.0.0 <code>クライアント起動時に表示されるアスキーアート</code><ref>https://mstdn.kemono-friends.info/@shumai/102643235834898235</ref><code>。もしかして:自己満)</code>
    
==命令の書き方==
 
==命令の書き方==
7行目: 21行目:  
====基本形====
 
====基本形====
 
<code><nowiki>@shumai_bot #命令 それ以外の場所は引数</nowiki></code>
 
<code><nowiki>@shumai_bot #命令 それ以外の場所は引数</nowiki></code>
 +
 +
==命令一覧==
 +
シューマイぼっと改で使える命令は以下の通りです。
 +
===なんでも肯定===
 +
<code><nowiki>@shumai_bot #なんでも肯定 肯定させたい文</nowiki></code>
 +
 +
返り値:シューマイぼっと改が「はいそうです」と肯定します。
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
絶対に肯定させる場合に使います。
 +
 +
使用例:<code><nowiki>@shumai_bot ん?今なんでもするって言ったか? #なんでも肯定</nowiki></code>
 +
 +
返答:<code><nowiki>はいそうです</nowiki></code>
 +
 +
===匿名投稿===
 +
<code><nowiki>@shumai_bot #匿名投稿 投稿したい文章</nowiki></code>
 +
 +
返り値:シューマイぼっと改が代わりに投稿します。
 +
 +
読み込み元:DM(シューマイぼっと改)
 +
 +
投稿先:LTL
 +
 +
使い方はあなた次第です。LTLに流すのではなく、シューマイぼっと改に"ダイレクトメールする"点に注意してください。LTLに投稿された#匿名投稿タグは読み取りません。悪用厳禁。
 +
 +
使用例:<code><nowiki>@shumai_bot #匿名投稿 私は焼売です。食べてください。</nowiki></code>
 +
 +
返答:<code><nowiki>私は焼売です。食べてください。 by 匿名</nowiki></code>
 +
 +
===LISP===
 +
<code><nowiki>@shumai_bot #lisp LISPコード</nowiki></code>
 +
 +
返り値:LISPコードの実行結果
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
プログラミング言語「LISP」を実行出来ます。LISPの処理系は<code><nowiki>npm install --save lisp</nowiki></code>でインストールできる簡易的な物を使用しています。そのため、計算くらいしか出来ません。結果に期待and信用しないでください
 +
 +
使用例:<code><nowiki>@shumai_bot #lisp (+ (* 1 2) 3)</nowiki></code>
 +
 +
返答:<code><nowiki>5</nowiki></code>
 +
 +
===おい===
 +
<code><nowiki>@shumai_bot #おい 適当な文</nowiki></code>
 +
 +
返り値:シューマイぼっと改が「すん」と返事します
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
生意気ですね。
 +
 +
使用例:<code><nowiki>@shumai_bot #おい うんとかすんとか言えよ</nowiki></code>
 +
 +
返答:<code><nowiki>すん</nowiki></code>
 +
 +
[[カテゴリ:ますとどんちほーの文化]]
 +
[[カテゴリ:BOT]]
 +
 +
=== 天気 ===
 +
<code>@shumai_bot #天気</code>
 +
 +
返り値:天気を教えてくれます。('''誰も日本の天気だとは言っていない''')
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
<nowiki>#</nowiki>今日の天気 でも反応
 +
 +
使用例:<code>@shumai_bot #天気</code>
 +
 +
返答:<code>今のSireの天気はCloudsです。 (13,5)</code> (エチオピアのオロミア州「シレ」)
 +
 +
=== 文章予想 ===
 +
<code>@shumai_bot #文章予想 書きかけの文章</code>
 +
 +
返り値:何か文章を与えると、その分に続く文章を予測して返答します。
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
頻繁に使用すると迷惑なので<code><nowiki>#迷惑をかけない</nowiki></code>を用意しました。このタグを一緒につけると、ぼっとはLTLではなくその投稿に返信します。
 +
 +
精 度 の 低 さ を 気 に し て は い け な い
 +
 +
使用例:<code>@shumai_bot #文章予想 東北新幹線</code>
 +
 +
返答:<code>東北新幹線なっている所で、白い色の服を着た男性がスケートボードをしています。 #文章予想回答集 #文章予想</code>
 +
 +
=== フレンズガチャ ===
 +
<code>@shumai_bot #フレンズガチャ</code>
 +
 +
返り値:ガチャ結果
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
フレンズの出るガチャが引けます。現在18種類!コンプしよう!
 +
 +
なお、一人一日一回までという制限付き。
 +
使用例:<code>@shumai_bot #フレンズガチャ</code>
 +
 +
返答:<code>:nihonookami: ! 名前:ニホニホ ニホ!ニホニホニホ!ニホニホニホニホ!だんだんあなたはニホが二木に見えてくる... #フレンズガチャ</code>
 +
 +
=== こもりうた ===
 +
<code>@shumai_bot #こもりうた</code>
 +
 +
返り値:子守歌(全7種類)
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
なかなか寝れないときはシューマイぼっとに子守歌をうたってもらおう!
 +
 +
使用例:<code>@shumai_bot #こもりうた</code>
 +
 +
返答:<code>起来!不愿做奴隶的人们!把我们的血肉,筑成我们新的长城!中华民族到了最危险的时候,毎个人被迫着发出最后的吼声。</code>
 +
 +
=== ランキング ===
 +
<code>@shumai_bot #ランキング</code>
 +
 +
返り値:今日のがおー数ランキング
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
今日のがおー数のランキングを返します。自分の順位の確認には後述する<code>#何位</code>を使ってください。
 +
 +
使用例:<code>@shumai_bot #ランキング</code>
 +
 +
返答:<code>いまのところ今日一番がおーしたのはshumaiさんです。</code>
 +
 +
=== 何時ですか ===
 +
<code>@shumai_bot #何時ですか</code>
 +
 +
返り値:今何時か(全4種類+191種類)''なんで時間に種類があるんだよ''
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
時間を返してくれるなんて誰も言ってません。(なお、3行上)
 +
 +
使用例:<code>@shumai_bot #何時ですか</code>
 +
 +
返答:<code>インターチェンジ</code>
 +
 +
=== だう平均株価 ===
 +
<code>@shumai_bot #だう!</code>
 +
<code>@shumai_bot #でう!</code>
 +
<code>@shumai_bot #dow</code>
 +
など
 +
 +
返り値:現在のダウ平均株価
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
ウミウつながりです(?)
 +
 +
使用例:<code>@shumai_bot #だう!</code>
 +
 +
返答:<code>NYだう! 26797.46だう!</code>
 +
 +
=== 日経平均株価 ===
 +
<code>@shumai_bot #日経平均</code>
 +
 +
返り値:日経平均株価
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
ダウがあるなら日経平均もだよね
 +
 +
使用例:<code>@shumai_bot #日経平均</code>
 +
 +
返答:<code>21318.42カブ!</code>
 +
 +
=== ナスダック ===
 +
<code>@shumai_bot #ナス</code>
 +
 +
返り値:ナスダック
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
何この株価シリーズ。
 +
 +
使用例:<code>@shumai_bot #ナス</code>
 +
 +
返答:<code>7,856.88ナス!</code>
 +
 +
=== 何位 ===
 +
<code>@shumai_bot #何位</code>
 +
 +
返り値:あなたのがおー数順位
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
あなたの今日のがおー数が何位なのかがわかります。
 +
 +
使用例:<code>@shumai_bot #何位</code>
 +
 +
返答:<code>あなたの順位は6位です!</code>
 +
 +
=== イベント追加'''挙動が怪しい(ベータ版)''' ===
 +
<code>@shumai_bot #イベント追加 _イベント名_ 09/25 01:23</code>
 +
 +
返り値:指定された日付の指定された時間になったらイベント名を返します。
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
ベータ版です。
 +
 +
=== 1がおー20円 ===
 +
<code>@shumai_bot #1がおー20円</code>
 +
<code>@shumai_bot #がおー使用料</code>
 +
 +
返り値:もし1がおーにつき20円かかるとしたときのあなたの今日の金額
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
[https://mstdn.kemono-friends.info/@m/102672500201427400 いつの日かそんな話題が上がった]ので
 +
 +
使用例:<code>@shumai_bot #1がおー20円</code>
 +
 +
返答:<code>もし1がおーにつき20円なら、shumaiさんは今日720円です。</code>
 +
 +
=== ジンバブエドル換算 ===
 +
<code>@shumai_bot #ジンバブエドル 123456</code>
 +
<code>@shumai_bot #zwd 123456</code>
 +
 +
返り値:ジンバブエドル
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
その名の通り。
 +
 +
使用例:<code>@shumai_bot #ジンバブエドル 600</code>
 +
 +
返答:<code>300000000000000ジンバブエドル = 1円だとすると、600円は約180000000000000000ジンバブエ・ドルです。</code>
 +
 +
=== どやどや ===
 +
<code>@shumai_bot #どやどや</code>
 +
 +
返り値:どやどや~ :doyaa:
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
シューマイの推しです。
 +
 +
使用例:<code>@shumai_bot #どやどや</code>
 +
 +
返答:<code>どやどや~ :doyaa:</code>
 +
 +
=== 翻訳'''(休止中)''' ===
 +
<code>@shumai_bot #翻訳 #翻訳先の言語2文字 $翻訳元の言語2文字 翻訳内容</code>
 +
 +
返り値:翻訳結果
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
翻訳します。
 +
言語を表す2文字は[https://cloud.google.com/translate/docs/languages ここ]を参照。
 +
 +
使用例:<code>@shumai_bot #翻訳 #zh $ja テストすいません</code>
 +
 +
返答:<code>$ en对不起测试</code>
 +
 +
=== 絵文字変換'''(復旧しました)''' ===
 +
<code>@shumai_bot #絵文字変換 変換内容</code>
 +
 +
返り値:ちほー文字
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
文章を絵文字で表現します。
 +
 +
使用例:<code>@shumai_bot #絵文字変換 このせかいにひびけルルルタタ ふたりだけのメロディ</code>
 +
 +
返答:<code>こ​:k_no:​​:kf3_se:​​:k_ka:​​:kf3_i:​​:hnmr_ni:​ひ​:dubs_bi:​​:k_ke:​​:snro_kit_ru:​​:snro_kit_ru:​​:snro_kit_ru:​​:snro_ta:​​:snro_ta:​ ​:k_fu:​​:snro_ta:​​:k_ri:​​:kd_da:​​:k_ke:​​:k_no:​​:tmrmn_me:​​:snro_kit_ro:​​:g_de:​​:snro_kit_i:​ #絵文字変換</code>
 +
 +
=== とは検索 ===
 +
<code>@shumai_bot 検索キーワード #とは</code>
 +
 +
返り値:Wikipediaのリンク
 +
 +
読み込み元:LTL
 +
 +
投稿先:LTL
 +
 +
DuckDuckGoのAPIを使用しています。結果になるウィキは英語が優先されます。
 +
 +
使用例:<code>@shumai_bot けものフレンズ #とは</code>
 +
 +
返答:<code>ヒットしました。https://en.wikipedia.org/wiki/Kemono_Friends</code>
 +
 +
== 無名関数 ==
 +
タグがないけど反応する機能。タグはいらないけど@shumai_botのメンションは必要。
 +
 +
=== ["呼べ", "呼んで", "教えて", "教えろ", "起こして"] ===
 +
はたして呼んでくれるでしょうか
 +
 +
=== ["おい"] ===
 +
すん
 +
 +
=== ["トントントントン", "トンx4"] ===
 +
ヒノノニトン!
 +
 +
== 即時関数 ==
 +
もはやタグもメンションもどっちもいらない機能。単語に反応してるだけ。
 +
 +
=== system shutdown ===
 +
ぎにつねと同時に死ぬために書いた機能。死ぬときは一緒。
 +
 +
=== 手動停止 ===
 +
ぎにつねの指示で死ぬための機能。実際に死んでいるわけではない。
 +
 +
=== 起動 ===
 +
ぎにつねが起動してくれるかなってワクワクして実装した機能。<s>今はもうかなわない。</s> '''ぎにつね復活?'''
 +
 +
実際に何かが起こっているわけではない。起動してなきゃ反応できないからね。
 +
 +
== 投稿禁止用語 ==
 +
* @bot
 +
* @shumai_bot
 +
* @getgpd
 +
* system shutdown
 +
 +
== 詳細 ==
 +
 +
プラットフォーム:Node.js
 +
 +
使用ライブラリ:mastodon-api node-fetch lisp(lisp/legacyモードで読み込み) date-utils form-data fs
 +
 +
使用WebAPI:
 +
* <nowiki>https://mstdn.kemono-friends.info/api/v1/</nowiki> (ちほー)
 +
* <nowiki>https://api.bitflyer.jp/v1/ticker?product_code=${coin}</nowiki> (bitcoin取得)
 +
* <nowiki>http://api.openweathermap.org/data/2.5/weather?APPID=${apikey}&lat=${lat}&lon=${lon}</nowiki> (#天気)
 +
* <nowiki>https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk</nowiki> (コラム:会話ちゃんと同じAPIっぽい)
 +
* <nowiki>https://api.a3rt.recruit-tech.co.jp/text_suggest/v2/predict?apikey=${apikey}&previous_description=${string}</nowiki> (#文章予想)
 +
 +
使用streaming:2本
 +
 +
使用streaming:streaming/public/local(LTL取得用) streaming/direct(DM取得用)
 +
 +
例外処理のクオリティ:そこそこ落ちない。たまーに落ちる。
 +
 +
暴走経験:3回(そのうち一回は旧しゅーまいぼっとでのことなので実質2回)
 +
# (2018年) if分の条件を間違えたため、何度も投稿された。→ if分を修正
 +
# (2019年) bot同士で対話が起き、無限に続く状態になった。→ botに対しては反応しないように修正
 +
# (2019年) DMで会話ができる機能で、shumai_bot同士が無限に会話した。→ DMでもbotに対しては反応しないように修正
 +
 +
== 参照 ==
 +
<references />
71

回編集