Join Counter und Autojoin Befehl

{KoD-HC}Lighty

Grünschnabel
Hallo zusammen,
Ich möchte für meinen Bot einen Zähler erstellen der zählt wie oft ein User einen Channel gejoint hat. Wie kann ich das am besten machen

Darüber hinaus möchte für den Bot noch einen Autojoin Befehl erstellen der bei einem Festgelegten HL den Bot in dem HL Text angegebenen Channel joinen lässt. Das Problem ist einfach das in den HL Meldungen der Channelname nicht immer an der gleichen Stelle steht. Gibt es eine Möglichkeit aus einem Text den Channelnamen rauszufiltern HL Meldungen sind in der Regel wie folgt:

Code:
.blood habe inc 7k eta5 #channelname
oder
.blood 7k eta5 #channelname
oder
7k inc eta5 bitte helft mir #channelname .blood

da sieht man das die Channelnamen immer woanders stehen können. Darüber hinaus ist es auch immer ein anderer Channelname.

Wäre für jede Hilfe dankbar.

MFG
Lighty
 
Irgendwie funktioniert das nicht, auf was beziehst du dich dabei jetzt auf den Zähler oder auf das Joinen bei HL
Den Channelnamen aus dem Zählerbefehl kann ich bei dem anderen entnehmen den ich als Variable abspeicher. Der Zähler soll eben nur in den Chans laufen den der Bot aufgrund des anderen Befehls joint.


Ich bin mal von dem ausgegangen das du dich auf den Join bei HL Befehl bezogen hast daher habe ich den Befehl wie folgt geschrieben:

Code:
on *:TEXT:*.blood*,*KoDalarm*:*:{ /join $+($chr(35),$gettok($1-,2,35))

Wie gesagt funktioniert leider nicht.


Dann habe ich noch ein Problem, und zwar geht es dadrum das ich ein Script habe das bei dem Befehl .add scan eine bestimmte Option aufführen soll. Allerdings gibt es andere Bots z.B.: von Dossi die da den String .addscan nutzen.

Wenn jatzt einer etwas in den Channel einfügt worauf dann dies addscan gemacht werden soll wird eine Nachricht in den Raum geschrieben das derjenige .add scan eingeben soll. gibt er jedoch erst .addscan ein schickt der Bot falsche Daten an die Datenbank nämlich kommt dann im Eintrag irgendwo .addscan vor. gibt es nun eine Möglichkeitt das ich dem Bot einprogramiere wenn einer .addscan eingibt führst du den befehl .add scan aus. Den im script kann ich es nicht ändern weil sonst das komplette Script umgeschrieben werden muss weil da einige befehle auf .add .... laufen und die nur per alias dann als scan oder user als .add scan oder .add user zugewiesen wird.

Ich hoffe durch meine ausführungen steigt noch einer durch und weiss was ich meine.


Vielen Dank im Vorraus
 
Zuletzt bearbeitet:
on *:TEXT:*.blood*,*KoDalarm*:*:{ /join $+($chr(35),$gettok($1-,2,35))

Da fehlt auch irgendwie die abschließende geschweifte Klammer.
Irgendwie verstehe ich deinen Matchtext auch nicht, der entspricht nämlich nicht deinen Beispielen.

Und ja, es war auf das Highlight bezogen.
 
Die geschweifte Klammer habe ich einfach nur vergessen hier mit zu schreiben. und der Matchtext muss ja schließlich so denn keiner weiss wo die Leute das Wort bzw. die Wörter im Satz einbauen.
 
Mich irritiert aber das "," sowie auch das "KoDalarm" in deinem Matchtext. Beides ist in deinen Beispielen nicht vorhanden.

Der join-Befehl stimmt auf jeden Fall, habe soeben alle deine Beispiele durchprobiert.

Der Fehler muss wohl bei dir im Event liegen, es wird wahrscheinlich gar nicht getriggert.
 
Hab den Fehler gefunden.

Nicht: larm*:*:{
sondern: larm*:#:{


Jetzt fehlt mir nur noch die Möglichkeit mit den Joinzähler. Dazu nochmal er soll einfach nur zählen wie oft z.B.: hinz den Channel gejoint hat, und das sollte vielleicht noch über einen befehl von kuntz abgerufen werden können.
 
Das wäre eigentlich nicht dermaßen schwer, hier mal ein simples Beispiel das für einen Channel ausgelegt ist:

Code:
on 1:join:#mein.channel:inc %joins. [ $+ [ $nick ] ]
on 1:text:!joins *:#mein.channel:if (%joins. [ $+ [ $2 ] ]) msg $chan $$2 hat $chan %joins. [ $+ [ $2 ] ] mal betreten.

Informationen findest du unter:

/help Evaluation Brackets
/help /inc
/help /if
 
Jetzt habe ich noch das eine Problem und zwar habe ich ein Script was ellenlang ist und das ist dafür wenn jemand etwas bestimmtes in den Channel einfügt wird er aufgefordert .add scan einzugeben damit das eingefügt zu einer Datenbank hochgeladen wir. Hiter dem .add sind allerdings mehrere Sachen hinterlegt da gibt es .add help wo die Hilfe steht dann .add info wo zu dem EIntrag eine Info zugefügt werden kann usw. das läuft alles über Aliases. Da ich das nun ändern will da es andere Bots gibt die auf .addscan die sachen hochschicken möchte ich gerne einen satz einfügen der einfach ausgedrückt heißt: bei Eingabe von .addscan führe .add scan aus.

Das eigentliche Problem ist halt das bei dem Einfügen der Daten im Channel 2 Zeilen berücksichtigt werde müssen. Daraus liest der bot 3 Werte. 1.Koordinaten, 2. Name, und 3. Allianzzugehörigkeit. Fügt das jedoch einer ein und gibt wegen 2. Bots anwesend erst .addscan ein setzt der bot als Wert 3 die Allianzzugehörigkeit .addscan ein. Daher soll mein Bot genau wie alle anderen auf .addscan reagieren ohne das ich groß das Script umschreiben muss.


Vielen Dank schonmal im vorraus für die Hilfe

P.S.: Helmut deine Sachen wegen /help ... sind vielleicht ganz Hilfreich aber ich habe Ocrana IRC und da ist die Hilfe irgendwie nicht drin zumindest kann er die nicht finden.

P.P.S.: Kan ich Channel sperren das ich dahin nicht invitet werden kann Es gibt so eine paar Hirnlose die immer meinen Bot in einen "Idlerchan" inviten und obwohl ich kein Autojoin on invite drin habe komme ich da immer rein,. Gib es ne Möglichkeit sich gegen sowas zu schützen?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück