Mastodonのmaster追従ができなかったので修正した話

はじめに

この記事は、さくらのクラウドでスタートアップスクリプトを使用してMastodonインスタンスを設置した人向けのTipsです

 

knowledge.sakura.ad.jp

 

経緯

いつものようにmaster追従しようと思い、やっていたらエラーを吐かれたのが事の発端

 

どうもGLIBCXX_3.4.20がないことでcld3周りでエラーが発生していると判明

 

で、GLIBCXX_3.4.20をインストールしようと調べていたら、CentOSではGLIBCXX_3.4.20はサポートされていない模様

 

「やれこまったな」と思いながら、何とかした

 

やったこと

 

自力でGLIBCXX_3.4.20をインストールしたり、鯖を移管するなどの方法あったけど面倒くさかった

そこでzundanさんに教えていただいた方法で対処することにした

 

mastodon.zunda.ninja

 

簡単に言うとcld3とidn-rubyMastodonソースコードから取り除くことで、そもそもエラーになっているcld3を使わないという方法

 

変更した差分は下記を参照されたし

 

github.com

 

結果

とりあえず、master追従できた

 

今後の課題

とりあえず、さくらのスタートアップスクリプトインスタンスを構築したところはv2.7.0へとアップデートする際にこの問題に遭遇する可能性があるかもしれない(CentOSがGLIBCXX_3.4.20をサポートしてくれればOKなんだけどね……)

 

 

 

AmazonDashボタンでMastodonインスタンスを爆破できるようにした

はじめに

AmazonDashボタンで「にゃーん」って呟けるようにしたときのアレコレをもとに、Mastodonインスタンススナック感覚で爆破できないか試したものになります

 

gamelinks007.hatenablog.com

 

なお、記事を参考にして実際に爆破するかは自己責任にてお願い致します

 

つくったもの

こちらになります

 

くれぐれも自己責任にてご使用ください

 

github.com

 

使い方など

リポジトリのREADMEかこちらの記事を参考にしてください

 

gamelinks007.hatenablog.com

 

あと、環境に合わせてシェルを書き換えてください

 

おわりに

かなり気軽にインスタンスを爆破できるので正直恐ろしい……

 

投稿される画像をチェックするBotを作った

 

はじめに

Mastodonのローカルタイムラインに投稿される画像をチェックしてくれるBotを作ってみた話

 

作った背景

自動NSFWを実装したことで、自動的に不適切と判断された画像にNSFWをつけることができるようになっていた

 

けど、如何せん処理が重かったり、NSFWでもない画像にNSFWつけたりと問題があった

 

投稿されている画像をチェックして「NSFWをつけてください」とメンションを送るBotなら処理の重さも気にならないだろうということで作った感じ

 

作ったBot

 

作ったBotはこちら

 

gamelinks007.net

 

ソースコードはこちらになります

 

github.com

 

Botの運用に関してはHerokuを使用させていただいた

 

jp.heroku.com

 

やったこと

mastodon-api を使用してローカルタイムラインのTootを拾うようにした

 

github.com

 

で、Tootに画像が含まれている場合はその画像へのアドレスを受け取ってGoogle Cloud Vision API でNSFWな画像かどうかを判断させている

 

その辺のアレコレは自動NSFWを実装した時の経験をもとにしているね

 

qiita.com

 

現状

NSFWがついている画像に関しても「NSFWをつけてください」とメンションを送っているのが今後の課題かなと

 

その辺は、今後mastodon-apiを弄りつつ改修していこうと思う

 

 

 

SHIMANE GREEN JAM #4 でQR決済アプリを作った時の話をしてきた

 

はじめに

年末にSHIMANE GREEN JAM #4 に参加してきたー

 

これはその時感じたアレコレをまとめたものです

 

SHIMANE GREEN JAMとは?

SHIMANE GREEN JAM とは島根県内の若手の活動を盛り上げるためにLTとかで発表する場イベントになります

sgj.connpass.com

 

傾向としてはIT関係のLTが比較的多めな感じがしたかな?(そもそも参加されている人たちがIT企業勤めだったり)

 

今回初参加だったんだけど、こうして同年代くらいのエンジニアの話を聞けたりするのは非常に楽しかった

 

具体的なLTの内容としては、自作キーボードの話だったり、LTの分類の話だったりとユニークな感じ

 

どちらかというと緩めな感じがして話しやすいなぁと感じたね(まあ、聞いてる内容をあれこれ考えてたのであんまり参加者の人らとはなせなかったんだけども……)

 

話した内容

QRコードで決済できるアプリをRailsで作った時のことを話したー

 

実際のスライドはこちら

 

speakerdeck.com

 

 

なお、実際に作ったものはこちらになります

github.com

github.com

全体的に緩めな感じだったので、一人だけガチガチな感じになってしまい、申し訳なさが……

 

PAYPAYとかの話題も絡んで反応は良い感じだったのでうれしかったね

 

おわりに

 

SHIMANE GREEN JAMは今後も開催されるそうなので、僕としても参加していきたいね

生存報告などを自動的にMastodonへとTootしてくれるようにしてみた

はじめに

この記事は、Mastodon Advent Calendar 2018 の最終日の記事です

 

qiita.com

 

バイタルなどをチェックして生存情報などをMastodonへと転送できるようになるTipsです

 

つくったもの

Fit Bit Charge3 と IFTTT と Webhook を組み合わせて、「鯖缶が生きているかどうか?」「鯖缶が何をしているか?」などをMastodonへとTootできるようにしました

 

f:id:gamelinks007:20181209220551p:plain

実際のTootしている風景

 

その他、入眠時には「眠りに落ちました」といった形でTootするようにしています

 

やったこと

Mastodon

アクセストークンの発行を行いました

 

Fit Bit Charge 3

近場の電気屋Amazonなどで Fit Bit Charge 3を買います

 

ちなみにAmazonではこちらから

https://www.amazon.co.jp/dp/B07HPKWGJH

 

僕は、ビックカメラで買いました

 

あとは、Fit Bit Charge 3を動くように設定するだけ(アカウントの作成とか)

 

IFTTT

まず、IFTTTにアクセスします

ifttt.com

 

「MyApplets」→「New Applet」の順にクリック

f:id:gamelinks007:20181209221548p:plain

 

f:id:gamelinks007:20181209221708p:plain

 

はじめの「this」には「Fitbit」を選ぶ

 

f:id:gamelinks007:20181209221918p:plain

f:id:gamelinks007:20181209222040p:plain

 

で、「Daily activity summary」を選択

 

f:id:gamelinks007:20181209222225p:plain

 

次に、「that」 に「Webhook」を選択

 

f:id:gamelinks007:20181209222339p:plain

f:id:gamelinks007:20181209222418p:plain

 

で、「Make a web request」を選択

 

f:id:gamelinks007:20181209222605p:plain

 

以下のような画面が表示されます

 

f:id:gamelinks007:20181209222706p:plain

 

URLには

 

https://<インスタンスのURL>/api/v1/statuses

 

Method は 「POST」

 

Content Type は 「applicaton/x-www-form-urlencoded」

 

Body に「access_token=<取得したアクセストークン>&status=今日もCreatodonの鯖缶は生きています&visibility=public」

 

入力後、「Create Action」を押す

 

最後に、アプリ名に「Watch Me」とか入力して「Finish」を押せばOK

 

つくってみて

意外と簡単にできたなぁという印象

あと、忙しい時の生存報告とか自動化できるので楽かなぁと思う

 

鯖缶の方で興味ある方は試されてはいかがだろうか?

 

MastodonInstanceBoosterを作ってみた

はじめに

この記事は、Mastodon Advent Calendar 2018 の21日目の記事です

 

qiita.com

 

#インスタンス紹介というハッシュタグを検知し、ブーストするBotを作った話になります

 

作ったもの

Mastodon Instance Booster という#インスタンス紹介を拡散するBotを作成しました

 

gamelinks007.net

 

ソースコードはこちら

github.com

 

やったこと

やったことといっても大したことはしていない

 

これを作る少し前に作ったCreative BoosterをForkして拡散するハッシュタグを #インスタンス紹介 に変更しただけ

 

Creative Boosterに関しては下記の記事が詳しい

gamelinks007.hatenablog.com

 

作ってみて

Creative Boosterをもとに作ったのでそんなに手間はかからなかったねー

 

あと、意外と知らなかったインスタンスとかが見つかるようになったり、Creatodonの連合先が増えたりしたのは良かった

 

今後は、DBにインスタンスのURLなどを把握して、そこからさらに再帰的にインスタンスをチェックしていく仕組みを組み込んでみようかと思う

 

 

食べたところを記録できるEatMapperを作ってみた話

はじめに

この記事は、Mastodon Advent Calendar 2018 の20日目の記事です

 

qiita.com

 

作ったもの

食べたお店の写真(スマホなどでの)をアップロードするとお店の位置情報などを自動的に認識して登録してくれるアプリです

https://eat-mapper.herokuapp.com/

 

一応、Mastodonでログインできるようになっています(Pleromaとかも動くかも……?)

 

なお、ソースコードは以下

 

github.com

 

やったこと

exifrでの位置情報取得

exifrを使い、アップロードされた画像内の位置情報を取得するようにしています

github.com

 

gmap4railsでMap表示

取得した位置情報を使い、gmap4railsでMap表示を実装

github.com

 

carrierwaveでの画像アップロード

Rails界隈ではよくつかわれるcarrierwaveを使い、画像のアップロードを実装

 

github.com

 

kaminariでのページネーション

これまたRails界隈では良く使われるkaminariを使い、ページネーションを実装

github.com

 

mastodonでのログイン

あとはいつも通りにMastodonでのログインを実装

qiita.com

 

今後の展望

まだMastodonへのシェア機能とかが不十分な状況なのでその辺の改修をしたいかなぁ

 

あと、Pleromaなどの分散SNSへの対応もしていきたいなぁと思う