Skocz do zawartości

IRCListenBot


g-Enjoy

Rekomendowane odpowiedzi

Tytuł: IRCListenBot

Opis: Bot nasłuchujący irca i zapisujący to co ludzie gadają do pliku irc.txt :)

 

Download: http://pbgamestudios.com/fbutkiewicz/LISTENER.EXE

Rozmiar pliku: 257KB

 

 

Autorzy:

Programowanie: Bagno

 

Screeny:

http://bayimg.com/jakcCaABD

http://bayimg.com/jaKCdaaBD

 

Dla ciekawskich jak to działa kod:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdIRC, SynURIOpener, SynEditHighlighter, SynHighlighterURI, SynEdit,
  SynMemo, Menus, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Plik1: TMenuItem;
    Zamknij1: TMenuItem;
    N1: TMenuItem;
    Boutit1: TMenuItem;
    SynMemo1: TSynMemo;
    SynURISyn1: TSynURISyn;
    SynURIOpener1: TSynURIOpener;
    IdIRC1: TIdIRC;
    Bye1: TMenuItem;
    Settingz1: TMenuItem;
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Join1: TMenuItem;
    procedure Bye1Click(Sender: TObject);
    procedure IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
      AChannel: TIdIRCChannel; Content: String);
    procedure IdIRC1Away(Sender: TObject; AUser: TIdIRCUser);
    procedure IdIRC1Ban(Sender: TObject; AUser: TIdIRCUser;
      AChannel: TIdIRCChannel; AHostmask: String);
    procedure IdIRC1Connect(Sender: TObject);
    procedure IdIRC1Connected(Sender: TObject);
    procedure IdIRC1Joined(Sender: TObject; AChannel: TIdIRCChannel);
    procedure IdIRC1Kicked(Sender: TObject; AUser: TIdIRCUser;
      AChannel: TIdIRCChannel);
    procedure IdIRC1NicksInUse(Sender: TObject; var ANick: String);
    procedure IdIRC1SocketError(Sender: TObject; ASocket, AMsg: String);
    procedure Settingz1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Join1Click(Sender: TObject);
    procedure Zamknij1Click(Sender: TObject);
    procedure Boutit1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  st_serv:string;
  st_nick:string;
  st_chann:string;

implementation

{$R *.dfm}

procedure TForm1.Bye1Click(Sender: TObject);
begin
IdIRC1.Disconnect;
SynMemo1.Lines.Add('Disconnected, lolzord...');
end;

procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel; Content: String);
begin
SynMemo1.Lines.Add(auser.Nick+' : '+Content);
SynMemo1.Lines.SaveToFile('irc.txt');
end;

procedure TForm1.IdIRC1Away(Sender: TObject; AUser: TIdIRCUser);
begin
SynMemo1.Lines.Add('Someone is away!');
end;

procedure TForm1.IdIRC1Ban(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel; AHostmask: String);
begin
SynMemo1.Lines.Add('Your IP is banned!');
end;

procedure TForm1.IdIRC1Connect(Sender: TObject);
begin
SynMemo1.Lines.Add('Connecting...');
end;

procedure TForm1.IdIRC1Connected(Sender: TObject);
begin
SynMemo1.Lines.Add('Connected');
end;

procedure TForm1.IdIRC1Joined(Sender: TObject; AChannel: TIdIRCChannel);
begin
SynMemo1.Lines.Add('Joined to channel!');
end;

procedure TForm1.IdIRC1Kicked(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel);
begin
SynMemo1.Lines.Add('Kicked');
end;

procedure TForm1.IdIRC1NicksInUse(Sender: TObject; var ANick: String);
begin
SynMemo1.Lines.Add('Nick is in use!');
end;

procedure TForm1.IdIRC1SocketError(Sender: TObject; ASocket, AMsg: String);
begin
SynMemo1.Lines.Add('Socket error!');
end;

procedure TForm1.Settingz1Click(Sender: TObject);
begin
Panel1.Show;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
st_serv:=edit1.Text;
st_nick:=edit2.Text;
st_chann:=edit3.Text;
IdIRC1.Disconnect;
panel1.Hide;
IdIRC1.Host := st_serv;
IdIRC1.Nick := st_nick;
IdIRC1.Connect(300);
IdIRC1.Join(st_chann);
end;

procedure TForm1.Join1Click(Sender: TObject);
begin
IdIRC1.Host := st_serv;
IdIRC1.Nick := st_nick;
IdIRC1.Connect(300);
IdIRC1.Join(st_chann);
end;

procedure TForm1.Zamknij1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Boutit1Click(Sender: TObject);
begin
ShowMessage('Copyright (C) 2008 By Bagno');
end;

end.

Proste ale przydatne, przynajmniej dla mnie ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...