Пишу бота на Delphi, хотел узнать как сделать распознование команд таких как !md5 123 Простая команда работает так: Code: if Msg='!md5'//Команда then begin ICQClient.SendMessage(UIN,'тут ответ');//ответ end; а как сделать чтоб команда могла буть !md5 123 и ответ был например 202cb962ac59075b964b07152d234b70 Помогит пожалуйста.
Code: Msg:='!md5 12345'; If (pos('!md5',Msg) = 1) and (length(Msg)>5) then begin pass:=copy(Msg,6,length(Msg)-5); hash:=GetMd5(pass); end;
мб лучше так сделать... Code: Procedure ParseMessage(UIN : Integer; mess : string); var cmd : string; param: string; i : Integer; begin if Length(Mess) > 0 then begin i := Pos(' ', mess); if i > 0 then begin cmd := Copy(mess, 1, i - 1); // далее в любом случае можно не высчитывать точно, // третий параметр в Copy(...) param := Copy(mess, i + 1, Length(mess)); end else begin cmd := mess; param := ''; end; // и понеслась проверять... if cmd = '!md5' then begin //// SendMessageToUIN(UIN, MD5DigestToStr(MD5String(param))); end else if cmd = '!anegdot' then begin //// // и т.д. SendMessageToUIN(UIN, 'Бугого'); end; end; end; MD5.PAS типа... http://www.virustech.org/files/MD5.pas