Ruby/Tkで作ったMastodonクライアント:Legion

はじめに

この記事は、Mastodon Advent Calendar 2018 の4日目の記事になります

qiita.com

 

RubyTkで制作したMastodonクライアント「Legion」について紹介します。

 

Legionって?

プログラミング言語RubyとTkというGUI開発のツールキットを使って作られたMastodonクライアントです。

 

github.com

 

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 の紹介です