Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Icq бот на Delphi (https://forum.antichat.xyz/showthread.php?t=67913)

-Hormold- 21.04.2008 13:25

Icq бот на Delphi
 
Пишу бота на Delphi, хотел узнать как сделать распознование команд таких как !md5 123
Простая команда работает так:
Код:

if Msg='!md5'//Команда
then
begin
ICQClient.SendMessage(UIN,'тут ответ');//ответ
end;

а как сделать чтоб команда могла буть !md5 123 и ответ был например 202cb962ac59075b964b07152d234b70

Помогит пожалуйста.

Hellsp@wn 21.04.2008 13:54

Код:

  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;


-Hormold- 21.04.2008 14:26

Странно...
Скинь класс компонент GetMd5

-Hormold- 21.04.2008 14:35

Спасибо =)
Нашёл...

Hellsp@wn 21.04.2008 15:01

тебе ещё и мд5 класс)) уж сам найдёшь, благо их куча...

x0man 22.04.2008 02:56

мб лучше так сделать...
Код:

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


Время: 05:35