Исходники twitter бота

by SeoCoder on Март 11, 2010

Исходники к посту о боте
Нужно всего 2 файла: либа, что указана в посту, и тексты самих постов.
Не забываем, что длина поста не более 140 символов.

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(0, count($lines)-1); 
$twitter->updateStatus(win2utf($lines[$index]));

{ 5 comments… read them below or add one }

1 Ewg 03.11.10 at 20:04

Зачем такой гкод постить? Вам лучше писать про технологию, а не про реализацию.
$lines = file(ROOT.'inc/posts.txt');
$message = iconv('cp-1251', 'utf-8', $lines[array_rand($lines)]);
$twitter->updateStatus($message);

И всё. Согласны?

2 SeoCoder 03.11.10 at 20:06

iconv может не везде стоять раз, экономии в скорости выполнения не вижу вообще

3 Ewg 03.11.10 at 20:30

Виделось, что Вы не первый день занимаетесь созданием программ. Но всё же нанооптимизацией страдаете там, где это не к месту.

4 Ewg 03.11.10 at 22:04

Лучше сразу брать utf-8 строки.

5 rushter 03.11.10 at 23:33

От оптимизации зачастую бывает только хуже ;)
А либа вообще на курле написана… Сомневаюсь что там где нет iconv есть curl.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">