はじめに
この記事は、Mastodon Advent Calendar 2018 の4日目の記事になります
RubyTkで制作したMastodonクライアント「Legion」について紹介します。
Legionって?
プログラミング言語RubyとTkというGUI開発のツールキットを使って作られたMastodonクライアントです。
Toot(公開範囲も設定可能)、ホームタイムライン、ローカルタイムライン、連合タイムラインなどに対応しています。
画像の投稿なども対応しており、NSFWやCWも可能です。
画像の表示関連は実装できておらず、そのあたりに課題が残っています。
それとSSL証明書を導入する必要もあったり……
.envにインスタンスのURLとアクセストークンをカンマ区切りで渡すことでマルチポスト/マルチアカウントにも対応しています。
あと、地味にMacでの対応もできていたり……(その辺は、のえるさんが確認してくださいました!誠にありがとうございます!)
この間、るびま(Rubyist Magazine)にLegionが載りました!
RegionalRubyKaigi レポート (68) 松江 Ruby 会議 09
インストール方法
gemとして公開してあるので、以下のコマンドで導入できます。
gem install legion_mastodon_client
あとは、legion.rbとGemfile、.envを作成し以下のように記述します。
# legion.rb
require 'bundler/setup' Bundler.require(:default) require 'legion' Legion.exec
# Gemfile
source "https://rubygems.org" gem 'legion_mastodon_client', '~> 0.1.1' gem 'mastodon-api', git: 'https://github.com/tootsuite/mastodon-api.git', ref: '189deb8' gem 'dotenv' gem "highline" gem 'nokogiri' gem 'rmagick' gem 'parallel'
# .env
MASTODON_URL=<インスタンスのURL> MASTODON_TOKEN=<インスタンスで発行したアクセストークン>
あとは、bundle install して以下のコマンドを実行すればLegionを使用できます。
ruby legion.rb
おわりに
今後はGTKなどへ移行し、UIをもうちょい良いものにしたいと思いますねー
明日は、Mastodon User Follow Suggestion の紹介です