概要

rubotyのコマンド(チャット)で変数を扱うための ruboty-variable というプラグインを作りました。
単体だとあまり意味ないです。他のプラグインと連携できたらいいなと考えています。
GitHubのリポジトリは こちら から。

ruboty 自体に関しては、
Ruboty って何?どうやって動かすの? Hubot と何が違うの?どっちを使えばいいの? #ruboty #chatops – Qiita
等を参照してください。

コマンド

コマンド パターン 概要
set_value /var set (?\<key>\S+?) (?\<value>\S+?)\z/ 変数を初期化します
get_value /var get (?\<key>\S+?)\z/ 変数に格納されている値を表示します
delete_value /var delete (?\<key>\S+?)\z/ 変数を削除します
list_values /var list\z/ 定義済みの変数一覧を表示します
array_init /var array init (?\<key>\S+?)\z/ 空配列を宣言します
array_push /var array push (?\<key>\S+?) (?\<values>.+?)\z/ 配列に値を格納します
array_remove /var array remove (?\<key>\S+?) (?\<values>.+?)\z/ 配列から値を削除します

使い方

set_value

変数名(key)と初期値(value)を指定して変数を初期化します。
既に宣言済みの変数名の場合は上書きします。

> ruboty var hoge 3
Set 3 to hoge
> ruboty var hoge 3
Set 3 to hoge

get_value

指定した変数の値を表示します。

> ruboty var hoge 3
Set 3 to hoge

> ruboty var get hoge
3

delete_value

指定した変数を削除します。

> ruboty var set hoge 3
Set 3 to hoge

> ruboty var delete hoge
Deleted hoge

list_values

定義済みの変数一覧を表示します

> ruboty var set hoge 3
Set 3 to hoge

> ruboty var set piyo piyo_value
Set piyo_value to piyo

> ruboty var list
key    type     value
hoge - string - 3
piyo - string - piyo_value

array_init

空配列を宣言します。

> ruboty var array init ary
Created ary empty array

> ruboty var list
key   type    value
ary - array - []

array_push

配列に値を格納します。
格納する値は同時にいくつも指定できます。
ただし、重複する値は格納できません。

> ruboty var array init ary
Created ary empty array

> ruboty var array push ary one
Push one to ary

> ruboty var array push ary two three
Push two to ary
Push three to ary

> ruboty var list
key   type    value
ary - array - ["one", "two", "three"]

array_remove

配列から値を削除します。
削除する値は同時にいくつも指定できます。

> ruboty var array init ary
Created ary empty array

> ruboty var array push one two three
Undefined one

> ruboty var array push ary one two three
Push one to ary
Push two to ary
Push three to ary

> ruboty var array remove ary one two
Remove one from ary
Remove two from ary

> ruboty var list
key   type    value
ary - array - ["three"]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください