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
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 07:54
Hmh, in duckduckgo finde ich nicht wie man da einen Proxy einstellen kann. Geht das überhaupt?
TIdConnectThroughHttpProxy sollte eine Möglichkeit sein wenn ich nicht falsch liege.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
ford42

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 09:29
Hmh, irgendwie finde ich dazu nichts, nicht einmal im docwiki

EDIT: Habe es nun im IDE gefunden, aber ich bekomme es nicht zum laufen...

Mein Code sieht nun so aus, es geht aber immer noch nicht

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;

type
  TForm1 = class(TForm)
    IdIRC1: TIdIRC;
    Bt_Connect: TButton;
    Bt_JoinChannel: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    Bt_Send: TButton;
    IdConnectThroughHttpProxy1: TIdConnectThroughHttpProxy;
    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);
  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
  IdIRC1.Join('#botty-channel');
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
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.Nickname:='botty'; // Legt den Nick fest

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

  IdIRC1.Port:=6667; //Irc Port

end;

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

end.

Geändert von ford42 ( 1. Aug 2018 um 09:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 10:16
So der Pro bin ich leider nicht, aber soweit ich mich erinnern kann muss man für Proxy Nutzung IdIOHandler einrichten und miteinander verbinden.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
ford42

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 10:24
Heißt das, dass ich auf dem Proxy-Server was einrichten muss?
  Mit Zitat antworten Zitat
hhcm

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 10:33
Nein,

du musst den IRC Client mit einem IOHandler verbinden (TIdIOHandlerStack) und diesen wiederum mit der Proxy Komponente.
Chris
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 10:38
Ja darauf wollte ich hinaus und Daniels Beitrag zum lesen der Manuals unterstützen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
ford42

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

AW: IRC-Bot als Anfänger?

  Alt 1. Aug 2018, 10:54
Hmh, wenn ichs richtig verstanden habe muss ich einfach

IdIRC1.IOHandler := IdIOHandlerStack1; machen. Stimmt das?

Wenn ja, dann meckert er wegen dem SSL rum (Fehler 502 Proxy Error)

Aber ich habe den Port 80 auch in meinem ff konfiguriert
Angehängte Grafiken
Dateityp: png ProxyErrorIRCBot.PNG (13,5 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz