BlackBoard » Design, Programmierung & Entwicklung » Projekte » PHP IRC-Notify für neue Posts » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (4): « vorherige 1 [2] 3 4 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen IRC-Notify für neue Posts
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
HarryP
Neuling

Dabei seit: 24.02.2003
Beiträge: 12

      Zum Anfang der Seite springen

Hallo!!!

Also nachdem ich mir hier lokal einen Webserver und php installiert habe läuft der Bot einwanfrei....

Aber das dumme Biest mit den gleichen Datein bei Hosteurope zum laufen zu bringen ....schaf ich leider net....

Hosteurope behauptet zwar keine ports geblockt zu haben aber sobald ich

php:
1:
irc_notify($wbbuserdata['username'],$postid,$threadid);


eintrage kommt es zu einer merkwürdigen Fehlermeldung....die meiner meinung nach noch nicht mal was mit Hack zu tun hat sie lautet:
Database error in WoltLab Burning Board: Invalid SQL: SELECT wordid, word FROM bb3_wordlist WHERE word IN ('ccc','ccc')
mysql error: Lost connection to MySQL server during query
mysql error number: 2013
Date: 03.03.2003 @ 16:34
Script: /forum/newthread.php
Referer: http://www.kalinowskidesign.de/forum/new...oardid=103&sid=

Werde demnächst es noch mal auf einem frischen Board ....wo noch absolut kein anderer Hack eingebaut ist.....

Sollte trotzdem jemand eine Idee dazuhaben ....bin ich dafür dankbar...

MFG
HarryP

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von HarryP: 03.03.2003 16:33.

03.03.2003 16:32 HarryP ist offline Homepage von HarryP Beiträge von HarryP suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Ich hätte auch noch mal eine Frage bezüglich des Eggdrop Moduls. Ich habe mir den Code mal genauer angeschaut. Leider bin ich noch nicht dazugekommen programmiertechnisch auf Linux umzusteigen. Deshalb bin ich immer noch ein Winsock-User.

Wenn mir jemand vielleicht mal erklären könnte, was fd_sets eigentlich sind. Ich glaube ich habe das zumindest ansatzweise verstanden (google sei Dank). Aber wo ich absolut noch nicht durchsteige ist select(). Ich habe noch nie mit Synchronous I/O gearbeitet. Vielleicht wäre eine kurze Beschreibung was die Funktion "readline" eigentlich im Detail macht hilfreich.

Mein Hauptproblem liegt hier:
if (select(fd+1,&rfds,NULL,NULL,&tv)<1) { i=-1; break; }
außerdem verstehe ich nicht ganz, was die while-Schleife hier soll.

Danke
05.03.2003 22:25 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
Zirias Zirias ist männlich
BlackBoarder


images/avatars/avatar-450.jpg

Dabei seit: 11.09.2002
Beiträge: 1.217
Herkunft: /dev/urandom

Themenstarter Thema begonnen von Zirias
      Zum Anfang der Seite springen

select() ist eine der kompliziertesten Funktionen smile Im Grunde übergibt man ihr ein Set von filedeskriptoren zum lesen und/oder eines zum schreiben (fd_set) und die Funktion gibt einem davon den nächsten zurück, der bereit wird. Für das ganze kann man ein Timeout angeben.
Meine readline()-Funktion tut nichts weiter, als eine komplette Zeile (terminiert mit \n oder \r\n) vom Socket einzulesen und das zeichenweise.

Weitere Infos in der sehr sehr komplizierten manpage Augenzwinkern
http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?select+2

PS: In readline() verwende ich select nur mit einem einzigen filedeskriptor zum lesen, wenn also select() einen wert >0 zurückliefert weiß ich schon, dass auf genau diesem Deskriptor Daten warten. die von dir zitierte Anweisung implementiert also nur einen Timeout, wenn nicht innerhalb von (... ich glaub eine Sekunde hatte ich genommen oder eine halbe ...) weitere Daten ankommen, wird mit einem Fehler abgebrochen und der Socket wieder geschlossen. Das verhindert erstens, dass der Bot "einfrieren" kann und zweitens, dass jemand es allzuleicht hab, von hand Passwörter zu raten smile

__________________
palmen-it.de
GCS/MU d+(++) s+: a C++ UL++++ P+++$ L+++ !E W+++ N+ o? K? w++$ !O M-- V?
PS+ PE++ Y+ PGP++ t !5 X- R- tv b+ DI++ D+ G e++ h r y+

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Zirias: 06.03.2003 15:22.

06.03.2003 15:19 Zirias ist offline Homepage von Zirias Beiträge von Zirias suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Da gibt es nur ein paar Sachen, die ich nicht verstehe:

1. fd_set ist also eine Ansammlung von Bits, von denen jedes einen Socket repräsentiert. sizeof(fd_set) ist 128 Bytes. Das entspricht 1024 Bits oder Sockets. Der Geltungsbereich von int ist aber wesentlich größer. Es können also nicht alle möglichen Socketdeskriptoren von der Bitmaske abgedeckt werden. Irgendwas muß ich also falsch verstanden haben.

2. fd wird mit dem Socketdeskriptor initialisiert, der von accept zurückgegeben wird. Man kann also sagen, das fd ein Handle für den Socket enthält. Was wird denn der Funktion select() übergeben? Soll das die Obergrenze darstellen, bis zu der die Funktion die Bereitschaft prüfen soll?
06.03.2003 20:35 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
Zirias Zirias ist männlich
BlackBoarder


images/avatars/avatar-450.jpg

Dabei seit: 11.09.2002
Beiträge: 1.217
Herkunft: /dev/urandom

Themenstarter Thema begonnen von Zirias
      Zum Anfang der Seite springen

Was fd_set intern ist kann dir egal sein, betrachte es als einen ADT, er ist ja in header-files definiert und es gibt Makros zur Verwaltung.

Und mit der Obergrenze liegst du richtig, siehe manpage.

__________________
palmen-it.de
GCS/MU d+(++) s+: a C++ UL++++ P+++$ L+++ !E W+++ N+ o? K? w++$ !O M-- V?
PS+ PE++ Y+ PGP++ t !5 X- R- tv b+ DI++ D+ G e++ h r y+
06.03.2003 20:45 Zirias ist offline Homepage von Zirias Beiträge von Zirias suchen
HarryP
Neuling

Dabei seit: 24.02.2003
Beiträge: 12

Hallo!!       Zum Anfang der Seite springen

Da bin ich auch mal wieder.....Nachdem der Bot auf meiner HP schon länger läuft mögen ihn die Leute nicht mehr so recht ...., weil bei über 250 postings am tag es doch schon zeitweise nervt....!!!
Anderseite will man auch nicht drauf verzichten

Daher liegt jetzt der wunsch nahe das der Bot diese Info´s nur im query ausgibt.....ist sowas möglich oder gibt es irgendwo schon ein ähnliches Modul was man anpassen kann ???

Auch über links zu Infos würde ich mich schon freun....

MFG
HarryP
04.04.2003 09:21 HarryP ist offline Homepage von HarryP Beiträge von HarryP suchen
Zirias Zirias ist männlich
BlackBoarder


images/avatars/avatar-450.jpg

Dabei seit: 11.09.2002
Beiträge: 1.217
Herkunft: /dev/urandom

Themenstarter Thema begonnen von Zirias
      Zum Anfang der Seite springen

Query wäre umständlich, da müsste sich der Bot eine Liste aller Leute führen, die das habenn wollen. Genau dafür hat man ja eigentlich die Channels erfunden smile
Erstelle einfach einen zweiten Channel, wer die neuen Posts lesen will, geht da rein, und gut ist smile

Greets, Ziri

__________________
palmen-it.de
GCS/MU d+(++) s+: a C++ UL++++ P+++$ L+++ !E W+++ N+ o? K? w++$ !O M-- V?
PS+ PE++ Y+ PGP++ t !5 X- R- tv b+ DI++ D+ G e++ h r y+
04.04.2003 12:04 Zirias ist offline Homepage von Zirias Beiträge von Zirias suchen
HarryP
Neuling

Dabei seit: 24.02.2003
Beiträge: 12

      Zum Anfang der Seite springen

ja, stimmt im grunde bleibt sich das gleich 8)
MFG
04.04.2003 23:27 HarryP ist offline Homepage von HarryP Beiträge von HarryP suchen
Junkee
Neuling

Dabei seit: 29.07.2003
Beiträge: 1

      Zum Anfang der Seite springen

super script

kann mir jemand sagen wie es für die wbb2.1 ist ? also wie da die Dateien modifiziert werden müssen?

wäre über Hilfe Dankbar

Gruß

Junkee

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Junkee: 06.08.2003 15:17.

29.07.2003 21:29 Junkee ist offline E-Mail an Junkee senden Beiträge von Junkee suchen
DSD
Neuling

Dabei seit: 03.08.2003
Beiträge: 4

      Zum Anfang der Seite springen

hi!
wie kann man den bot in 2 channels benutzen?
also ich habe meine einzelnen forenids mit if tags so belegt das halt bestimmte prefixe ausgegeben werden per boardid halt!
nun will ich aber das interne zeugs fuer admins etc im admin channel haben aber wie kann man das einbaun? vlt ne 2te irc.noftify.php? ich wäre über hilfe sehr dankbar
03.08.2003 06:27 DSD ist offline E-Mail an DSD senden Beiträge von DSD suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.370
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Entweder das, oder du fragst eben am Anfang des Scripts die Foren-ID ab und wenn die von einem Admin-Forum ist, dann lässt du die $channel-Variable anpassen.

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

03.08.2003 11:35 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
DSD
Neuling

Dabei seit: 03.08.2003
Beiträge: 4

      Zum Anfang der Seite springen

die foren variable ist abgefragt da ich ja fuer andere foren nen $prefix benutze aber ich möchte genauer wissn wie ich das anstellensoll mit dem 2ten chan unglücklich
03.08.2003 12:02 DSD ist offline E-Mail an DSD senden Beiträge von DSD suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.370
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
//Config:

$thread_url="http://my.boards.host.net/thread.php";
$egg_host="my.bots.host.net";
$egg_port="12345";
$egg_pass="Password";

if ($forenvariable == "bestimmter Wert")
  $channel="#adminchannel";
else
  $channel="#normalerchannel";

//END Config. 


__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von LX: 03.08.2003 12:12.

03.08.2003 12:11 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
DSD
Neuling

Dabei seit: 03.08.2003
Beiträge: 4

      Zum Anfang der Seite springen

so kommt nix in den chan weder in den admin noch in den crew chan

hab das so gemacht:
if ($forenvariable == "1")
$channel="#adminchannel";
else
$channel="#normalerchannel";

unten dann:
if ($thread[boardid]==36) $prefix="New crew Stuff" && $forenvariable == "1";

ja boardid wird abgefragt



*help*

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Exekutor: 05.08.2003 01:45.

03.08.2003 14:15 DSD ist offline E-Mail an DSD senden Beiträge von DSD suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

So, nach längerer Arbeit hab ich es jetzt endlich hinbekommen das Modul von Zirias zu erweitern. Neue Features:
  • Die Einstellungen können jetzt bei laufendem Bot verändert werden
  • Die Standard-Einstellung wird aus einer Konfigurationsdatei geladen
  • Der Board-Hack braucht keine IRC-Daten mehr zu übergeben. Einfach das Passwort gefolgt von einem Newline-Zeichen und dann die Nachricht die der Bot posten soll.
  • Mehrere Administratoren für das Modul
  • Die Routine zur Nachrichtenverteilung läßt sich bei laufendem Bot an- und abschalten.
  • 2 Arbeitsmodi

Zu den Arbeitsmodi muß ich noch etwas erklären. Es gibt einmal den Transparent-Mode und den Private-Mode. Der Transparent-Mode arbeitet praktisch identisch wie das alte Modul. Eine Nachricht wird einfach an einen angegeben Channel gesendet. Der Private-Mode kommt ohne einen extra Channel aus. Befindet sich das Modul in diesem Modus, werden alle Nachrichten über Query an die Benutzer verteilt, die sich für diesen Newsletter angemeldet haben.

Für das Kompilieren gelten die gleichen Anweisungen, die Zirias im schon angegeben hat. Einzige Änderung gegenüber dem Original: Der Board-Hack muß so angepasst werden, daß er nur die Nachricht selbst übergibt und keine IRC-Protokolldaten.

Ich denke zwar, daß ich alle internen Puffer des Moduls abgesichert habe, so daß niemand einen Bufferoverflow zustande bringt, aber man kann ja immer mal etwas übersehen haben. Ich übernehme keine Verantwortung für evtl. Schäden die durch den Einsatz dieses Modul entstehen. Daher ist die Benutzung auf eigene Gefahr.

Wen das nicht abschreckt: Viel Spaß damit...
Download

[edit]
Ach ja, fast hätte ich's vergessen. Die Konfigurationsdatei ist standardmäßig im Eggdrop-Verzeichnis und heißt "mod_notify.conf". Das Verzeichnis und der Name kann aber auch geändert werden indem man die entsprechenden #define-Anweisungen im Source ändert. Die Konfigurationsdatei ist folgendermaßen aufgebaut (Groß- und Kleinschreibung wird unterschieden, jede Zeile ist mit ENTER abzuschliessen):
Zitat:

Port 12345
Password abcdef
Mode transparent
Channel #bb-announce
GrantOp Compuholic
GrantOp LX

  1. Port: Port auf dem der Bot auf Daten vom Board-Hack wartet
  2. Passwort: Passwort mit dem der Port gegen unbefugte Nutzung gesichert ist
  3. Channel: Name des Channel in den im Transparent-Mode die Daten gepostet werden (wird ignoriert, wenn der Private-Mode aktiviert ist)
  4. GrantOp: Hier kann man einzelnen Benutzern Operator-Rechte geben. Für jeden Benutzer ist eine neue GrantOp-Zeile erforderlich.

Die Kommandos sind wie folgt definiert:
  1. /msg <Botname> subscribe : Trägt einen für den Newsletter ein
  2. /msg <Botname> unsubscribe : Löscht einen von der Liste für den Newsletter
  3. !notify_status : Gibt des Status des Moduls aus (nur für Admins)
  4. !notify_off : Unterdrückt das Anzeigen neuer Nachrichten (nur für Admins)
  5. !notify_on : Aktiviert das Modul wieder. Alle Einträge für den Newsletter werden gelöscht und die Konfigurationsdatei neu eingelesen. (nur für Admins)
  6. !notify_channel #channel : Setzt den Ausgabe-Channel für den Transparent-Mode (nur für Admins)
  7. !notify_mode <transparent | private> : Setzt den Modus den Bots entsprechend dem Argument. (nur für Admins)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Compuholic: 09.08.2003 12:06.

09.08.2003 11:49 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
Skywalker
Neuling

Dabei seit: 19.08.2003
Beiträge: 2

      Zum Anfang der Seite springen

Hallo

Super das du/ihr hier das zusammengetragen habt
aber mein eigentliches Problem is,wo bekomme ich einen solchen Eggdrop/Bot her usw..

Sorry für die Frage,aber ich blick da net so ganz durch & vielleicht is hier jemand dabei,der mir ein bisschen helfen kann auf diesem Gebiet

Danke euch

Greetz
19.08.2003 14:56 Skywalker ist offline E-Mail an Skywalker senden Beiträge von Skywalker suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Download für Eggdrop: www.eggheads.org
Um gleich weiteren Fragen vorzubeugen: Eggdrop ist für *NIX Systeme geschrieben worden. Es gibt zwar ein Windows-Version (heißt Windrop), allerdings weiß ich nicht ob der Windrop auch mit normalen Eggdrop-Modulen auskommt und ob das Modul in dieser Form darauf lauffähig ist.

Vielleit sollte ich noch ein paar Worte zur GrantOp Option verlieren. Es findet keinerlei Identitätsprüfung statt. Wenn jemand dem Channel joint, der den gleichen Nick hat, wie jemand, der auf der Operatorliste steht, hat er alle Rechte über das Modul.

Das Problem besteht zwar generell im IRC, aber es trotzdem nochmal darauf hingewiesen. Vielleicht baut ja auch noch jemand eine Option ein, mit der man die Befehle mit einem Passwort schützen kann oder sich die Ops erst identifizieren müssen.
19.08.2003 17:19 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
Skywalker
Neuling

Dabei seit: 19.08.2003
Beiträge: 2

      Zum Anfang der Seite springen

Danke

aber ich hab mal nachgeschaut,den gezuppelt,aber weiter weiss ich auch net ... weil ich absolut net durchblicke

zumal,am Anfang den Ordner gibts net usw...( der User der den 1.Post gemacht hat ) aber wie gesagt,Blicke net durch

Weiss ja net,aber vll hilft mir wieder jemand von euch dabei

Danke
20.08.2003 20:04 Skywalker ist offline E-Mail an Skywalker senden Beiträge von Skywalker suchen
FidelCastro
Neuling

Dabei seit: 23.10.2003
Beiträge: 4

      Zum Anfang der Seite springen

hab ein problem beim compilen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
cp: Aufruf von stat für »./remote.mod/Makefile« nicht möglich: Datei oder Verzeichnis nicht gefunden
make[2]: Entering directory `/home/FidelCastro/eggedk/src/mod/remote.mod'
make[2]: *** Keine Regel, um »modules« zu erstellen.  Schluss.
make[2]: Leaving directory `/home/FidelCastro/eggedk/src/mod/remote.mod'
make[1]: *** [remote.mod_so] Fehler 2
make[1]: Leaving directory `/home/FidelCastro/eggedk/src/mod'
make: *** [modules] Fehler 2
FidelCastro@FidelCastro:~/eggedk>



wäre über jede hilfe dankbar
23.10.2003 23:07 FidelCastro ist offline Beiträge von FidelCastro suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.370
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Datei korrekt erstellt? Groß-/Kleinschreibung beachtet? TABs statt 8 Spaces in der Source des Makefiles verwendet?

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

24.10.2003 00:33 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
Seiten (4): « vorherige 1 [2] 3 4 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Projekte » PHP IRC-Notify für neue Posts

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH