特務機関NERVをDiscordに配信する

店長の日常

人生で一番働いている週、Tマート店長です。

皆様は特務機関NERVというTwitterアカウントをご存知でしょうか。

いやもう知ってるよねURL貼って割愛します。


この特務機関NERV、実はMastodonもやっていることをご存知でしたか?

https://unnerv.jp/@UN_NERV

Twitterでは全国の情報を発信しており、あまり関係のない地域の情報まで流れてきちゃいます。

そのためたくさんの情報が流れてきてちょっとウザいじゃないですか。

そんなときに特務機関NERVのMastodonです。



このNERVMastodon、地域や情報ごとにフィルタされたアカウントが用意されています。

例えば竜巻注意情報でフィルタされてたり、

東京都でフィルタされてたり、、

で、Mastodonってのは、アカウントのURLの後に「.atom」を付けるとフィードが取得できるんです。(できないアカウントも何故かあります)

さっきの東京だとこんな感じ。

東京都 (@Tokyo@unnerv.jp)
14.5K 投稿, 0 フォロー中, 1.84K フォロワー · 東京都の情報を配信します。
このページは要求された形式では利用できません。 - Mastodon


開くとなんか文字だけでしょ?これがフィードです。いわゆるRSSなのかな?詳しいことは知りませんが。






だったらやることは一つ。













取得してDiscordに自動送信しよう











考え方はもはやエンジニアですね。

というわけでGASでつくりました。GASだとサーバーいらないし。

というわけでコピペ用のプログラム・・と言いたいところですが、今回のプログラムはライブラリを使用してますのでそれを導入するところから。

ライブラリを使わない感じに修正したのでトリガー設定まで飛ばして大丈夫です。

正直使用部分はスゴい短いので「そのぐらいライブラリ無しでやれや」ってなると思います。でも面倒くさかったんです()



まずGASで新規プロジェクトを作成しまして、リソースからライブラリへ。

で、Add a libraryに下記の羅列を入力

MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48

そうするとなんか出てくるので、適当に最新バージョンにしましょう。

そして保存。

後はトリガーを1分置きにして前提は終わりです。トリガーについてはもう割愛。



そしてお待ちかねプログラムです。このページで選んで2行目の※1を書き換えてくださいね。

ちなみにこのプログラムは全国版の@UN_NERV以外で動きます。なんか@UN_NERVだとフィードの書き方が違うみたい。

なのでもし「@UN_NERVで使いたい!」って場合は29行目の「var links = 」の行を下記に書き換えてください

var links     = entries[i].getChildren('link', atom)


そんなわけで非常に良い感じになりました。NERV最高。

また今回製作にあたってなおこさんにフィードの見方を丸々教えてくれました。マジで感謝です。ありがとうございました。

コメント

タイトルとURLをコピーしました