Skip to content

Instantly share code, notes, and snippets.

@toshia
Created May 12, 2014 08:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save toshia/fec75697b251fcba7b52 to your computer and use it in GitHub Desktop.
Save toshia/fec75697b251fcba7b52 to your computer and use it in GitHub Desktop.
DropBox遺跡から出土した謎の古代プラグイン
=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