-
Notifications
You must be signed in to change notification settings - Fork 1
/
bot.js
213 lines (201 loc) · 8.05 KB
/
bot.js
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
const woot = () => {
$(".btn-like")[0].click()
}
const sendSongStartMessage = () => sendChat(getSongStartMessage())
const getSongStartMessage = () => {
let messages
if (Math.random() < 70/100) { // 70% Common
messages = MESSAGES_COMMON
} else if (Math.random() < 15/30) { // 15% Uncommon
messages = MESSAGES_UNCOMMON
} else { // 15% Rare
messages = MESSAGES_RARE
}
return sample(messages)
}
const sendUserJoinMessage = (user) => sendChat("Welcome to " + getRoomName(), user)
const getRoomName = () => (Math.random() < 1/10)
? sample(ROOM_NAMES)
: "Hitler & The AIDS, Live!!"
const sendChat = (messages, user) => {
messages = isArray(messages) ? messages : [messages]
messages.forEach((message, i) => {
if (typeof user === "object") {
message = "@" + user.username + " " + message
}
const text = processMessage(message)
const sendDelay = i * 1050
setTimeout(() => API.sendChat(text), sendDelay)
})
}
const processMessage = (text) => {
const song = API.getMedia()
return text
.replace(/{{artist}}/g, song.author)
.replace(/{{artist_lower}}/g, song.author.toLowerCase())
.replace(/{{artist_no_spaces}}/g, song.author.toLowerCase().replace(/ /g, ""))
.replace(/{{artist_upper}}/g, song.author.toUpperCase())
.replace(/{{country}}/g, sample(COUNTRIES))
.replace(/{{country_lower}}/g, sample(COUNTRIES).toLowerCase())
.replace(/{{country_upper}}/g, sample(COUNTRIES).toUpperCase())
.replace(/{{dubstep}}/g, sample(DUBSTEP))
.replace(/{{genre}}/g, sample(GENRES))
.replace(/{{title}}/g, song.title)
.replace(/{{title_lower}}/g, song.title.toLowerCase())
.replace(/{{title_no_spaces}}/g, song.title.toLowerCase().replace(/ /g, ""))
.replace(/{{title_upper}}/g, song.title.toUpperCase())
.replace(/{{year}}/g, "2020")
}
const sample = (array) => array[ Math.floor(Math.random() * array.length) ]
const isArray = (someVar) => (Object.prototype.toString.call( someVar ) === '[object Array]')
const MESSAGES_COMMON = [
"here we go rock out",
"here we go guys",
"here is a good video",
"here is a great song",
"here we go everyone",
"hell yeahh",
]
const MESSAGES_UNCOMMON = [
"GREAT SONG",
"you guys always ROCK",
"AWESOME SONG",
"motley crue",
"HERE WE GO SOME DR FEEL GOOD!!!!!.....LETS ROCK !",
"HERE WE GO SOME {{artist_upper}}!!!!!.....LETS ROCK !",
"HERE WE GO !!!..GOTTA LOVE PARTYS",
"The sweet groovy little thing ....",
"Dancing masterpieces...beautiful memories",
"{{year}} ,who still play this....Me",
"SO POWERFUL! ..enjoy THE MUSIC, freeeeeeeeee your MIND! :)",
]
const MESSAGES_RARE = [
"saddle up, pardner, you are about to hear a good song",
"to be perfectly honest, i'm not into this next one all that much",
"fucking piece of my dick.....",
"listen, i know the start of this track is gay, but bear with me, just wait for the drop, it's worth it",
"in a way, {{artist_lower}}s songs are all sad, because they all have an ending",
"thanks for 1mil views! {{artist_lower}} ftw",
"omgomgom i cna't beliee ppl are liking this song",
"{{artist_lower}} are alright..... but not as good as type o negative",
"{{artist_lower}} were such a great band, r.i.p. kurt kobain >:",
"a steampunk fantasy based on the new {{artist_lower}} album",
"look here you dumb slut. don't you ever say {{artist_lower}} is for fags and losers. {{artist_lower}} is legendary. they created and change what we call music.",
"{{artist_lower}} is for fags, the beatles arn't for fags!!! got it!!!",
"I feel like too many people these days only take {{artist}} for face value, only know their radio hits, and just haven't dug into this band nearly as much as I have.",
"Come To {{country}}!!!!!!",
"I LOVE YOUR MUSIC ,,,,,,,,,I WAS IN MY 20S .....WHEN I STAYED UP ALNIGHT ---))",
[ "I'm on the phone wit the CEO of iTunes he's telling me {{artist_lower}} #{{title_no_spaces}} only been on iTunes for 1hour and u selling like crazy my staff is telling me the server is about to shut down", "I gave the ok to add the most powerful servers to handle this #{{title_no_spaces}} congrats looks like more plaks for U {{artist_lower}} #sufferingfromsuccess" ],
"in 1991 year my town is completly destroyed in war butt in my basemant alweys play {{artist_lower}}",
"turn up you're speakers for this next one :troll:",
"{{artist_upper}} GREATEST HITS!!! BEST SONGS OF {{artist_upper}} !!",
["1987,I was left in a deep,deep coma with massive brain damage.After three months in my coma,doctors said they were going to turn my life support off !!!", "After {{artist}}s music was played beside my Hospital Bed,my vital signs improved and I was left turned on..", "After thirty years of hell going through a massive recovery I am so happy to listen to {{artist}}s music with a new outlook on life.Thanking you dear {{artist}} ,your music helpped to save my life."],
"Here I am back in 1975 ,in my red Trans am ,windows open, radio wide open playing {{artist}} ,cruising the highway ,and feeling the wind on my face ,makes me young again",
"I PLAY {{artist_upper}} WAY LOUD IN MY JEEP, YOU CAN HEAR ME COMING UP THRE BLOCK!!!!",
"I chose {{title}} to Karaoke tonight at DBar in Dorchester, Ma. The joint was jumpin' for my birthday!¡!",
["{{title_lower}} is the type of song I want playing when I win lottery sitting in a bathtub filled with fruit cocktail juice, sliced fruit, and champagne,", "while surrounded by Brazilian supermodels drinking champagne off their titties while getting bathed in fruit cocktail juice and champagne"],
"THIS SONG BRINGS ME MANY MEMORIES OF MY ADOLESCENCE ... VERY GOOD THE SONG ...",
"THIS WOULD BE MY ENTRANCE MUSIC IF I WAS A WRESTLER.",
"Unfortunetlly, we wont gone listen somethings like this in this days. The music of today dosent have have that \"thing\" to fill you whit joy and makes you fill alive and crack the walls whit volum to the max !!",
"I found this by typing \"italo disco\". thank you youtube ai for being the best ai",
"The lady in this video is sexy beautiful! :hearts::heart_eyes::kissing_heart::thumbsup:",
]
const ROOM_NAMES = [
"★Anime Games Music★",
"███►Anime Music Music {{country}}◄███",
"★Brazil Eletro Music ★",
"♪ K-Pop Fans {{country}} ♪",
"██►Dubstep For Your Nipples◄██",
"Deathcore / Metalcore / Hardcore",
"Drum & Bass (NoDrumstep)",
"Electro {{country}}",
"ϟ Electro, Dυbรтєρ & Techno ϟ",
"FiM: Your daily ponies",
"HilterとAIDS",
"I ♥ the 90's and 00's",
"Just a chill room...",
"Monstercat + Tasty = #Tastycat",
"♫Music Nation™♫ #AnyGenre!",
"♥ ☆ Nightcore ☆ ♥",
"/r/music",
"Rock, Animes & Dubstep",
"Rock Wins",
"♪ϟ☆ Self-Help Audiobooks Den ☆ϟ♪",
"The Bone Garden",
"THE HATALLUMINATI",
"♫ The Weather Channel ウェザーチャンネル",
"[T]rance [H]ouse [C]hill",
"Video Game Music [+--oo]",
"高登音樂台",
"{{artist}} 24/7",
"{{artist}} VEVO",
"★{{country}} {{genre}} Community★",
"{{dubstep}} 24/7",
"{{genre}} 24/7",
"ϟ {{genre}} {{country}} ϟ",
]
const COUNTRIES = [
"Argentina",
"Bosnia",
"Brasil",
"Brazil",
"Bulgaria",
"Cambodia",
"Chile",
"Colombia",
"Croatia",
"Indonesia",
"Kosovo",
"Latvia",
"Malaysia",
"North Korea",
"Paraguay",
"Peru",
"Philippines",
"Romania",
"Serbia",
"Slovakia",
"Turkey",
"Venezuela",
"Vietnam",
]
const DUBSTEP = [
"Borgore",
"Datsik",
"Deadmau5",
"Excision",
"Flux Pavilion",
"Knife Party",
"Nero",
"Owl City",
"Skream",
"Skrillex",
"ϟƘƦƖןןΣx",
"Zomboy",
]
const GENRES = [
"Chillwave",
"Classic Rock",
"Donk",
"Dubstep",
"EBM",
"Electroclash",
"IDM",
"Indie",
"Future Bass",
"Future Beats",
"House",
"New Orleans Bounce",
"Nu Rave",
"Noise",
"Rave",
"Techno",
"Trance",
"Trap",
"Witch House",
]
API.on(API.ADVANCE, woot)
API.on(API.ADVANCE, sendSongStartMessage)
API.on(API.USER_JOIN, sendUserJoinMessage)
woot()
API.setVolume(0)