В последно време не съм писал нищо (става въпрос за писане на код) и взе да ми липсва… което май е нормално имайки предвид, че съм Софтуерен Инженер :-). Та, много умувах какво да направя, първо бях решил да разширя ScreenShootMe с четка и възможност за писане, обаче това в някаква степен измества фокуса от основната идея на приложението и е трудоемко, а и искам FF да почне да поддържа colorpicker и slider функционалностите от HTML5, за да си спестя ненужни мъки. Впоследствие разбрах, че една колежка е 40 левъл в FarmVille… не че тя е единствената колежка, която играе FarmVille, но определено е висок левъл :-D. Понеже и аз имам фермичка се сетих, че всъщност в timeline-a на ФБ постоянно излизат съобщения за бонуси в FarmVille и част от тях си заслужават, но е досадно да си проверяваш нон-стоп ФБ за FV бонуси и да цъкаш по тях като ненормален. За това естествено тръгнах да мисля начин за автоматизация на процеса… за БОТ.
След нетолкова кратък рисърч, стигнах до извода че ФБ API-то може и да е удобно и лесно за ползване, но определено би отнело известно време, за да се свикне с него и за да се напише нещо такова, а и писането на PHP или друг скриптов език означава допълнителни constraints за обикновения юзър, който не е виждал програмен език в живота си или пък няма инсталиран нужния софтуер, за да подкара бота. От тук вече избора съвсем се стесни до… хм… Javascript и браузър.
v.0.1: Тръгнах да пиша един html файл, който да отваря ФБ в един фрейм и да парсва линковете за FarmVille… е не стана, незнам дали заради фроуд детекшън или заради нещо друго, но браузърите вече не дават да се бърника/чете html кода на страници в различни от настоящия домейн.
v.0.2: Същото важи и за отваряне на child прозорци и бърникане по техния код… god damn it… X_X
v.0.3: Докато търсех инфо за ФБ API-то попаднах на sandbox, в който може да се тестват разни функционалности – http://developers.facebook.com/tools.php и едно от нещата, които ми направиха впечатление, е че за изпълнение на request се ползва AJAX, a не просто постбек. Това естествено значи, че мога да напиша js код, който да се слага в addressbar-а или като bookmarklet и да обновява информацията през определено време, да я парсва и да отваря част от линковете в нови iframe-ове, което изпълнява целта напълно!
Моля, запишете си нужните продукти за да сготвиме бота 🙂
1. Логвате се в ФБ по стандартния начин
2. Отивате тук – http://developers.facebook.com/tools.php и избирате от падащото меню на Method > stream.get (това извежда timeline-a ви)
3. Copy/Paste кода по-долу в addressbar-a (за всички, които виждат браузър за първи път – после натиснете Enter)
javascript: visited = {}; function process() { var code = document.getElementById('trace').innerHTML; var m = null; while (m = /\<href\>(http:\/\/apps\.facebook\.com\/onthefarm\/.+?)\<\/href\>/gi.exec(code)) { if (!visited[m[1]]) { var ifr = document.createElement('iframe'); ifr.src = (m[1].replace(/&/g, '&')).replace(/&/g, '&'); container.appendChild(ifr); visited[m[1]] = true; } } setTimeout('container.innerHTML = \'\'', 60*1000); } function refresh() { callMethod(); setTimeout(process, 5*1000); } container = document.createElement('div'); document.getElementsByTagName('body')[0].appendChild(container); setInterval(refresh, 120*1000); void(0);
И така вашия бот би трябвало вече да е напълно оперативен (на български не звучи добре)!!!
Накратко какво прави кода – на всеки 2 минути обновява timeline-а и проверява дали има нови url-и, които да са за FarmVille. Ако има такива ги отваря в iframe-ове (все едно вие сте цъкнали на “Get bonus” линковете в ФБ). Може да го задействате навсякъде напрактика (освен ако не ползвате Mosaic) и да си събирате колектабълс или нафта или там каквото още имаше.
В заключение ще кажа, че докато четох повторно поста си осъзнах, че явно обичам да пиша глупави, безсмислени и непотребни приложения… или по-скоро ако трябва да избирам между направата на нещо смислено и нещо глупаво, май-май ще се спра на второто :-D… но пък това е в духа на блога ми все пак 😛
March 10th, 2010 18:37
Ако това го постнеш някъде на английски, сайта ти ще бъде безмилостно прекършен от наплива на милиони фармтардове. 🙂
March 10th, 2010 19:23
И аз си го мислех това 😀
March 27th, 2010 11:53
ne6to ne razbrah kak stava tazi rabota kade trqbva da paste-na tozi skript ne6to ne mi stana qsno ako moje malko razqsnenie molq
March 27th, 2010 20:24
ада
March 27th, 2010 20:25
кайи как да го направя това не6то не става при мен или не сам разбрал не6то
April 15th, 2010 16:48
може ли малко повече разясниея за това къде се пейства кода
April 17th, 2010 04:18
В адресната лента на браузъра.
След това трябва да изчакаш 2 минути, за да започне процеса.