Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Icq бот как служба Windows, код бота 
:(
    Опции темы
Norfonzor
Дата 3.7.2012, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



Здравсвуйте, необходимо написать icq бота как службу Windows. Код службы есть, она инициализирует процесс
Код

hThread:= CreateThread(nil, 0, @ServiceThread, nil, 0, ThID);
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);

вызывая ф-ю function ServiceThread(P: Pointer): DWORD; stdcall;
которая должна запускать бота.

Нужен код бота для консольного приложения на TICQClient. Работал с этим компонентом только с оконными приложениями, работа без формы должна координально отличаться.
Нашел в сети код бота но он не подключается к серверу icq.
Код

program Project1;
uses Messages,Windows,sysutils,ICQClient ,ICQWorks;

type
  TFNTimeCallBack = procedure(uTimerID, uMessage: UINT;
    dwUser, dw1, dw2: DWORD) stdcall;
type
  icqsock=class
    ICQClient1:TICQClient;
    procedure MessageRecv(Sender: TObject; Msg, UIN: String);
    public
    constructor Create;
    destructor Destroy; override;
    end;

var
  Msg: tmsg;
  p: boolean;
  ICQClient1: TICQClient;
  Server1:icqsock;
  st:string;


  tmr2:integer;
  function timeSetEvent(uDelay, uResolution: UINT;lpFunction: TFNTimeCallBack; dwUser: DWORD; uFlags: UINT): UINT;stdcall; external 'winmm.dll' name 'timeSetEvent';
  function timeKillEvent(uTimerID: UINT): UINT; stdcall; external 'winmm.dll' name 'timeKillEvent';

procedure Ontmr2(uTimerID, uMessage: uint;dwUser, dw1, dw2: dword) stdcall;
begin
 server1.ICQClient1.SendMessage('мой icq Номер', '111'); 
end;
procedure timer_create;
begin
 tmr2:= timesetevent(2000,0,@Ontmr2,0,1);
end;
procedure timer_destroy;
begin
 timeKillEvent(tmr2)
end;

procedure icqsock.MessageRecv(Sender: TObject; Msg, UIN: String);
begin
 server1.ICQClient1.SendMessage(strtoint(uin), '333'); 
end;
constructor icqsock.Create;
Begin
 inherited Create;
 ICQClient1:= TICQClient.Create(nil);
 ICQClient1.OnMessageRecv:= MessageRecv
End;
destructor icqsock.Destroy;
Begin
 ICQClient1.Free;
 inherited Destroy
End;
//========================================================


begin
 timer_create;
 Server1:= icqsock.Create;

 with server1.ICQClient1 do begin
  ConvertToPlaintext := true;
  Avatars            := false;
  ConnectionTimeout  := 0;
  ICQPort            := 5190;
  ICQPortViaHTTP     := 80;
  ICQServer          := 'login.icq.com';
  ICQServerViaHTTP   := 'http.proxy.icq.com';
  PortRangeFirst     := 3000;
  PortRangeLast      := 50000;

  p:= false;//true
  if p then begin
   ProxyType         := P_HTTPS;
   ProxyResolve      := true;
   ProxyAuth         := true;
   ProxyUserID       := 'user';
   ProxyPass         := 'userpass';
   ProxyHost         := 'ip';
   ProxyPort         := 8080;
  end else
  begin
   ProxyType         := p_none;
   ProxyResolve      := false;
   ProxyAuth         := false;
   ProxyUserID       := '';
   ProxyPass         := '';
   ProxyHost         := '';
   ProxyPort         := 0;
  end;
  SecureLogin        := true;
  TypingNotifications:= false;
  UIN                :=uin_бота;
  Password           := 'пароль';

  try
  Login($10000000);
  except end
 end;

 //
 try while GetMessage(Msg, 0, 0, 0) do
 begin
   TranslateMessage(Msg);
  DispatchMessage(Msg)
 end
 finally Server1.Free; timer_destroy end
end.


Пожалуйста помогите разобраться!



Это сообщение отредактировал(а) Norfonzor - 3.7.2012, 07:41
PM MAIL   Вверх
Ne1tr1n0
Дата 3.7.2012, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 1.3.2009

Репутация: 6
Всего: 8



А он вообще работает, этот компонент?
Дело в том, что было время, и протокол несколько раз незначительно менялся, в результате чего неофициальные клиенты отваливались (ненадолго как правило, тот же квип к примеру вообще в течение 1-2 суток выходил новый билд и всё исправно работало). Сейчас уже довольно давно изменений не было никаких, но если память мне не изменяет Coban2k (автор этого компонента) забросил разработку этого компонента ещё раньше, а насчет того, подхватил кто его знамя или нет, я к сожалению не в курсе. Возможно у тебя версия компонента устарела.

Нашёл вроде кто подхватил разработку TICQClient'a, попробуй отсюда взять его. Если не поможет, будем разбираться. http://ticqclient.tsar-ioann.ru/
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0963 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.