Delphi уроки - Создаем простого ICQ бота на Delphi

Опубиковано: 20.12.2009 г., автор: , просмотров: 50676

    Delphi уроки - создаем ICQ бота

    Хочу, представляю вашему вниманию урок, по созданию ICQ бота на delphi. Да, кстати наш бот будет не простой, он сможет самостоятельно обучаться ответам. Итак, для данного урока нам понадобятся следующие компоненты:

    TICQClient – основа программы (не стандартный компонент)
    Edit1 – в нём будем вписывать свой UIN
    Edit2 – в нём будем вписывать свой Пароль
    Label1 – в нём будет отображаться статус
    Label2 – поставьте в нем заголовок «UIN»
    Label3 - поставьте в нем заголовок «Пароль»
    ListBox1 – для отображения принятых сообщений
    Memo1 – ответы на которые будет отвечать бот

    Ну что ж давайте начинать:

    1. Создадим процедуру FormCreate и пропишем свойства некоторых  компонентов.

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Button2.Enabled:=false;  // Блокируем кнопку №2
    label3.Font.Color:=clRed;  // Меняем цвет label'а на красный
    label3.Caption:='ОффЛайн';  // Меняем заголовок label'а
    memo1.Lines.Clear; // чистим memo
    memo1.Lines.LoadFromFile('Ответы Бота.txt');  // загружаем ответы бота
    end;

    2.  Создадим процедуру Button1Click и пропишем там следующий код:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ICQClient1.UIN:=strtoint(edit1.Text); //  UIN
    ICQClient1.Password:=edit2.Text;     // Пароль
    ICQClient1.Login();  // Подключаемся
    end;
    //В edit1 будем вводить свой UIN, а  в edit2 пароль

    3. Создаём процедуру ICQClient1Login

    procedure TForm1.ICQClient1Login(Sender: TObject);
    begin
    if ICQClient1.LoggedIn then // если подключились то
    label3.Caption:='ОнЛайн';  // меняем статус в label
    label3.Font.Color:=clGreen; // меняем цвет текста в label
    Button1.Enabled:=false;     // Блокируем кнопку №1
    Button2.Enabled:=true;      // Разблокируем кнопку №2
    end;

    4. По клику Button2Click мы будем отключаться

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    button1.Enabled:=true; // Разблокируем копку №1
    button2.Enabled:=false; // Блокируем копку №2
    ICQClient1.LogOff;     // Отключаемся
    label1.Font.Color:=clRed;  // Меняем цвет label'а на красный
    label1.Caption:='ОффЛайн// Меняем заголовок
    end;

    5. Создаем процедуру ICQClient1MessageRecv – основная часть программы

    procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String);
    var
    ICQ: Cardinal;
    i: integer;
    // объявим переменные
    begin
    randomize;
    i:=random(Memo1.Lines.Count-1);
    // функция рандома позволяет отвечать на сообщения в разброс
    ListBox1.Items.Add(UIN + ': ' + Msg); // добавим сообщение в ListBox1
    memo1.Lines.Add(msg); // запомним фразу которую нам прислали
    ICQClient1.SendMessage(StrToInt(UIN), ''+ memo1.Lines.strings[i] +'');
    // Ответы на него
    ListBox1.Items.Add('Бот: ' + memo1.Lines.Strings[i] +'');
    // Добавим сообщение отправленное ботом в ListBox1
    end;

    6. ICQClient1Error – процедура выдающая ошибки при подключении, Не забудьте добавить ICQWorks в uses.

    procedure TForm1.ICQClient1Error(Sender: TObject; ErrorType: TErrorType;
    ErrorMsg: String);
    begin
    ShowMessage('Ошибка: ' + ErrorMsg);
    end;

    7. Завершающая процедура FormClose.

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    memo1.Lines.SaveToFile('Ответы Бота.txt'); // Сохраним ответы бота в файл
    end;
    end.

    Вот и в принципе и всё, наш простенький ICQ бот готов !

    delphi icq бот Скачать исходник

    P.S. Хотите вперед всех остальных посетителей сайта получать свежие Видео уроки, Аудио подкасты, статьи по Delphi.
    Участвовать в конкурсах и постепенно вливаться в нашу команду ?!
    Тогда прямо сейчас подписывайтесь на бесплатную мультимедийную рассылку сайта delphiexpert.ru
    Нас уже больше чем 4000 человек ! Подписаться



    Похожие материалы

    Последние из рубрики

    Срочно требуются рабочие. Обработка зказов на дому. 09 Dec 2016 в 21:01 #
    Требуются рабочие. Обработка зказов на дому.

    Без вложений, на системе автоматического приёма и обработки заказов.

    Более подробно >> obrabotka-zakazov.tk <<
    DelphiBuilder 25 Dec 2012 в 00:00 #
    Ильдар, скачайте компонент в виде архива и разпакуйте арихив. Потом откройте через Делфи файл !.dpk!. Потом зайдите в Menu-Tools-Enivroment Tools-Libray-Libray Path -"..." и добавтье путь к папке компонента. Затем идите в окошко файла dpk и жмите Compile и потом Install.
    А урок супер!
    Noizefan 12 Oct 2012 в 00:00 #
    Очень интересный пример реализации подключения и работы с ICQ сервером, компонент очень полезный, можно написать очень много интересных программ.

    Мне даже непонятны некоторые функции:)
    Спасибо за статью!
    ггг 20 Feb 2012 в 00:00 #
    она уже везде по всем сайтам разошлась все копипастить стали!!!!
    uuu 18 Feb 2012 в 00:00 #
    на вкладке Samples и на самой последней вкладке.Я скачал исходник запустил у меня аваст заругался на вирус!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    ОтменитьДобавить комментарий