Wie programmiere ich einen kleinen Bot?

  • Allgemein

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Dennis Alexander.

    Wie programmiere ich einen kleinen Bot?

    Ja hallo leute,

    ich bin total neu und habe mir einfach mal gedacht, ich will VB lernen. Kann PHP, MySQL und HTML. Ab und an habe ich auch mit C+ bei GTA San Andreas an Servern rumexperimentiert hat auch geklappt - glaub ist fast selbe Scriptsprache ?

    Jedenfalls hatte ich jetzt vor einen Bot zu erstellen. Profis werden das wohl in 1 Minute hinkriegen (hab ja gesehen was ihr hier alles für coole Sachen habt). Ich möchte einen Bot erstellen, der nach ein paar Sekunden automatisch etwas in eine Textbox schreibt.

    Es gibt da ein paar Chats. Zum Beispiel: Knuddels. Es gibt ja viele die wollen unbedingt Minuten sammeln oder so. Deswegen loggen die sich ein, machen den Bot an und der schreibt jede paar Sekunden was in die Textbox und sendet es von alleine ab.

    Wie erstellt man sowas? Habe nach Tutorials im Internet gesucht, einiges gefunden aber dann immer gleich so "Media Player", "FTP Client" und so...

    Hat einer Lust mir bei dieser Aufgabe zu helfen?
    Guten Abend,

    du bist glaube ich im falschen Forum gelandet ( " Forum für die Programmierung in MS Office Anwendungen mit VBA " )

    Also eigendlich müsstest du nur eine Schleife machen, die sagt, sende auf Knopfdruck oder Tastenkombi den und den Key, und drücke am ende Enter, dann müsste es funktionieren, viel mehr muss man da glaube ich auch garnicht machen...

    VB.NET-Quellcode

    1. SendKeys.Send("TEXT Hier kann der Text rein" & "{ENTER}")


    So kannst du Tastatureingaben simulieren

    MfG VB.Ghost
    Du könntest dies mit einem Befehl erledigen, der sich SendKeys nennt. Diesen findest du in der Version 6.0 und auch in der neuen Version von Visual Basic .NET.

    Mithilfe des Befehls kannst du an eine andere Anwendung (bzw. in das Feld wo gerade der Cursor blinkt) etwas schreiben. Um das in einem bestimmten Zeitfenster zu realisieren, solltest du einen Timer verwenden und das Intervall entsprechend setzen (Das Intervall wird in Milisekunden eingegeben, sprich 1 Sekunde = 1000 Millisekunden)

    Tja, dann kanns auch schon losgehen ;)

    Viel Erfolg und Spaß.

    P.S. Schaue aber erst, ob du auch wirklich irgendwo einen IRC-Chat vollspammen willst ;) Meistens wirst du gekickt und gebannt.

    Edit:

    Da war wohl jemand schneller ;)

    Eine Schleife ist aber in diesem Fall nicht zu empfehlen, da du sonst mit Sleep() arbeiten müsstest und das würde deine Anwendung aufhängen. Arbeite lieber mit dem Timer, der lässt sich hier besser verwenden. Wenn du das implementiert hast, kannst du deine Anwendung ja auch ausbauen ;) Systemglobale Hotkeys, Zufallsnachrichten, u.v.m. ;)

    Alles möglich ;)
    Sorry das ich falsches Thema erwischt hab.

    Ja.. nur weiß ich jetzt auch nicht mehr als vorher. Also ich bin gaaanz neu in dieser Situation. Wie wäre denn man mal ein Scriptbeispiel wie bei der ersten Antwort ?

    mfg

    EDITED:

    Wie wäre es wennn mir das mal einer so als Codeschnipsel macht?:
    Von der Benutzeroberfläche so:
    -> Gewünschten Text eingeben,
    - auf Start-Button klicken,
    - Text wird jede 30 Sekunden gesendet,
    - man kann Stopp klicken und es hört auf zu sendne.
    Ein Beispielscript?

    VB.NET-Quellcode

    1. Public Class Main
    2. '// entwickelt von Dennis Alexander Petrasch am 11.01.2009 um 00:28 Uhr
    3. Private Sub StartStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartStop.Click
    4. ' Überprüfe Eingaben
    5. If numerictime.Value < 1 Then
    6. ' Wenn die Zeit auf 0 oder auf einen Wert unter 0 gesetzt wurde, wird eine Fehlermldung ausgeworfen
    7. MsgBox("Die Zeit wurde leider nicht korrekt eingestellt", MsgBoxStyle.Critical, "Falsche Zeit!")
    8. Return ' Bricht diese Sub hier ab
    9. End If
    10. If txtMessage.Text = "" Then
    11. ' Kein Text eingegeben
    12. MsgBox("Es wurde kein Text eingegeben!", MsgBoxStyle.Critical, "Kein Text!")
    13. Return ' Bricht diese Sub hier ab
    14. End If
    15. ' GUI-Korrekt für den Button
    16. If StartStop.Text = "Start" Then
    17. StartStop.Text = "Stop"
    18. ' Es wird gestartet
    19. MeinTimer.Interval = numerictime.Value * 60000 '// Hier steht im Archiv noch eine 10000 vom testen her. Bitte ändern!
    20. MeinTimer.Start()
    21. Else
    22. ' Es wird angehalten
    23. StartStop.Text = "Start"
    24. MeinTimer.Stop()
    25. End If
    26. End Sub
    27. Private Sub MeinTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MeinTimer.Tick
    28. ' Hier wird überprüft, ob er nach dem Text ein "Enter" senden soll, oder nicht
    29. ' und der Text wird gesendet
    30. If cbSendEnter.Checked = True Then
    31. SendKeys.Send(txtMessage.Text & "{ENTER}")
    32. Else
    33. SendKeys.Send(txtMessage.Text)
    34. End If
    35. End Sub
    36. Private Sub Website_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Website.Click
    37. Process.Start("http://www.entwicklerGemein.de") ' Ruft die Website auf
    38. End Sub
    39. End Class


    Und im Anhang als komplette Anwendung mit Quellcode. (Ich denke das könnte evtl. schon das ganze Projekt sein)

    Sorry, konnte das Paket auf die schnelle nicht mehr signieren, hab das signtool noch nicht hier in der Beta.

    -> Anhang entfernt wegen technischen Problemen, siehe nächsten Beitrag. - Dennis Alexander.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Dennis Alexander“ ()

    Stimmt sorry. Ja, Windows 7 ist noch nicht ausgereift, dafür kann man so besser Fehler identifizieren ;)

    Im Anhang eine neue Variante, die auch funktionieren sollte.

    (Signieren -> Info)

    P.S. Du solltest ein fertiges Programm nicht vorraussetzen ;) Ist eine Aufmerksamkeit von mir für Dich, im Norfall bekommst du solchen Service nicht. Weil man eigentlich davon ausgeht, das der Benutzer auch selber etwas probieren muss, und man ihm Stück für Stück neue Begriffe gibt, mitdenen er sich auseinandersetzen kann.

    Dazu gehören z.B. Signieren, Schleife, Timer, ...
    Dateien
    *peinlich* ;)

    Ich habe vorhin beim Testen den Wert vermindert, um nicht solange warten zu müssen.

    Anstatt

    VB.NET-Quellcode

    1. MeinTimer.Interval = numerictime.Value * 10000

    müsste es

    VB.NET-Quellcode

    1. MeinTimer.Interval = numerictime.Value * 60000


    heißen. (das hat jetzt aber nichts mit deinem Problem zu tun)

    Wie bereits oben gesagt, wird das Intervall in Millisekunden angegeben, und nurmictime.Value beinhaltet die Zahl, die du auswählst.
    Mit welchen Wert müsstest du also kalkulieren?

    Denke einfach mal logisch, schließlich ist das Denken in der Informatik am wichtigsten ;)


    PS: Wie kann ich das nun als *.exe speichern? Braucht man dazu keine dll ?
    Ich denke das du zunächst einmal ein paar Fachbücher lesen solltest, wenn du solche Fragen stellst ;)
    Der Vorgang nennt sich kompilieren. Ich bezweifle gerade ob du überhaupt Microsoft Visual Studio 2008 installiert hat und es überhaupt jemals gestartet hast. (Ich möchte auch keine Antwort darauf)

    Ich sage nur: Galileo Openbook. Anschauen - Schnell!

    Und die Grundlagen der Entwicklung verstehen, und wissen was eine IDE ist, und wie die IDE funktioniert. Ansonsten kannst du es vergessen auch nur ein Projekt zu realisieren.
    Das Buch ist kostenfrei? Hmm... man kann es runterladen und da steht 24.90€, ich schätze wenn man es mit DVD will ,oder ist das was man runterlädt nicht das gesamte Buch?

    Ich bedanke mich herzlich. Ich glaube ich werd mir das Buch kaufen mit DVD das ist dann noch verständlicher. Vielen Dank.
    Es nennt sihc Openbook, da es kostenlos für jeden zu haben ist ;) Du kannst es für ca. 25€ als Printmedium kaufen, aber das ist nicht nötig. Du kannst es Dir als - wenn ich jetzt richtig liege - als HTML-Version herunterladen (siehe Link: >> Download ca. 8 MB)

    Ich denke das dir die Computerversion ersteinmal reichen wird. Du kannst natürlich das Buch auch kaufen und den Verlag damit unterstützen (fände ich super), aber die Onlinevariante ist für einen Hobbyentwickler erstmal ausreichend ;) (Vorallem da du die Codesamples mit Copy+Paste nutzen kannst)

    Viel Erfolg!

    (Hier der Direktlink, wenn es gegen die Forenregeln bzw. das Regelwerk des Verlags entspricht bitte ich um eine Meldung bzw. Editierung: download.galileo-press.de/open…ting_einstieg_vb_2008.zip)