シューマイぼっと改とは、シューマイが以前作成した「シューマイぼっと(β)」の後継にあたる対話型botである。シューマイぼっと(β)や他のいくつかのbotと違い、返答しかしないという特徴を持ち、自発的に発言(時報など)する事は無い。
_ _ ____ _
| | __ _ _ __ __ _ _ __(_) _ \ __ _ _ __| | __
_ | |/ _` | '_ \ / _` | '__| | |_) / _` | '__| |/ /
| |_| | (_| | |_) | (_| | | | | __/ (_| | | | <
\___/ \__,_| .__/ \__,_|_| |_|_| \__,_|_| |_|\_\
_ __ _ _ ____ ___ _____
| |/ /___ _ __ ___ ___ ___| |__ _ _ _ __ ___ __ _(_) __ ) / _ \_ _|
| ' // _ \ '_ ` _ \ / _ \/ __| '_ \| | | | '_ ` _ \ / _` | | _ \| | | || |
| . \ __/ | | | | | (_) \__ \ | | | |_| | | | | | | (_| | | |_) | |_| || |
|_|\_\___|_| |_| |_|\___/|___/_| |_|\__,_|_| |_| |_|\__,_|_|____/ \___/ |_|
VER 1.0.0 クライアント起動時に表示されるアスキーアート[1]。もしかして:自己満)
命令の書き方
シューマイぼっと改でなにかをする際は必ず@shumai_botにメンションを張る必要があります。@shumai_botメンションを付けていない投稿はシューマイぼっと改から命令だと認識されず、全て無視されます。
次に、やりたい事をタグで指定します。タグを付けることで何をしたいのかをシューマイぼっと改に認識させます。タグがない投稿は後述する無名関数として実行される場合があります。
基本形
@shumai_bot #命令 それ以外の場所は引数
命令一覧
シューマイぼっと改で使える命令は以下の通りです。
なんでも肯定
@shumai_bot #なんでも肯定 肯定させたい文
返り値:シューマイぼっと改が「はいそうです」と肯定します。
読み込み元:LTL
投稿先:LTL
絶対に肯定させる場合に使います。
使用例:@shumai_bot ん?今なんでもするって言ったか? #なんでも肯定
返答:はいそうです
匿名投稿
@shumai_bot #匿名投稿 投稿したい文章
返り値:シューマイぼっと改が代わりに投稿します。
読み込み元:DM(シューマイぼっと改)
投稿先:LTL
使い方はあなた次第です。LTLに流すのではなく、シューマイぼっと改に"ダイレクトメールする"点に注意してください。LTLに投稿された#匿名投稿タグは読み取りません。悪用厳禁。
使用例:@shumai_bot #匿名投稿 私は焼売です。食べてください。
返答:私は焼売です。食べてください。 by 匿名
LISP
@shumai_bot #lisp LISPコード
返り値:LISPコードの実行結果
読み込み元:LTL
投稿先:LTL
プログラミング言語「LISP」を実行出来ます。LISPの処理系はnpm install --save lispでインストールできる簡易的な物を使用しています。そのため、計算くらいしか出来ません。結果に期待and信用しないでください
使用例:@shumai_bot #lisp (+ (* 1 2) 3)
返答:5
おい
@shumai_bot #おい 適当な文
返り値:シューマイぼっと改が「すん」と返事します
読み込み元:LTL
投稿先:LTL
生意気ですね。
使用例:@shumai_bot #おい うんとかすんとか言えよ
返答:すん
天気
@shumai_bot #天気
返り値:天気を教えてくれます。(誰も日本の天気だとは言っていない)
読み込み元:LTL
投稿先:LTL
#今日の天気 でも反応
使用例:@shumai_bot #天気
返答:今のSireの天気はCloudsです。 (13,5) (エチオピアのオロミア州「シレ」)
文章予想
@shumai_bot #文章予想 書きかけの文章
返り値:何か文章を与えると、その分に続く文章を予測して返答します。
読み込み元:LTL
投稿先:LTL
頻繁に使用すると迷惑なので#迷惑をかけないを用意しました。このタグを一緒につけると、ぼっとはLTLではなくその投稿に返信します。
精 度 の 低 さ を 気 に し て は い け な い
使用例:@shumai_bot #文章予想 東北新幹線
返答:東北新幹線なっている所で、白い色の服を着た男性がスケートボードをしています。 #文章予想回答集 #文章予想
フレンズガチャ
@shumai_bot #フレンズガチャ
返り値:ガチャ結果
読み込み元:LTL
投稿先:LTL
フレンズの出るガチャが引けます。現在18種類!コンプしよう!
なお、一人一日一回までという制限付き。
使用例:@shumai_bot #フレンズガチャ
返答::nihonookami: ! 名前:ニホニホ ニホ!ニホニホニホ!ニホニホニホニホ!だんだんあなたはニホが二木に見えてくる... #フレンズガチャ
無名関数
タグがないけど反応する機能。タグはいらないけど@shumai_botのメンションは必要。
["呼べ", "呼んで", "教えて", "教えろ", "起こして"]
はたして呼んでくれるでしょうか
["おい"]
すん
["トントントントン", "トンx4"]
ヒノノニトン!
即時関数
もはやタグもメンションもどっちもいらない機能。単語に反応してるだけ。
system shutdown
ぎにつねと同時に死ぬために書いた機能。死ぬときは一緒。
手動停止
ぎにつねの指示で死ぬための機能。実際に死んでいるわけではない。
起動
ぎにつねが起動してくれるかなってワクワクして実装した機能。今はもうかなわない。 ぎにつね復活?
実際に何かが起こっているわけではない。起動してなきゃ反応できないからね。
投稿禁止用語
- @bot
- @shumai_bot
- @getgpd
詳細
プラットフォーム:Node.js
使用ライブラリ:mastodon-api node-fetch lisp(lisp/legacyモードで読み込み) date-utils form-data fs
使用WebAPI:
- https://mstdn.kemono-friends.info/api/v1/ (ちほー)
- https://api.bitflyer.jp/v1/ticker?product_code=${coin} (bitcoin取得)
- http://api.openweathermap.org/data/2.5/weather?APPID=${apikey}&lat=${lat}&lon=${lon} (#天気)
- https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk (コラム:会話ちゃんと同じAPIっぽい)
- https://api.a3rt.recruit-tech.co.jp/text_suggest/v2/predict?apikey=${apikey}&previous_description=${string} (#文章予想)
使用streaming:2本
使用streaming:streaming/public/local(LTL取得用) streaming/direct(DM取得用)
例外処理のクオリティ:そこそこ落ちない。たまーに落ちる。
暴走経験:3回(そのうち一回は旧しゅーまいぼっとでのことなので実質2回)
- (2018年) if分の条件を間違えたため、何度も投稿された。→ if分を修正
- (2019年) bot同士で対話が起き、無限に続く状態になった。→ botに対しては反応しないように修正
- (2019年) DMで会話ができる機能で、shumai_bot同士が無限に会話した。→ DMでもbotに対しては反応しないように修正