Twitter бот. Опыт первый.

Тема в разделе ".:: Готовые решения", создана пользователем ViD, 11 мар 2010.

Статус темы:
Закрыта.
  1. ViD

    ViD Бигбосс

    Регистр.:
    13 апр 2006
    Сообщения:
    222
    Симпатии:
    225
    Давно хотел, что-то сделать для твиттера. И вот наконец-таки придумал. Напарсил много различных пословиц и сделал бота цитатника – Пословица каждый час. На всё про всё, ушло минут 30, большую часть занял парсинг. Для постинга в твиттер, взял готовую библиотеку – twitterlibphp.

    Поставил потом постинг на крон и каждый час имеем новую достаточно интересную пословицу у Вас в ленте.

    Спешим подписаться на бота.

    P.S. По моим расчётам, при постинге пословицы каждый час, их хватит на 2.5 года.

    P.P.S. Если есть вопросы по либе - велкам.
     
  2. tarkut

    tarkut

    Регистр.:
    26 авг 2008
    Сообщения:
    312
    Симпатии:
    69
    Может поделишься исходниками =)
     
  3. ViD

    ViD Бигбосс

    Регистр.:
    13 апр 2006
    Сообщения:
    222
    Симпатии:
    225
    там 4 строчки всего ;)
     
  4. pehota

    pehota

    Регистр.:
    2 апр 2007
    Сообщения:
    359
    Симпатии:
    204
    Тем более, делись! Родина тебя не забудет :)
     
  5. ViD

    ViD Бигбосс

    Регистр.:
    13 апр 2006
    Сообщения:
    222
    Симпатии:
    225
    PHP:
    DEFINE('ROOT'realpath(dirname(__FILE__)).'/');
    include_once 
    ROOT.'inc/twitter.lib.php';
    function 
    win2utf($s)
    {
       for(
    $i=0$m=strlen($s); $i<$m$i++)
       {
           
    $c=ord($s[$i]);
           if (
    $c<=127) {$t.=chr($c); continue; }
           if (
    $c>=192 && $c<=207)    {$t.=chr(208).chr($c-48); continue; }
           if (
    $c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue; }
           if (
    $c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue; }
           if (
    $c==184) { $t.=chr(209).chr(209); continue; };
       if (
    $c==168) { $t.=chr(208).chr(129);  continue; };
       }
       return 
    $t;
    }
    $twitter = new Twitter("login""pass");
    $lines file(ROOT.'inc/posts.txt');
    $index mt_rand(0count($lines)-1);
    $twitter->updateStatus(win2utf($lines[$index]));
     
    Sinelnikov, Sergjuos, WINTERSPROWS и 2 другим нравится это.
  6. pehota

    pehota

    Регистр.:
    2 апр 2007
    Сообщения:
    359
    Симпатии:
    204
    Потестил - работает. При каждом запуске постит по строке из текстовика. Можно поставить на крон. Не знаю уж, можно ли извратиться как-нибудь и заставить крон запускать скрипт рандомно?
     
  7. fighterjet

    fighterjet

    Регистр.:
    6 фев 2007
    Сообщения:
    263
    Симпатии:
    107
    Запустите 5-7 разных кронджобс (также прогуглите webcron) с неравномерными интервалами - типа 43 минуты, 78 минут, 99 минут и тому подобное. Получите на выходе неравномерные интервалы постинга.
     
  8. -=BlackSmoke=-

    -=BlackSmoke=-

    Регистр.:
    4 авг 2009
    Сообщения:
    281
    Симпатии:
    49
    Сам писал бота для вконтакта, озадачивался подобной проблемой. Решение простое до безобразия: в начало своего скрипта дописываем что-то вроде
    и ставим на обычный крон. Получаем рандомное время постинга:-]
     
    pehota нравится это.
  9. iehon

    iehon Постоялец

    Регистр.:
    7 ноя 2008
    Сообщения:
    104
    Симпатии:
    13
    пробовал прикрутить бота icq к постингу в twitter пока не получилось. через php скрипт icq-бота http://steelbot.net/
    прикручивал через написание плагина
    фича удобная должна получиться, можно с телефона через icq постить сразу в твиттер :)
     
  10. -=BlackSmoke=-

    -=BlackSmoke=-

    Регистр.:
    4 авг 2009
    Сообщения:
    281
    Симпатии:
    49
    iehon, мысль интересная, возможно, займусь в ближайшее время:)
     
Статус темы:
Закрыта.