Created
May 12, 2014 08:30
-
-
Save toshia/fec75697b251fcba7b52 to your computer and use it in GitHub Desktop.
DropBox遺跡から出土した謎の古代プラグイン
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=begin | |
絶対に使用してはいけません(後述)。 | |
ファイルのタイムスタンプが 2010/12/31 のふぁぼ爆対策プラグインがでてきたので、記録目的で公開します。 | |
== 仕様 | |
ふぁぼられた相手ごとにふぁぼ数をカウントし、3ふぁぼ以上されると、それ以降ふぁぼられる毎に相手に | |
いい加減にしろとリプライを送ります。 | |
ふぁぼカウントは、ふぁぼが3分途切れたらリセットされます。 | |
== mikutter 3.0で動かした場合の不具合 | |
リプライにならないようです。 | |
== 雑感 | |
一番昔の書式で書かれた貴重なプラグインです。 | |
mikutter DSLもなく、Pluginのインスタンスを作成し、Plugin#add_eventでリスナを登録しています。 | |
また、スコープを分断する意味で、必ず無名モジュールで囲むというのが習慣でした。 | |
しかし、これは上記の不具合を除いては、mikutter 3.0でも動作します。いつも互換性を気にしていたので嬉しいです。 | |
願わくば完璧に動いて欲しかったですが、Twitter API 1.0時代のものが動いているので上出来ということにしておきます。 | |
また、3ふぁぼという異常に低い閾値を設定しているということは、ふぁぼがインフレしていなかった当時の時代背景を | |
物語っていると思います。 | |
当時は爆撃しようと思わなければ、3分に3ふぁぼもしなかったのです。 | |
これはこの後閾値を上げたり、リプライがDMになったり、いろいろ改良が施されていきましたが、現在そのログは残っていません。 | |
=end | |
# | |
# fav defender | |
# | |
# ふぁぼを無差別に行う迷惑行為を自動的に諌める | |
# やつらがBOTを使うなら私たちもBOTを使うのは当然である | |
# ふぁぼられた記録は、3分間保持する。 | |
# 保持されている数が3個を超えたら、何回連続でふぁぼったかを通知する | |
Module.new do | |
plugin = Plugin::create(:fav_defender) | |
users = Hash.new{|hash, user| | |
last_time = Time.now | |
count = 0 | |
hash[user] = lambda{|service, time| | |
count += 1 | |
if((time - last_time).abs > 180) | |
count = 1 | |
elsif(count >= 3) | |
service.post(:message => "連続#{count}回目のふぁぼりです!いいかげんにしてください!", | |
:receiver => user) | |
end | |
p "favcount #{user[:idname]} #{count} times" | |
last_time = time | |
} | |
} | |
plugin.add_event(:favorite){ |service, fav_by, message| | |
users[fav_by].call(service, Time.now) | |
} | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment