atig.rb - Another Twitter Irc Gatewayをつくってみたよ
特徴
- TwitterをIRCクライアントで見れるようにするGatewayです。
- IRCクライアントさえあればいいので、CUIでもGUIでも使えます。
- Rubyで書いたので、大抵のOSで動くと思います。
- Listごとにチャンネルが分かれます。
- OAuth使っています。
- id:cho45さんのGitHub - cho45/net-irc: Ruby IRC library (Client, Server and many IRC gateways to webservice)のコードを流用しています。あざっす。
- ただし、各機能をクラス単位で整理しました。一部の機能の無効化が簡単にできます。http://mzp.github.com/atig/config.html
- 過去の発言をメモリ上でなくSQLiteで保持するようにしました。落ちなくなったはずです。
更新履歴
詳しくはhttp://mzp.github.com/atig/changelog.htmlを見てください。
2010-04-11
- 環境によっては、#twitterのユーザがとれないをバグを修正しました。
- @nickが最新の発言へのreplyになるold_style_replyモードを追加しました。
- tidのほかにsid(short typable id)も使えるようにしました。
コマンドライン引数からランダムに1つ返すコマンド
30分プログラム、その752。コマンドライン引数からランダムに1つ返すコマンドを作ってみました。
作ってから調べてみたら、昔に同じことやってました。サイコロコマンド - コマンドライン引数からランダムに1つ返すコマンド - みずぴー日記。しかも、アルゴリズムも同じでした。進歩してねー。
使い方
$ g++ choice.cxx -Wall -o choice $ ./choice alice bob carol dave alice $ ./choice alice bob carol dave dave $ ./choice alice bob carol dave carol
ソースコード
#include <iostream> template<typename T> T choice(T* xs, int size){ int i = (int)(rand() % size); return xs[i]; } int main(int argc, char* argv[]) { // list xs = new srand((unsigned int)time(0)); std::cout << choice(argv+1, argc-1) << std::endl; return 0; }