Skip to content

owlworks/slack-ruby-eval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RubyEvalBot

enter image description here

Description

RubyEvalBotはSlackでrubyのスニペットが投稿されたとき、安全に評価して標準出力を教えてくれるbotです。あなたがslackで仲間たちにちょっとしたショートコードを共有した際にどんな結果を得るかを実際の実行結果で示してくれます。

またコードの評価はセーフレベル1で実行され、処理時間は秒数制限されているため時間のかかる処理やコマンドラインの実行など危険なコードを避けてくれます。

[Warn] 評価の安全性は完全ではありませんし、悪意と技術があれば簡単に悪用可能です。参加者が限定されているクローズなSlackでの利用を想定しています。

Usage

もっとも簡単な形ではnohupでバックグラウンドジョブとして起動することで実行可能です。

$ git clone https://github.com/owlworks/slack-ruby-eval.git
$ cd ./slack-ruby-eval
$ bundle install
# config.ymlのslack.tokenを編集するか、環境変数ENV['SLACK_TOKEN']にボットアカウントのアクセストークンを設定して下さい
$ nohup eval_ruby.rb &

もちろんgodなどのプロセス管理ツールを利用するのも素晴らしいアイディアですね。

Details

  • コードを評価するためにはbotが参加しているチャットへ、言語をrubyに指定したスニペットが共有される必要があります
  • セーフレベル1で実行されない処理、およびFileやIOなど一部のメソッド呼び出しは利用できません
  • 完了に数秒以上かかるようなコードについても同様です
  • また長過ぎる標準出力については自動的に破棄あるいは省略されます

Enjoy slack.

About

Slack上でrubyのスニペットが投稿されるとボットが安全に評価して標準出力を教えてくれる。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages