-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathantinpo.rb
83 lines (68 loc) · 2.28 KB
/
antinpo.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Plugin.create(:antinpo) do
DEFINED_TIME = Time.new.freeze
exptmp = nil
checktmp = nil
def delaytweet(m,tweet,hatenaLength)
m.message.favorite(true)
Reserver.new((tweet.size)/2){
Service.primary.post(:message => "#{"@" + m.user.idname + ' ' + tweet + "?"*rand(hatenaLength)}", :replyto => m)
}
end
def tinpoConverter(m)
exptmp = m.message.to_show()
# @screen_nameを弾く
exptmp = exptmp.gsub(/@[0-9a-zA-Z_]+[\s ]*/, '')
# 空の()を弾く
exptmp = exptmp.gsub(/[\((][\))]/,'')
exptmp = exptmp.gsub(/(https?|ftp):\/\/[\/A-Za-z0-9\.\p{blank}]*/,'')
#ほんと誰かいい方法考えて
exptmp.gsub! /ティ/, "ナァ"
exptmp.gsub! /てぃ/, "なぁ"
exptmp.tr! "ちチチㄘぽポ", "なナナナでデ"
exptmp.gsub! /ポゥ/, "デェ"
exptmp.gsub! /ポ/,"デ"
# 間の空白の対応をスマートに実装できるヒトはなんとかしてあげてください
exptmp.tr! "ctinpoCTINPOctinpo", "nnandeNNANDEnnande"
exptmp.gsub! /[hHh]/, ""
exptmp.tr! "!!", "??"
return exptmp
end
def omaenakataka?(m)
if m.message.to_me?()
if !m.message.from_me?()
return true
end
end
return false
end
def zenngi(m)
exptmp = m.message.to_show()
# @screen_nameを弾く
exptmp = exptmp.gsub(/@[0-9a-zA-Z_]+[\s ]*/, '')
# 空の()を弾く
exptmp = exptmp.gsub(/[\((][\))]/,'')
exptmp = exptmp.gsub(/(https?|ftp):\/\/[\/A-Za-z0-9\.\p{blank}]*/,'')
exptmp = exptmp.gsub(/\p{blank}+?/,'')
return exptmp
end
def tinpoCheck(m,str)
if str !~ /チンポモ|ちんぽも|ブリ|リュリュリュ|ブツ|チチ|ミリ|ブ|([うおあuoaioOIAU]){5,}?|[!!]{10,}/ and
str =~ /[ㄘちんぽチンポチンポ]{3,}|[TINMPOtcinmpotcinmpo]{4,}|(チン|ちん|チン|てぃ|ティ)([^でデデ]+)/ and m[:created] > DEFINED_TIME and !m.retweet? and m.message.to_s !~ /[\((]@karubabu[\))]/ then
return true
end
return false
end
on_appear do |ms|
ms.each do |m|
if omaenakataka?(m)
#ちんぽチェック前の整形実質前戯でしょ
checktmp = zenngi(m)
# ブチミリ系ではなく かつ ちんぽ系である
if tinpoCheck(m,checktmp)
tweet = tinpoConverter(m)
delaytweet(m,tweet,8)
end
end
end
end
end