hubot-remind-at という remind.coffee 的なものを書いた

hubot-scripts には remind.coffee という hubot 経由で指定の時間後に mention をくれるというものがある。

これは hubot remind me in 5 minutes to wakeup のように x 時間後という指定をする。 ただ、mention が欲しい時間が特定の時間だったりすると計算するのがめんどくさいという問題が何度かあった。なので特定の時間がしやすいものが欲しかった。

そう思っているところで Chrono という javascript自然言語の時間を parse するものを見つけたのでそれを利用した hubot-remind-at というものを書いた。

soh335/hubot-remind-at · GitHub

hubot-remind-at

利用方法は以下のように remind.coffee とほぼ変わらず in としていたところを at とする。

hubot remind me at tomorrow 07:00 to wakeup

bittorent sync を使い、 debug ログを見る

vps, irc を整理した - @soh335 memo

で、weechat を使っているが、weechat の設定は起動中に書き変わっていくため ansible みたいなツールとは相性が悪い。

しょうがないので bittorent sync を使い手元のマシンと定期的に同期させておくことにした。(常に同期すると変更通知が多くて気が散る)

BitTorrent Sync

問題が発生した場合

同期出来ないファイルがあったなど問題が発生した場合はログなどで確認したいが、デフォルトでは表示出来ない。また config ファイルからも verbose, debug みたいなオプションがない。なので

If You Have Sync Issue - Sync Troubleshooting - BitTorrent Forums の通り、config の storage_path で指定してるディレクトリに debug.txt というファイルを作りそこへ FFFF と書き込む。そうすると詳細なログが表示されるので、それを見て対処する。

ちなみに同期されないのはディレクトリに実行権限がなかったというありきたりのことだった。

vps, irc を整理した

放置してた sakuravps を解約し、digitalocean にした。 ただ、sakuravps を1月の頭に解約申請を行ったら月額払いになっているので2月末までは契約期間となってしまった。

サービスの解約|さくらインターネット公式サポートサイト

ついでに ansible で管理するようにした。

irc もそんなに気にしなくてよい環境になったので、手元の limechat, vps においてた znc を廃止し、vps の tmux 上に weechat 置くだけにした。

weechat

plugins

  • autojoin.py
    • /set plugins.var.python.autojoin.autosave on とすると終了のタイミングで現在入っている channel を autojoin の設定としてくれる
  • highmon.pl, chanmon.pl
    • window 分割して表示するように
  • buffers.pl
  • go.py
  • pushover.pl

weechat.hook_print

weechat には各 message を hook し操作するために hook_print という関数が用意されている。通知系の plugin ではこれを利用することになるが、version 0.4.2 以下 と 0.4.3 以降で大きく動作が異なっている。

  • tags: catch only messages with these tags (optional):
    • with WeeChat ≥ 0.4.3: comma-separated list of tags that must be in message (logical "or"); it is possible to combine many tags as a logical "and" with separator "+"; wildcard "*" is allowed in tags
    • with WeeChat ≤ 0.4.2: comma-separated list of tags that must all be in message (logical "and")

https://weechat.org/files/doc/stable/weechat_plugin_api.en.html#_weechat_hook_print

各 message には tag がついていて hook_print を呼ぶ際に指定することが出来るが、0.4.2 以下だとカンマ区切りは and となってしまう。

なので 0.4.3 以降に対応した plugin を使うと通知が届かないみたいなことが発生する。

通訳日記

通訳日記 ザックジャパン1397日の記録 (Sports Graphic Number PLUS)

通訳日記 ザックジャパン1397日の記録 (Sports Graphic Number PLUS)

アジアカップもまた始まるし懐かしい