Флудер на компоненте ICQClient

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by X-TAZY, 23 Jun 2011.

  1. X-TAZY

    X-TAZY New Member

    Joined:
    20 Nov 2008
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте! Проблема следующая: пишу флудер на Delphi 7 с использованием компонента ICQClient, написал все основные процедуры (пока по минимуму), но сообщения не отправляются. Вот этот участок кода:

    Code:
    procedure TForm1.FormCreate(Sender: TObject);
      begin
        combo := TStringList.Create; //глобальная переменная, содержащая комболист uin;pass с которых будут отправляться сообщения
        if FileExists('uins.txt') then
          combo.LoadFromFile('uins.txt')
          else
            if Application.MessageBox('Укажите список uin; pass...', PChar(Application.Title), MB_OKCANCEL + MB_ICONWARNING) = IDOK then
              if OpenDialog1.Execute then
                Combo.LoadFromFile(OpenDialog1.FileName);
        i := -1; //глобальная переменная, счетчик строк комболиста
      end;
    
    procedure TForm1.FormDestroy(Sender: TObject);
      begin
        combo.Free;
          if ICQClient.LoggedIn then
            ICQClient.LogOff;
      end;
    
    procedure TForm1.ToolButtonSend(Sender: TObject);
      begin
        if Timer1.Enabled then begin
          Timer1.Enabled := false;
          ToolButtonSend.ImageIndex := 3;
          ToolButtonSend.Hint := 'Отправить';
        end
        else begin
          if combo.Text = '' then
            if Application.MessageBox('Список uin;pass пустой! Укажите файл списка...', PChar(Application.Title), MB_OKCANCEL + MB_ICONWARNING) = IDOK then
                if OpenDialog1.Execute then
                  Combo.LoadFromFile(OpenDialog1.FileName);
          ToolButtonSend.ImageIndex := 4;
          ToolbuttonSend.Hint := 'Остановить';
    
          Timer1.Interval := 4000;
          Timer1.Enabled  := true;
        end;
      end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);
      begin
          inc(i);
          if i = combo.Count-1 then begin
            Timer1.Enabled := false;
            ToolButtonSend.ImageIndex := 3;
            ToolButtonSend.Hint := 'Отправить';
          end;
        ICQClient.ConvertToPlaintext := true;
        ICQClient.UIN := StrToInt(copy(combo.Strings[i], 1, pos(':',combo.Strings[i])-1));
        ICQClient.Password := copy(combo.Strings[i], pos(':', combo.Strings[i])+1, length(combo.Strings[i]));
          try
            ICQClient.Login(0);
          except
            Application.MessageBox('Ошибка подключения', PChar(Application.Title), MB_OK + MB_ICONWARNING);
          end;
      end;
    
    procedure TForm1.ICQClientLogin(Sender: TObject);
      var
        MesFromNum : Byte; //сообщений с одного номера
      begin
        if ICQClient.LoggedIn then begin
          for MesFromNum := 1 to 3 do begin //пока три сообщения с номера для примера, но потом планирую получать из Edit к примеру
            ICQClient.SendMessage(номер куда отправляем, 'текст, который отправляем');
            sleep(5000);//задержка чтобы номер не банили быстро
          end;
        end;
        ICQClient.LogOff;
      end;
    
    Проблема в том, что не срабатывает процедура TForm1.ICQClientLogin, т.к. при отладке видно что, действия выполняются только в таймере и дальше не переходят на эту процедуру. Знающие люди подскажите где исправить, может кто писал такие вещи или юзает компонент? Может порядок подключения и отправки не тот?
     
    #1 X-TAZY, 23 Jun 2011
    Last edited: 23 Jun 2011
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    отлаживай по шагам исходники компонента
     
  3. X-TAZY

    X-TAZY New Member

    Joined:
    20 Nov 2008
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    Дело в том, что там такая куча кода и много чего не понятно, поэтому я просто эту часть пропускаю, и отлаживаю только свой код. Были бы более глубокие знания, то безусловно, так бы и сделал.