Last active
May 8, 2020 21:48
-
-
Save rfxDarth/2351502f3dc0a203a677e4b0bde2f038 to your computer and use it in GitHub Desktop.
begone_thot.js
This file contains hidden or 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
function get_photos_count(card){ | |
let scroller=card.querySelector(`.Expand>.CenterAlign.Fld\\(r\\)`); | |
if(!scroller) | |
return 1 | |
else | |
return scroller.childNodes.length | |
} | |
function get_name(card){ | |
return card.querySelector(".Flw\\(w\\)").innerHTML.trim(); | |
} | |
function human_name(name){ | |
let banned_names=["CoCo","Monika","Emma","Krista","Margaret","Helga","Jenny","Avery","Ella","Ann","Mila","Miya"] | |
return banned_names.indexOf(name)===-1; | |
} | |
function get_distance(card){ | |
let container=card.querySelector(`.Us\\(t\\)`); | |
if(!container) | |
return 0 | |
let text=container.innerHTML; | |
return +text.substr(0,text.indexOf(" ")) | |
} | |
function get_description(card){ | |
let descr=Array.from(card.querySelectorAll(".BreakWord span")); | |
return descr&&descr.map(span=>span.innerHTML.trim().toLowerCase()).join("\n"); | |
} | |
function has_instagram(descr){ | |
let banned_words=["inst","инста","инст:"]; | |
return banned_words.find(word=>descr.indexOf(word)!==-1) | |
} | |
function has_snap(descr){ | |
let banned_words=["snap"]; | |
return banned_words.find(word=>descr.indexOf(word)!==-1) | |
} | |
function looking_for_sponsor(descr){ | |
let banned_words=["спонсор","папик"]; | |
return banned_words.find(word=>descr.indexOf(word)!==-1) | |
} | |
function has_kids(descr){ | |
let banned_words=["ребенок","ребенка","есть дети","есть сын","есть дочь","есть дочка"]; | |
return banned_words.find(word=>descr.indexOf(word)!==-1) | |
} | |
function just_checking(descr){ | |
let banned_words=["просто смотрю","просто посмотреть","ради прикола","по приколу","никого не ищу","не ищу отношений"]; | |
return banned_words.find(word=>descr.indexOf(word)!==-1) | |
} | |
function find_socionics(descr){ | |
let sociotypes={ | |
INFP:"Есенин", | |
ISFP:"Дюма", | |
INTP:"Бальзак", | |
ISTP:"Габен", | |
INFJ:"Достоевский", | |
ISFJ:"Драйзер", | |
INTJ:"Робесьер", | |
ISTJ:"Максим", | |
ENFP:"Гекели", | |
ESFP:"Наполеон", | |
ENTP:"Дон Кихот", | |
ESTP:"Жуков", | |
ENFJ:"Гамлет", | |
ESFJ:"Гюго", | |
ENTJ:"Джек", | |
ESTJ:"Штирлиц", | |
"Меланхолик":"Меланхолик", | |
"Холерик":"Меланхолик", | |
"Флегматик":"Флегматик", | |
"Сангвиник":"Сангвиник", | |
} | |
let find=Object.keys(sociotypes).find(word=>descr.indexOf(word)!==-1); | |
return sociotypes[find]; | |
} | |
function find_emojis(descr){ | |
let regex=RegExp(`(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])`,'g') | |
let found_emojis=[]; | |
while ((match = regex.exec(descr)) !== null) { | |
found_emojis.push(match[0]); | |
} | |
return found_emojis; | |
} | |
function find_horoscrope(descr){ | |
let banned_words=["Овен","Телец","Близнецы", | |
/*"Рак","Лев","Дева","Весы",*/ | |
"Скорпион","Стрелец","Козерог","Водолей","Рыбы"]; | |
return banned_words.find(word=>descr.indexOf(word)!==-1) | |
} | |
function check_girl(){ | |
let descr; | |
let card=document.querySelector(`.recCard.active`); | |
if(!card) | |
card=document.querySelector(`.profileCard`); | |
let name=get_name(card); | |
function swipe_left(reason){ | |
console.log(name,reason); | |
document.querySelector(`.button[aria-label="Nope"]`).click() | |
} | |
if(!human_name(name)) return swipe_left("робот"); | |
if(get_photos_count(card)<2) return swipe_left("Скромняжка"); | |
//if(get_distance(card)>20) return swipe_left("Засланный казачок"); | |
if(card.querySelectorAll(".react-swipeable-view-container>div")[0].getAttribute("aria-hidden")!=="false") | |
return false; | |
descr=get_description(card) | |
if(!descr) return swipe_left("Ленивая жопа") | |
if(find_emojis(descr).length>3) return swipe_left("💩"); | |
if(has_instagram(descr)) return swipe_left("инстаграм-модель") | |
if(has_snap(descr)) return swipe_left("е-шлюха") | |
if(looking_for_sponsor(descr)) return swipe_left("ищет папика себе") | |
if(has_kids(descr)) return swipe_left("ищет папика своим детям") | |
if(just_checking(descr)) return swipe_left("тешит самолюбие"); | |
if(sociotype=find_socionics(descr)) return swipe_left("дохуя "+sociotype.toUpperCase()); | |
} | |
var intrvl; | |
clearInterval(intrvl); | |
intrvl=setInterval(check_girl, 300); //TODO: make a button or smth |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment