tig.rbをListsに対応させてみた
追記: 本家にマージされました。GitHub - cho45/net-irc: Ruby IRC library (Client, Server and many IRC gateways to webservice)を使ったほうがいいです。
Listsに対応したtig.rbがあると便利な気がしたので、朝からがんばって改造してみました。
とても充実した休日でした。
やったこと
- 疑似チャンネル機能をListsで置き換えました
- それに併せてjoin・part・invite・kickの挙動も変更しています
- /join: リストの追加
- /part: リストの削除
- /invite: リストへメンバの追加
- /kick: リストからメンバの削除
- リストのTLを直接取得するのではなく、メインのTLから振り分けています
- 直接フォローせずに、リストに追加しているだけの人の発言は見れません
注意点
- 実装したばかりのコードです。たぶんバグがあります
- tig.rbの疑似チャンネル機能をListsで置き換えていますので、今ある疑似チャンネルは消えます
- ratio回りのコードを変更できなかったので、リストの更新間隔は500秒で固定です
TLログ
みずぴー @mzp |
よし、tig.rbをいじくるぞっと #tig(2009-11-15 08:18:06) | link | |
みずぴー @mzp |
lists、APIを大量に発行しそうだなぁ。ListごとにTLを取得したり、follewerの数を取得したりと、結構な数のAPIが必要だ #tig(2009-11-15 08:36:04) | link | |
みずぴー @mzp |
あー、リストごとにTLを取得するようにすると、tidがづれちゃうか。どうしようかなぁ #tig(2009-11-15 09:21:11) | link | |
みずぴー @mzp |
よし、実装が楽なほうでいこう。メインタイムライン中の発言を、各リストに振り分けるよ #tig(2009-11-15 09:22:50) | link | |
みずぴー @mzp |
API制限にひっかかったので、ちょっと休憩 #tig(2009-11-15 10:06:22) | link | |
みずぴー @mzp |
よっしゃー、発言もチャンネルごとに振り分けれるようになったぜ #tig(2009-11-15 10:36:33) | link | |
みずぴー @mzp |
あとは、joinとかinviteとかのコマンドに対応させないといけないのか #tig(2009-11-15 10:44:20) | link | |
みずぴー @mzp |
よし、コマンドをいっこづつ片づけていくぜ #tig(2009-11-15 12:34:10) | link | |
みずぴー @mzp |
whoコマンド対応! #tig(2009-11-15 12:39:45) | link | |
みずぴー @mzp |
おー、リストって名前が重複してもエラーになんないのか。むずい #tig(2009-11-15 13:29:04) | link | |
みずぴー @mzp |
partに対応したかも #tig(2009-11-15 13:52:37) | link | |
みずぴー @mzp |
listsのAPI、ほかのAPIとはかなり違うので、別の人が設計したか、今後はこのスタイルに切り替えるかのどっちかだと思う #tig(2009-11-15 15:53:37) | link | |
みずぴー @mzp |
inviteもできた気がする #tig(2009-11-15 16:04:40) | link | |
みずぴー @mzp |
うし、でけた。なかなかいい調子だぞ #tig(2009-11-15 16:07:29) | link | |
みずぴー @mzp |
kickできるようにした #tig(2009-11-15 16:19:09) | link |