Помогите дописать флудер телефона на PHP через Skype

Discussion in 'PHP' started by inlanger, 16 Apr 2009.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Нарыл в сети исходник, как позвонить через Skype на php, пытался переделать во флудер - не получилось. Скрипт юзает Skype4COM:
    PHP:
    <?php

    // Event sink:
    class _ISkypeEvents {
      
      function 
    AttachmentStatus($status) {
       echo 
    ">Attachment status $status\n";
      }
      function 
    CallStatus($call$status) {
       echo 
    ">Call $call->id status $status\n";
      }
    }

    // Create a Skype4COM object:
    $skype = new COM("Skype4COM.Skype");

    // Create a sink object:
    $sink =& new _ISkypeEvents ();
    $sink->convert $skype->convert();

    // Connect to the sink:
    com_event_sink($skype$sink"_ISkypeEvents");

    // Create a conversion object:
    $convert $skype->convert;
    $convert->language "en";

    // Start the Skype client, minimized and with no splash screen:
    if (!$skype->client()->isRunning()) {
      
    $skype->client()->start(truetrue);
    }

    // If the user status is not "online", change user status to "online":
    if ($skype->currentUserStatus() == $convert->textToUserStatus("OFFLINE")) {  
      
    $skype->changeUserStatus($convert->textToUserStatus("ONLINE"));
    }

    // Create a user object
    $user $skype->user("echo123");
    echo 
    "User " $user->handle " online status is " $convert->onlineStatusToText($user->onlineStatus) . "\n";

    // Place a call
    $call $skype->PlaceCall($user->handle);

    // Wait for the call to be "in progress" and report an error if:
    while ($call->status <> $convert->textToCallStatus("INPROGRESS")) {
      if (
    $call->status == $convert->textToCallStatus("FAILED") || 
        
    $call->status == $convert->textToCallStatus("REFUSED") || 
        
    $call->status == $convert->textToCallStatus("CANCELLED") || 
        
    $call->status == $convert->textToCallStatus("FINISHED") || 
        
    $call->status == $convert->textToCallStatus("BUSY"))
        die (
    "Call status " $convert->callStatusToText($call->status));
      else
        
    com_message_pump (500);       
    }

    // Send dtmf tones:
    com_message_pump (10000);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "0";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "1";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "2";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "3";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "4";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "5";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "6";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "7";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "8";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "9";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "#";
    com_message_pump (500);
    if (
    $call->status == $convert->textToCallStatus("INPROGRESS")) $call->dtmf "*";

    // Finish the call: 
    if ($call->status <> $convert->textToCallStatus("FINISHED")) $call->finish();

    //Sleep:
    com_message_pump (1000);
      
    ?>
    Скрипт рабочий, в самом скайпе вылезет окошко с вопросом, "разрешить ли апачу юзать скайп?".

    Когда ставлю совершать звонок в цикл и паузу между звонками, то скрипт выдаёт:

     
  2. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    может в денвере модуля какого не хватает?
     
  3. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Вроде не в денвере дело, ругается же Skype4COM, да и ругается при добавлении простого while
     
  4. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    Да запустил у себя, только пришлось еще set_time_limit(0); вставить. скайп запустился спросил разрешения и в браузере выпал в ошибку
     
  5. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    На винде запускал? Может в ОС дело...
     
  6. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    Да на Венде =)
     
  7. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Как то не разумно юзать COM обекты да еще и на PHP o_O
    PHP не предназначен для этого, а на том же Си или Делфи ты бы сразу понял что, не так...
     
    _________________________
  8. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    А Си почти не знаю, а делфи считаю мёртвым. Пишу на пхп, потому и выбрал его. Раз простой звонок проходит, то можно и на PHP написать.
     
  9. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    понятно )
    я тебя могу понять ибо тоже щас занимаюсь перенесением/переписание кода улиты l2ping из набора Linux Bluez на WinCE (это в общем пинг для протокола L2CAP Bluetooth - можно в общем организовать DoS бт устройства)
    кроме меня это никому не надо ...

    но эммм в чем смысл твоего флудера...
    типа я зайду на твою страницу в инете. допустим у меня есть скайп и он влючен, но ведь он выдаст мне предупреждание...
     
    _________________________
  10. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Смысл моего флудера в том, чтобы иметь свой флудер. Потому как те что сейчас есть не хотят у меня работать. А это ещё и open source проект может быть )
    Или организую платный сервис флуда. В любом случае - это полезная штука.
     
    #10 inlanger, 16 Apr 2009
    Last edited: 16 Apr 2009
  11. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Отпала надобность, в связи с /thread116226.html