Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: вопросы о нагрузки на сервак
Форумы портала PHP.SU » PHP » Программирование на PHP » вопросы о нагрузки на сервак

Страниц (1): [1]
 

1. ASHOOT-x86 - 26 Июля, 2008 - 06:26:42 - перейти к сообщению
Всем привет. Вот скрипт icq bot'a
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. /**
  4.  * Bot UIN (change it!!!)
  5.  *
  6.  */
  7. define('UIN',         '111111');
  8. /**
  9.  * Bot account password (change it!!!)
  10.  *
  11.  */
  12. define('PASSWORD',    'password');
  13. /**
  14.  * Administrator UIN for system messages (change it!!!)
  15.  *
  16.  */
  17. define('ADMINUIN',    '111111');
  18. /**
  19.  * Status for bot
  20.  *
  21.  */
  22. define('STARTSTATUS', 'STATUS_FREE4CHAT');
  23.  
  24. $help = "Bot commands:\r
  25. \t'!about' - print message about this bot.\r
  26. \t'!help'  - print help message.\r
  27. \t'!stop'  - stop bot (administrative).\r
  28. \t'!uptime'  - print bot uptime.\r
  29. ";
  30.  
  31. $about = "PHP BOT v3.4
  32. Based on WebIcqPro v1.2b
  33. (c) Sergey Akudovich
  34. Contact author:
  35. http://intrigue.ru/forum/";
  36.  
  37. $ignore_list = array(
  38. '000000',
  39. '000001',
  40. );
  41.  
  42. require_once('WebIcqPro.class.php');
  43.  
  44. $icq = new WebIcqPro();
  45.  
  46. $icq->setOption('UserAgent', 'miranda');
  47.  
  48. if($icq->connect(UIN, PASSWORD))
  49. {
  50.         $icq->sendMessage(ADMINUIN, "Service PHP BOT started...");
  51.         $uptime = $status_time = time();
  52.         $icq->setStatus(STARTSTATUS, 'STATUS_DCCONT', 'Test me!!!');
  53.         $icq->setXStatus('Love');
  54.         $status = STARTSTATUS;
  55. }else{
  56.         echo $icq->error;
  57.         exit();
  58. }
  59.  
  60. $icq->activateOfflineMessages(UIN);
  61.  
  62. while($icq->isConnected()){
  63.         $msg = $icq->readMessage();
  64.         if (isset($msg['from']) && isset($msg['message']) && !in_array($msg['from'], $ignore_list)){
  65.                 $icq->sendMessage(ADMINUIN, $msg['from'].' > '.$msg['message']);
  66.                 switch (strtolower($msg['message']))
  67.                 {
  68.                         case '!about':
  69.                                 $icq->sendMessage($msg['from'], $about);
  70.                         break;
  71.                         case '!help':
  72.                                 $icq->sendMessage($msg['from'], $help);
  73.                         break;
  74.                         case '!stop':
  75.                                 if($msg['from'] == ADMINUIN)
  76.                                 {
  77.                                         $icq->sendMessage(ADMIN, "Service PHP BOT stopt...");
  78.                                         $icq->disconnect();
  79.                                         exit();
  80.                                 }
  81.                                 else
  82.                                 {
  83.                                         $icq->sendMessage($msg['from'], "The system is going down for reboot NOW! :)");
  84.                                 }
  85.                         break;
  86.                         case '!uptime':
  87.                                 $icq->sendMessage($msg['from'], (time()-$uptime).' seconds online. Last login : '.date('d.m.Y H:i:s', $uptime));
  88.                         break;
  89.                         default:
  90.                                 $icq->sendMessage($msg['from'], "Type '!help' for assistance.");
  91.                         break;
  92.                 }
  93.         }
  94.         flush();
  95.         sleep(1);
  96. }
  97. ?>

Если будут писать одновременно много людей, не получится ли так, что будет стопроцентная нагрузка на процессор и сервак умрет? один, два человека свободно могут такому боту писать, а если больше или какой-нить злоумышленник задумает "задосить" бота. )) хелп
(Добавление)
короче меня поняли. хочу бота сделать, но не получится ли так что меня попрут с хостинга? // или что надо изменить в коде, чтоб он был оптимальным? ))
2. UA.ProG - 26 Июля, 2008 - 09:41:59 - перейти к сообщению
Прикольно ето и класс тоже сам делал?Ну шанс то что тебе напишит в одно время больше нескольких человек очень мизерный так что думаю твой сервак успеет обработать сообщения
3. ASHOOT-x86 - 26 Июля, 2008 - 11:46:19 - перейти к сообщению
Нет. Не я автор скрипта. Шанс большой что мне напишут. Мои проекты как ни странно быстро по инету разлетаютсяУлыбка ну так что? Если одновременно будут писать ему сто человек, проц сгорит?Улыбка
4. UA.ProG - 26 Июля, 2008 - 12:29:14 - перейти к сообщению
Врядли сгорит так как скрипт будет успевать обрабатывать все сообщение без излишних задержек благодарю flush();
5. ASHOOT-x86 - 26 Июля, 2008 - 12:47:21 - перейти к сообщению
Запустил бота, писали одновременно десять человек ему. Нагрузка на проц в диспетчере написано было 4 процента. По идее, на линукс будет еще меньше заниматьУлыбка Эхх! Запущу ботяру, будет всем анегдоты слатьУлыбка
6. Стас - 26 Июля, 2008 - 13:46:03 - перейти к сообщению
А где вы WebIcqPro взяли? Поделитесь? Улыбка
7. UA.ProG - 26 Июля, 2008 - 13:52:44 - перейти к сообщению
попробу убрать функцию flush();
будет с затормозкой обрабатываться верней отсыласть сообщение ботом
(Добавление)
Да кстати скажи где класс нашел такой дай и нам)))я хоцю тоже побаловаться
8. ASHOOT-x86 - 26 Июля, 2008 - 14:34:46 - перейти к сообщению
Акудович выложил на сайте. Гляньте. Еще давно
9. UA.ProG - 26 Июля, 2008 - 14:58:20 - перейти к сообщению
Дай ссылку))
10. ASHOOT-x86 - 26 Июля, 2008 - 19:50:28 - перейти к сообщению
11. FRIK - 25 Января, 2011 - 21:31:15 - перейти к сообщению
Я тут решил поднять тему на счет icq бота!=) Подскажите где можно скачать хороший класс для бота! Только не готовый бот а просто класс что бы я мог сам на основе этого сделать бота! Скачивал WebIcqLite! Он не работает, а в паблике Pro версию найти не могу может кто подскажет что где скачать можно наподобие этого или именно это?
12. pavl1k - 14 Декабря, 2012 - 10:18:27 - перейти к сообщению
FRIK пишет:
а в паблике Pro версию найти не могу может кто подскажет что где скачать можно наподобие этого или именно это

http://wip[dot]asminog[dot]com/workshop/[dot][dot][dot]o/webicqpro[dot]html
13. DeepVarvar - 14 Декабря, 2012 - 10:36:11 - перейти к сообщению
pavl1k - археолог.

 

Powered by ExBB FM 1.0 RC1