friends.nicoでためになるBotについて☕

[チノ]: https://friends.nico/media/_WQm9ihQv1AT6Pemiws "香風智乃"
[マヤ]: https://friends.nico/media/lTfIbSQ8MLmiXZhPb-Q "条河麻耶"
[メグ]: https://friends.nico/media/z64hbhdY6PXFbLJPcus "奈津恵"

#みなさん、本日も楽しいMastodonライフをお過ごしでしょうか☕
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|おはようございます。<br>香風智乃です。|
|![マヤ]|おっはよーー！！<br>条河麻耶だよ♪♪♪|
|![メグ]|おはよ～、奈津恵だよ～✿|
|![チノ]|今回は[nico.friends Advent Calendar 2018](https://adventar.org/calendars/3231)にて、
ネ居里予君の悲劇を生まないために
トリの25日を抑えておきましたので担当させていただきました。<br>みなさんメリークリスマスです🎉|
|![マヤ]|メリークリスマス！！|
|![メグ]|メリークリスマス～✿|
|![チノ]|ということなので、今回はfriends.nicoでお馴染みのBot界隈について、そしてニコフレのためになるBotについてなど、いろいろお話しようと思います。|
|![メグ]|わ～、楽しみだね～♪|
#friends.nicoという場所についての解説☕
|キャラ|セリフ|
|:-:|:-:|
|![マヤ]|そもそもfriends.nicoって具体的になんだろー（ﾁﾗｯﾁﾗｯ|
|![チノ]|ざっくり言えばドワンゴで働いてる人達が運営してるSNSですね。<br>通称「ニコフレ」「フレニコ」などと呼ばれて、大規模の人数達がローカルタイムラインをチャット感覚で会話している文化が主流の場所です。|
|![メグ]|ノリが良くて賑やかだよね～|
|![チノ]|個々のユーザーが一つの文化や流れを作ったりして、盛り上がることもあります。外から見てみると内輪のような盛り上がりですけどね。|
|![マヤ]|ユーザー達がすっげー仲が良くてオフ会も頻繁だったり殴り合っても笑いあえるような空気ってイメージがする！|
|![チノ]|季節ごとにユーサーが入れ替わったりして空気が変わってるので、ライブ感覚のような要素もありますね。|
|![マヤ]|たまに不穏になることもあるけどな！|
|![チノ]|フォローしてなくても会話ができて、いろんな人種が混ざれるSNSならではですね。<br>どうしても避けられない現象なので心を強くして割り切りましょう。|
|![メグ]|わっ！<br>チノちゃん、初トゥートしたらポコポコ鳴って通知がいっぱいになっちゃったよ～（汗）|
|![マヤ]|こっちは500文字フルに使って挨拶したら「たため」って言われたー！|
|![メグ]|どうしようお返事に時間がかかっちゃうよ～|
|![マヤ]|なんか勝手にミュート宣言された！！面白ーい！！|
|![チノ]|新規さんには優しく囲む文化が根づいているのですが、こんなに暖かくかまってもらえるのは最初だけなので安心してください。<br>長文などで厳しい事も言われるのはチャット感覚で会話してる人たちなので、トゥートを流されると邪魔に感じてしまう人達もいるからです。|
|![マヤ]|なんだと！好きにトゥートさせろー！！|
|![メグ]|ローカルも通知もどんどん流れて追いつけないよ～|
|![チノ]|ノリが良くて、会話にもついていけて、自分からぐいぐいいけるような人がニコフレには残りやすいかな、と私は思ってます。|
|![チノ]|特に挨拶がまめだったり、聖人君主だったり、あとは何事にも反応がいい人、レスポンスしやすい人は好かれやすい傾向です。|
|![マヤ]|だんだん趣味の合う人達と仲良くなってフォローできそうじゃん！|
|![メグ]|他のインスタンスのアカウントにもリモートフォローで見えるんだね～|
|![チノ]|だいたいニコフレはこんな感じです。ニコフレの中で知らなかった一面、楽しい部分を見つけてマストドンライフを満喫しましょう☕|
#friends.nicoのBotの実態について
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|さて、ここからが本題です。<br>friends.nicoはそれなりにBotが運用されているのはご存知ですか？|
|![マヤ]|ぼっと！！去年聞いた！！|
|![メグ]|[ももなちゃん](https://friends.nico/@JC)がかわいいよね～|
|![チノ]|ももなさんは**サイボーグ化された女子中学生**ですよ！何を言ってるんですか！|
|![マヤ]|チノ！分かったから！落ち着いて！|
|![チノ]|……はっ！<br>すみません、熱くなりました。|
|![チノ]|マストドンの醍醐味といえば、フォローをしていなくてもユーザーのトゥートがタイムラインで流れるシステムです。つまり、Botが自分からフォローをしなくてもローカルに流れるトゥートでリアクションを起こすことが出来るのです。|
|![マヤ]|**自分からフォローをしなくてもローカルに流れるトゥートでリアクションを起こすことが出来る！？**|
|![チノ]|復唱、ありがとうございます。|
|![メグ]|[きりぼっとちゃん](https://friends.nico/@kiri_bot01)の名前がトゥートに入ってると、お返事くれるのはそういうことなんだね～|
|![チノ]|[きりぼっとさん](https://friends.nico/@kiri_bot01)は、
きりたんぽに改造された
[きりたんパパ()](https://friends.nico/@kiritan)が運用しています。主にニコフレのBotといえば、真っ先に候補が上がる子ですね。|
|![メグ]|ちょっとおかしな発言を独り言で喋り出すところがかわいいよね～|
|![マヤ]|**ニコフレの闇を吸収しすぎてひどい発言もするけどな！！**|
|![チノ]|最近はディープラーニングを駆使していろんなことに挑戦してるので……[16日のアドベントカレンダー](https://niconare.nicovideo.jp/watch/kn3703)を見てみるときりぼっとがどのように進化していくのか想像できるかと思います。|
|![チノ]|ということで私は別アプローチですが、これから個人的にBotの極意というものをこれから語らせていただきます。|
|![マヤ]|**これ前置きかよ！！**|
#Botの運用に向けて
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|運用と言っても、いろんな目的があるかと思われます。幅は広いので、これから始める人に向けていくつか疑問に浮かぶようなものを記述いたします。|
###Botはどのように運用したら良いのでしょうか？
簡単です。**自分にとって役に立つBotを作れば良いのです。**
シンプルですが、これはとても重要な要素です。簡単に定期トゥートしてくれるBotを作ってみました、だけでは味気がありません。せっかくストリーミングAPIでローカルタイムライン、連合タイムライン、ホームタイムラインと覗けるのですから、何かしら反応してくれるBotになれるように成長させなきゃ損です。
成長と言っても、自分が好ましい方向性で育てるのが一番です。まず自分が愛せるようなBotを作ることで、愛情が湧くものです。
おのずとBotを叩いてる冷酷なユーザーに殺意が覚えていくことでしょう。
定期的にメンテナンスをして、よりみなさんに愛されて、受け入れられるようなアカウントに仕立てましょう。
###Botを運用するに当たって、どのようなプログラミングが良いのでしょうか☕
自由です。用途に合わせて好きな言語でかけばいいのです。
初心者におすすめするなら**Python**ですね。コードが描きやすい、わかりやすい、ディープラーニングに強い。はい最強です。
あと、私が教えられます。お時間があればいつでも答えられます。
使い方はいろいろ調べたら出てきます。去年のアドベントカレンダーとか私のQiita記事見てくれたらいいと思います。質問はそれからです！
###Botの存在が邪魔に感じないのでしょうか☕
宣伝しかしない定期トゥートBotやツイッター連携を繋げてる人がよくミュートやブロックがされることがありますね。ごくたまに、Botを稼働して喋りすぎるとうるさいと言われることもあるでしょう。**気にしたら負けです。**
そこに機能があるならミュートやブロックも自由ということです。自由と言っても、個人の範囲内だからこその自由です。不愉快になった勢いで、LTLで「ブロックされた！こいつ許さない！」みたいに吠えて他の人を巻き込むのは大人気ありません。心の中で憎しみを培ってブロックしてあげるのがレディの嗜みだと思います。
同様に、Botの稼働もインスタンスの
ざっくりした
規約に従いましょう。稼働に関して不安でしたら運営に一言入れてもいいと思います。私の場合は、LTLに迷惑をかけなければ問題ない、との返事をいただきました。未収載でテスト可動してOKということになります。
最終的に運営の心まで奪って
愛されるようになれば勝ちです。Botもまた、アカウントとしての一人の存在ですから。
###Botもサブ垢の立ち位置でしょうか？<br>複数アカウントの取得は好まれないとお聞きします☕
そもそもMastodonは仕組みの都合上、IDが使い切りになるからです。一度アカウントを消したらそのIDは永久欠番のようになるのです。
大量にIDを抑えるのは乱用というものです。たまにユーザー絵文字芸のためだけに取得したユーザーもいました。公に自慢でもしたら**鳩の使い魔に消されるかもしれません。**ですが、ひとつのアカウントを取得してフル活用してくれるなら問題はないかと思います。
**みなさんがニコニコできる心がけ**を常識に捉えて考えればいいと思います。
あとは相手が不愉快にさせた時は謝りましょう。自分に悪気はなくても、まずは「不愉快に思わせたこと」に対してすぐに謝るのです。それから、自分の行動が非にあったかどうかが分かりだしたら改めて謝罪するなり、自分の中では正しいと思っていると表明するなり、丁寧に話して折り合いをつけましょう。
自分の見えない場所でBotが思いがけない行動が起きるので、乱暴に言われても怒りを抑えなければいけないときもあります。逆に、見えないところでBotの悪口やセクハラ等、どうしても許せなく不愉快なことを言われた時は怒ってあげるのがBotのためだと思います。許容の範囲は個人次第になるので、過保護に守るような人もいれば放任で責任は負いませんって人もいることでしょう。
###Botのためにそこまで神経を気遣うのに疲れないですか☕
**普通に疲れます。**
気楽にマストドンしたい人にはBotに手を出さないことをおすすめします。
ただ、Botを制作してる人もいろいろあるのでBotに対しても気遣ってあげてください。Bot自体が雑で邪魔なら容赦なく言っても構いません。そこを対処するのはメンテナンスする作者次第です。
直接要望をリプで送ってあげるのが親切かもしれないですね。あまり言い過ぎると負担がかかるかと思います。

#実際にBotを作ってみましょう☕
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|前述ではいろいろと語ってしまいましたが、いざ、自分に役に立つBotを作りたい……と思っても、ぱっと浮かびませんよね。|
|![マヤ]|てゆーか、ふつーにマストドンが使えたら別に気にしないもんなー|
|![メグ]|APIの専門用語とか、プログラミングはハードルは高いよ～|
|![チノ]|**大丈夫です。少しだけお勉強したら誰にでも出来ます。**|
|![マヤ]|じゃあチノ、実際にやってみてよ！|
|![チノ]|分かりました（どや|
###環境構築＆最速でBotを動かすなら
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|早い話、[この記事を読みましょう！](https://qiita.com/Chino_Kafuu/items/6be7aa6798c7d7dcc129)|
|![マヤ]|**手抜きかよ！！！！**|
|![チノ]|いえ、記事が長くなるのも疲れますし、同じ内容を書き直すのも検索して探すのも面倒じゃないですか。|
|![メグ]|ついでに宣伝もできてお得だね～|
|![マヤ]|抜かりない……でも別ページに飛ぶの面倒だからこのまま進めても良い？|
|![チノ]|しょうがないですね……分かりました。<br>ではさきほど貼った記事で使用されるコードを記載しますね。|
```Python:ログインするためにアクセストークンを取得するプログラムです
from mastodon import Mastodon
# Register app - 一回だけで問題ないです。
url = 'https://friends.nico'  #インスタンス先です
Mastodon.create_app(
     u'ラビットハウス',  #クライアント名
     api_base_url = url,
     to_file = 'client.secret'  #appを保存するファイル名になります
)
# Log in - アクセストークンを取得します。
mastodon = Mastodon(
    client_id = 'client.secret',
    api_base_url = url
)
mastodon.log_in(
    'my_login_email@knzk.me',  #メールアドレス
    'password',  #パスワード
    to_file = 'user.secret'  #こちらがアクセストークンです
)
```
```Python:トゥートするだけのプログラムです
from mastodon import Mastodon

cocoa = Mastodon(
    client_id = 'client.secret',  #app情報
    access_token = 'user.secret',  #ログイントークン
    api_base_url = 'https://friends.nico'  #インスタンス名
)
cocoa.toot('チノちゃん！')
```
###Botのキャラクターをディレクションする
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|さて、簡単なコードですが準備もできたのでアカウント生成しましょう。連絡が取れるちゃんとしたメールアドレスを用意しましょう。|
|![マヤ]|**なにげに[Knzk.me](https://knzk.me)から[friends.nico](https://friends.nico)にすり替えてるじゃん！！**|
|![チノ]|マヤさん、なんだかんだで**きちんと読んでるじゃないですか。**|
|![メグ]|マヤちゃんのそういうところ好き～♪|
|![マヤ]|うっ////<br>そ、それよりどうして捨て用のアドレスじゃだめなの！！！！|
|![チノ]|荒らし対策で新しくアカウントを取得ができないこと、見たこともない新しいドメインには信用が低いため、でしょうか。まれに重要なことがメールに来ることがあるので連絡ができるようにするのは大事です……私は使用してるアドレスでも**全然気づかないですけど。**|
|![メグ]|たくさんの捨てアドでいっぱいIDをとらないようにしてるんだね～|
|![マヤ]|じゃあ[Gmail](https://www.google.com/gmail/)か[Yahoo](https://www.yahoo.co.jp/)あたりになるの？<br>最近ってさー、[顔本](https://ja-jp.facebook.com/)とかだと名前や住所とかも書かなきゃダメじゃん？？<br>情報登録めんどくさいなぁー……|
|![チノ]|そんなこともあろうかと、[先に抑えたアカウントがこちらにあります。](https://friends.nico/@now)|
|![メグ]|わ～、チノちゃんさすが～♪|
|![マヤ]|ちゃっかり**ニコフレ登録番号300000**取ってるじゃん！！|
|![チノ]|こちらのアカウントをカスタマイズしていきましょう☕|
![取得後の世界](https://friends.nico/media/WKZKP6-sUXArPyjPLE4)
出来てほやほやアカウントの個人ページに飛ぶとこんな感じですが（バージョンによっては表示が変わりますけど）、重要なのはアイコンとお名前ですね。第一印象というのはとても大事なことです。ヘッダーは後回しでも大丈夫です。

|キャラ|セリフ|
|:-:|:-:|
|![マヤ]|で、このアカウントはどういう感じにするの？|
|![チノ]|この子のIDを適当に「now」で取ってしまったので、**「なう子」**ちゃんにしようかと……|
|![マヤ]|**せ、センスない……**|
|![チノ]|えっ|
|![メグ]|それならフルネームは**三十日菜羽（みそかなう）**でどうかな～？|
|![マヤ]|**それにしよう！！**|
|![チノ]|わ、わかりました（震え声）|
|![メグ]|見た目というか、アイコンはどんな感じになるの～？|
|![チノ]|ももなさんのクラスメートお友達って感じにしたいので、女子中学生風にはします。<br>見た目は黒髪のポニーテールで、ふわふわなももなさんとは対称的に、キリッとした印象の子にします。|
|![チノ]|性格はクールな感じにして、SOLニキの大ファンで、ヒエラルキーが大好き人間なのでトゥートを集めて簡易的なランク付けを行う子になります。この記事が25日なのでお誕生日は12月25日にしましょう。|
|![マヤ]|ってことは、この子はトゥートから数値を集計してトゥートするタイプの子になるの？|
|![チノ]|そうですね。トゥート速度とか、トゥートランキングの類を作ろうと思います。きりぼっとさんがランキング形式を廃止をしたので。ブースターさんももう生き返らないので……|
|![メグ]|それって、複雑なコードを書きそうになるけど大丈夫なの～？|
|![チノ]|さすがにこの時期はラビットハウスの方が忙しくて、そこまで完成に持っていけないですね……でも後々実装させていこうかなと思います。（本当は実装する様子を記事にしたかったです……）|
|![メグ]|ちなみにももなちゃんにもフルネームってあるのかな？|
|![チノ]|**「小鳥遊ももな」**ですね。|
こちらが完成されたビジュアルです☕
![なう子](https://friends.nico/media/p2gvEcxwoiDgsxaWt50)

|キャラ|セリフ|
|:-:|:-:|
|![チノ]|ということで
ラビットハウスに居候させてるボカロＰのクリスマスタイムを奪ってまで作った
イラストがご用意できました。こんな感じの可愛いテイストになりました。|
|![メグ]|わ～素敵～✿|
|![マヤ]|**胸が成長してやがる……**|
###最後に初トゥートを決める。
![設定](https://friends.nico/media/DjKsJj_j3aXnEq-xNwA)

|キャラ|セリフ|
|:-:|:-:|
|![チノ]|Bioに長過ぎない程度で概要を入れて……完璧ですね。|
|![チノ]|あとは挨拶の初トゥートですね。|
|![メグ]|わくわくしてくるね～|
|![マヤ]|全力でニコ爆して囲んでやるぞー！！|
|![チノ]|新規さんが混乱しますよ（素）|
|![チノ]|印象は大切なので、どんな人か簡潔に……はい。|
![初トゥート](https://friends.nico/media/1CzbkrWgV7cvxyGrg1Y)

|キャラ|セリフ|
|:-:|:-:|
|![チノ]|初トゥート決まりましたね。|
|![マヤ]|たくさんニコられてる！！|
|![メグ]|わ～、夜10時だとタイムラインが早くて追いつけないよ～（汗）|
|![チノ]|スクショ取ってまとめておきましたよ☕|
![レスポンス](https://friends.nico/media/s061xAaY6NzNAVHArgQ)
※いくつかのトゥートをお借りしてスクショして編集させていただきました。

|キャラ|セリフ|
|:-:|:-:|
|![メグ]|わ～すご～い！！|
|![マヤ]|なんて暖かいんだ！！|
|![チノ]|時間帯ごとに色んなタイプの人がいるので、自分が一番活発する時間帯に挨拶するのも良いかもしれませんね。|
![レスポンス](https://friends.nico/media/tDvDsgJ6CvYfUdAx88Q)

|キャラ|セリフ|
|:-:|:-:|
|![チノ]|ももなさん……友達に対して呼び捨てなんですか……|
|![メグ]|あははははは～～✿|
|![マヤ]|なう子！！よろしくな！！|

#終わりに
|キャラ|セリフ|
|:-:|:-:|
|![チノ]|ニコフレが生まれて20ヶ月も経ちましたが、その歴史がある分、いろんなことが変わり、環境も変わり、人々も変わっていきます……|
|![マヤ]|チノが急に物思いな事を言いだした！|
|![チノ]|でもそんな中で、変わらずにいてくれる、安心するような存在って必要と思いませんか？|
|![メグ]|なんか深いこと言うね～|
|![チノ]|その一つがBotという手段で、文化を退化させない大事な部分だと私は思います。|
|![チノ]|長い月日から暫く離れて返ってきても、「久しぶりー」なんて言える、そんな優しい気持ちは残していきたいじゃないですか。昔ながらの人、久しぶりに帰ってきた人、興味持って来てくれた新しい人、他のインスタンスから引越してくれた人……みなさんがみなさん、大事な存在なんですよ。|
|![マヤ]|でもチノさぁ、**アカウント消してからまた新しく作って帰ってきたやつには容赦ないよね！**|
|![チノ]|**当たり前じゃないですか。私の思い出のブーストしたトゥートを奪ってまで削除して鯖にものすごく負担をかけている癖に、何食わぬ顔で戻ってきたら許しませんよ。**|
|![メグ]|**(｡>﹏<｡)ち、チノちゃんが無慈悲だよ～～**|
|![マヤ]|消すのも自由じゃないかコノヤロー！！<br>それでも挨拶部の人間かー！！|
|![チノ]|私がいなくても変わりに挨拶してくれる方はたくさんいます……無理して交流するキャパが限界に来たら仕方がないのです……無理なところは誰かがカバーをしてくれる……それがきっと支え合いです……|
|![メグ]|運営のみなさんもユーザーとして楽しんでるもんね～<br>**みんながみんな仲良くってのは難しいけれど、もっとニコフレが楽しくなるようなSNSになれたらいいな～✿**|
|![マヤ]|メグがおいしいかんじにまとめちゃったー！|
|![チノ]|メグさんらしいですね。<br>無事に素敵なプレゼントという名の記事を送れたたところで、[nico.friends Advent Calendar 2018](https://adventar.org/calendars/3231)を締めさせていただきます。<br>れいとっぽさん、この場のご提供ありがとうございました。|
|![チノ]|今年もあと一週間ですが、素敵なクリスマスを送りながらMastodonライフをお楽しみください。<br>またのお越しをお待ちしております☕|
###おまけ
[去年のニコフレアドベントカレンダーに書いた記事はこちら](https://qiita.com/Chino_Kafuu/private/d4c6b293a665b4594662)
![メリークリスマス！](https://friends.nico/media/v3Fo8do-EAlw44g-9lA)
**後々追記でランキングBotのコードを記載いたします。**