AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IRC-Bot als Anfänger?
Thema durchsuchen
Ansicht
Themen-Optionen

IRC-Bot als Anfänger?

Ein Thema von ford42 · begonnen am 31. Jul 2018 · letzter Beitrag vom 2. Aug 2018
Antwort Antwort
Seite 4 von 4   « Erste     234   
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
310 Beiträge
 
Delphi 11 Alexandria
 
#31

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 10:18
Ich rede von dem Proxy. (F)ore(F)ront.
Chris
  Mit Zitat antworten Zitat
ford42

Registriert seit: 2. Okt 2015
60 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#32

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 10:26
Aber den Proxy habe ich doch auf Port 80 definiert?
  Mit Zitat antworten Zitat
ford42

Registriert seit: 2. Okt 2015
60 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#33

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 10:31
Achso, sry, ich stand auf dem Schlauch..

Du meinst, dass der Proxy-Server den IRC-Port blockiert?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#34

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 10:45
Aber wäre natürlich cool, wenn es auch über den Proxy gehen würde...
Funktioniert denn nicht die Methode die das Manual beschreibt?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
ford42

Registriert seit: 2. Okt 2015
60 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#35

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 11:07
Also so dann?

Delphi-Quellcode:
unit UnitIRCBot;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdCmdTCPClient, IdIRC, IdContext, Vcl.StdCtrls,
  IdCustomTransparentProxy, IdConnectThroughHttpProxy, IdIOHandler,
  IdIOHandlerSocket, IdIOHandlerStack, IdHTTP;

type
  TForm1 = class(TForm)
    IdIRC1: TIdIRC;
    Bt_Connect: TButton;
    Bt_JoinChannel: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    Bt_Send: TButton;
    IdConnectThroughHttpProxy1: TIdConnectThroughHttpProxy;
    IdIOHandlerStack1: TIdIOHandlerStack;
    IdHTTP1: TIdHTTP;
    procedure FormCreate(Sender: TObject);
    procedure Bt_ConnectClick(Sender: TObject);
    procedure Bt_JoinChannelClick(Sender: TObject);
    procedure Bt_SendClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure IdIRC1PrivateMessage(ASender: TIdContext; const ANickname, AHost,
      ATarget, AMessage: string);
    procedure IdIRC1Join(ASender: TIdContext; const ANickname, AHost,
      AChannel: string);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Bt_ConnectClick(Sender: TObject);
begin
  try //versuche
    IdIRC1.Connect(); //zu verbinden
  except //wenn Fehler
    on E: Exception do
      showMessage('Fehler: ' + E.Message); //Meldung zeigen
  end;
end;

procedure TForm1.Bt_JoinChannelClick(Sender: TObject);
begin
    try //versuche
    IdIRC1.Join('#botty-channel');
  except //wenn Fehler
    on E: Exception do
      showMessage('Fehler: ' + E.Message); //Meldung zeigen
  end;
end;

procedure TForm1.Bt_SendClick(Sender: TObject);
begin
  IdIRC1.Say('#botty-channel',Edit1.Text); //Nachricht zum Channel schicken
  Memo1.Lines.Add(IdIRC1.Nickname+': '+Edit1.Text); //Zum Memo hinzufügen, denn durch eigene Nachrichten wird das OnMessage-Ereignis nicht ausgelöst
  Edit1.Text := '';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  IdIRC1.Disconnect();
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  //IdConnectThroughHttpProxy1.Enabled := True;
  //IdConnectThroughHttpProxy1.Host := 'Hongkong';
  //IdConnectThroughHttpProxy1.Port := 80;

  IdIRC1.IOHandler := IdIOHandlerStack1;

  IdIRC1.Nickname:='botty'; // Legt den Nick fest

  IdIRC1.Host:='chat.freenode.net'; // Gibt den Server an

  IdIRC1.Port:=6667; //Irc Port

  IdIRC1.RealName:='booty';

  IdIRC1.Username:='booty';

  IdHTTP1.ProxyParams.ProxyServer := 'Hongkong';
  IdHTTP1.ProxyParams.ProxyPort := 80;
  IdHTTP1.IOHandler := IdIOHandlerStack1;



  Memo1.Text := '';

end;

procedure TForm1.IdIRC1Join(ASender: TIdContext; const ANickname, AHost,
  AChannel: string);
var
  welcomeMsg: String;
begin
  if ANickname <> IdIRC1.Nickname then
  begin
    welcomeMsg := 'Hey, ' + ANickname;
    IdIRC1.Say('#botty-channel', welcomeMsg); //Nachricht zum Channel schicken
    Memo1.Lines.Add(IdIRC1.Nickname + ': ' + welcomeMsg);
  end;
end;

procedure TForm1.IdIRC1PrivateMessage(ASender: TIdContext; const ANickname,
  AHost, ATarget, AMessage: string);
begin
  Memo1.lines.add(ANickname+': '+AMessage);
end;

end.

Geändert von ford42 ( 2. Aug 2018 um 11:10 Uhr)
  Mit Zitat antworten Zitat
ford42

Registriert seit: 2. Okt 2015
60 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#36

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 11:28
Ich glaub das liegt am Proxy-Server. Bei Hexchat kommt auch
Code:
HTTP/1.1 502 Proxy Error ( Der angegebene SSL-Port ist nicht zulässig. Forefront TMG wurde nicht zur Unterstützung von SSL-An
  Mit Zitat antworten Zitat
ford42

Registriert seit: 2. Okt 2015
60 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#37

AW: IRC-Bot als Anfänger?

  Alt 2. Aug 2018, 11:35
Mal ne andere Frage:

Wie heißt denn das OnMessage-Ereignis in der neuen Version?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz