Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tateisu/lilil

IRC,Slack,Matrixの間でメッセージを相互にリレーするボット。
https://github.com/tateisu/lilil

Last synced: about 2 months ago
JSON representation

IRC,Slack,Matrixの間でメッセージを相互にリレーするボット。

Awesome Lists containing this project

README

        

# lilil (旧名 perl-irc-slack-relay-bot)
IRC, Slack, Matrix などのチャットサービス間で、botアカウントを使ってメッセージを相互にリレーします。

# 挙動のクセなど
- 複数の接続・チャンネルを扱えます
- IRCの発言は最大15秒待機して、複数の発言を1メッセージにまとめてからSlackに送ります
- IRCのNOTICEメッセージをリレーするかどうかは config.plで選択可能です。
- Slackからのメッセージの取得にはWebSocketのRTM APIを使っています。一部のプロキシ下など、WebSocketが使えない環境では動作しません。

# 依存関係

```
perl 5.22

$ perl -MModule::Version -e 'for(@ARGV){$v=Module::Version::get_version($_);print"$_ $v\n"}' AnyEvent AnyEvent::HTTP AnyEvent::WebSocket::Client Attribute::Constant Data::Dump HTML::Entities JSON::XS LWP::UserAgent URI::Escape

AnyEvent 7.14
AnyEvent::HTTP 2.23
AnyEvent::WebSocket::Client 0.53
Attribute::Constant 1.01
Data::Dump 1.23
HTML::Entities 3.69
JSON::XS 3.04
LWP::UserAgent 6.31
URI::Escape 3.31
```

### 使い方

事前にSlackのWebサイトでbotを作成してアクセストークン、ボット名、参加させたいチャンネルをメモしておきます。
事前にMatrixでbot用のアカウントを作成して以下略。

設定サンプルをコピー
`cp config.pl.sample config.pl `

設定ファイルを他人が読めないようにする
`chmod 600 config.pl`

接続設定を編集します
`emacs config.pl`

スクリプトに実行権限を付与します
`chmod +x ./start ./hup lilil.pl`

起動コマンドを実行します
`./start`