1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Welche Sprachen/Frameworks nutzt ihr für Bots ?

Dieses Thema im Forum "Main Forum" wurde erstellt von SigSegV, 19. Januar 2018.

  1. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Nur so aus Interesse :)

    Vielleicht noch mit einer kurzen Begründung.

    Ich nutze momentan Go, hauptsächlich weil mir Performance wichtig ist und ich schon länger mal mit Go arbeiten wollte.
    Darüber hinaus beinhaltet die Std-Lib eigentlich alles was man so für REST-Services braucht. Da ich mit dem Bot eigentlich nur auf eine offene WebApi zugreife, war das ein weiterer Pluspunkt für mich.

    Alternativ hätte ich auch C++, C# oder Python nutzen, aber damit muss ich mich schon den ganzen Tag auf der Arbeit rumschlagen ;)

    Gereizt hätte mich auch noch Haskell, aber einfach nur weil ich die Sprache klasse finde. Sehe aber keinen wirklich Vorteil darin Haskell zu nutzen ... ich wäre damit höchstwahrscheinlich sogar langsamer, weil mir die Erfahrung mit funktionalen Sprachen fehlt.
     
  2. Pentox

    Pentox New Member

    Registriert seit:
    4. Juli 2017
    Beiträge:
    22
    Zustimmungen:
    6
    Punkte für Erfolge:
    3
    ich verwende sehr gerne c#. mit der sprache fühle ich mich einfach wohl.
     
    SigSegV gefällt das.
  3. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Mit C# arbeite ich hauptsächlich auf der Arbeit. Finde auch dass C# eine sehr schöne Sprache ist, aber sie ist mir insgesamt etwas zu "quaselig", damit meine ich,
    man hat oft etwas mehr zu schreiben als in anderen Sprachen.
    Wobei ich zugeben muss es wird immer besser ... ReSharper weißt man mich immer wieder darauf hin, dass es (neuerdings) auch weit kürzer geht.
    Weiß nicht ob du LINQ (Language Integrated Query) kennst oder nutzt (falls nicht schau's dir mal an), aber das ist für mich eine der besten Sachen an C#.
     
  4. Pentox

    Pentox New Member

    Registriert seit:
    4. Juli 2017
    Beiträge:
    22
    Zustimmungen:
    6
    Punkte für Erfolge:
    3
    von LINQ hab ich mal was gehört. nur nie wirklich damit beschäftigt. werde mich da wohl mal einlesen.
    hast du zufällig was gutes zum nachlesen bzgl. LINQ? :p
     
    SigSegV gefällt das.
  5. SilverHazard

    SilverHazard Moderator Mitarbeiter Moderator

    Registriert seit:
    2. Juli 2017
    Beiträge:
    59
    Zustimmungen:
    48
    Punkte für Erfolge:
    18
    Geschlecht:
    männlich
    Ich programmiere meine Bots aktuell in Kotlin, als Framework dazu dann Jsoup, Selenium und - Eigenwerbung - Themistokles, wobei ich da in letzter Zeit keine Änderungen mehr gepusht hatte (eine Variante mit Selenium liegt noch bei mir auf der Platte)

    Für private Testprojekte kommt dann teilweise noch Python bzw. Fuel zum Einsatz

    Go habe ich noch nie verwendet, wird aber in den nächsten Monaten sicher passieren :)
     
    SigSegV gefällt das.
  6. 3HMonkey

    3HMonkey Administrator Mitarbeiter Administrator

    Registriert seit:
    28. Juni 2017
    Beiträge:
    79
    Zustimmungen:
    41
    Punkte für Erfolge:
    18
    Geschlecht:
    männlich
    Zu den häufigsten Sprachen gehören wahrscheinlich C,C++,C#,Java und einiges an Skriptsprachen, außer AutoIt ;)
     
    SigSegV gefällt das.
  7. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Kommt drauf an wie gut du mit Englisch zurecht kommst. Mir ist jetzt leider nichts brauchbares auf Deutsch bekannt.
    Finde in dem Video wird das Grundsätzliche ganz gut vermittelt.



    LINQ ist aber zu umfangreich um es komplett zu erklären. Die Doku ist aber nicht schlecht, gibt eigentlich zu jeder Funktion mehr als genug Fragen und Beispiele im Internet.
    Grundsätzlich liefert die LINQ einfach eine Vielzahl von Hilfsfunktionen um Listen zu transformieren.
    z.B.
    // Select => Wähle einzelne Werte aus jedem Objekt und bilde daraus eine neue Liste
    // Aggregate => Verknüpfe jeden Wert in der Liste<T> zu einem Wert vom Type T
    var res = messages.Select(m => m.Author).Aggregate((authors, author) => authors + ", " + author);
    // res == "Author1, Author2, ..., AuthorN"

    // OrderBy => Sortiere die Liste anhand einer Property des Objektes (aufsteigend).
    // ThenBy => Sortiere danach nach einer weiteren Property des Objektes
    // Erste Property hat Vorrang vor der zweiten Property
    var orderedMessages = messages.OrderBy(m => m.Priority).ThenBy(m => m.TimeStamp).ToList();
    Siehe auch Parallelen zu SQL :)
     
    Zuletzt bearbeitet: 21. Januar 2018
  8. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    An Selenium hatte ich auch schon öfter gedacht. Ist das nicht eigentlich für die Testautomatisierung gedacht ?
    Taugt das ? Das würde mich irgendwie auch mal reizen damit zu spielen :)

    Auch ohne diese Frage zu stellen hätte ich rein aus Erfahrung auf diese Sprachen getippt xD
    Ich habe halt auf Antworten gehofft die ich nicht erwartet hätte :)
    Was hat es mit AutoIt auf sich ? Ich hab den Namen schon öfter mal gelesen, aber keine Ahnung was genau das ist.
     
  9. Zaphod

    Zaphod New Member

    Registriert seit:
    26. Dezember 2017
    Beiträge:
    17
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Ort:
    Nürnberg
    Autoit ist eine Sprache, mit der man ursprünglich Windows automatisieren kann.
    Du kannst also sagen:
    Suche an dieser Position nach einem roten Pixel und wenn der da ist, drücke "F1"
    Praktisch für kleine Bots, die im Hintergrund laufen und einen Trank nehmen, wenn die Energie nachlässt (weil dann das Pixel rot ist und nicht blau ... oder so.)
    Oder Klickbots, die sich einloggen; eine Zeitlang wo rumklicken und dann wieder offline gehen.
    Mit Hotkeys kannst Du starten, stoppen und pausieren.

    Allerdings habe ich auch schon einen Angelbot für Metin2 geschrieben, der über einen "Radar" die Umgebung im Auge behält und sich bei Annäherung von Mods pasiv verhält oder ausloggt.
    Wenn Du beim Angeln angeschrieben wirst, antwortet er in begrenztem Umfang.
    Das alles rein auf Pixelsearch und Keypress - also 100% undetectable!
    Mit der FF.au3 kann man auch den Firefox fernsteuern; Daten abfangen und zurück schicken.

    Mach einfach mal ein Tutorial durch. Das ist wirklich eine ganz einfache Sprache - ähnlich Basic

    Schönen Gruß
    Zaphod
     
    SigSegV gefällt das.
  10. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Danke Zaphod, damit kann ich was anfangen. Und ich kann auch verstehen wieso das bei Leuten die wirklich coden können, vielleicht nicht so angesehen ist :)
    Ich würde es auch als "etwas stumpf aber pragmatisch" einstufen.
    Eigentlich wollte ich schreiben, dass ich mir es ja mal anschauen würde, aber leider nicht wirklich etwas habe das ich damit machen könnte. Aber dann fiel mir ein dass ich jeden morgen Daten in einem Excel Sheet tracke, vielleicht könnte ich das mit AutoIt automatisieren. Nach nun fast 3 Monaten (jeden ! Morgen beim Kaffe) geht mir das langsam auf die Nerven ;)
     
  11. SilverHazard

    SilverHazard Moderator Mitarbeiter Moderator

    Registriert seit:
    2. Juli 2017
    Beiträge:
    59
    Zustimmungen:
    48
    Punkte für Erfolge:
    18
    Geschlecht:
    männlich
    Richtig, Selenium ist ursprünglich für die automatisierte Testung von Webseiten konzipiert und ist quasi die Schnittstelle zu bestehenden Browsern ("Driver")

    Das hat für mich drei Vorteile:
    1. JavaScript wird ausgeführt, mit allem drum und dran, was bei manchen Webseiten den Login deutlich erleichtert (Benutzername und Passwort eintippen und absenden statt noch sämtliche Token zu suchen/berechnen und richtig zu versenden) und bspw. für verschiedene Captchas (ReCaptcha 2.0) quasi notwendig ist
    2. Wenn etwas nicht funktioniert, kann ich den headless Driver (verwende meistens PhantomJS) bspw. durch Chrome ersetzen (im Idealfall eine Zeile im Code verändern) und dem Bot direkt bei der Arbeit zuschauen und den Fehler meistens leichter finden
    3. Ich muss mich auf Http-Ebene rumschlagen, sondern kann bei Html bleiben, das ich ja ohnehin parsen muss
    Nachteil ist natürlich, dass ein vollständiger Browser gestartet wird, der auch headless noch deutlich mehr RAM und CPU-Leistung braucht, als wenn ich direkt die Pakete senden würde
     
    SigSegV gefällt das.
  12. Zaphod

    Zaphod New Member

    Registriert seit:
    26. Dezember 2017
    Beiträge:
    17
    Zustimmungen:
    4
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Ort:
    Nürnberg
    Hi,

    dafür gibts in AutoIt auch eine Excel UDF, welche Dir viele Funktionen wie Öfnen und Schließen von Tabellen und Werte eintragen und auslesen abnimmt.

    Schönen Gruß
    Zaphod
     
    SigSegV gefällt das.
  13. w33dt4k3r

    w33dt4k3r Member

    Registriert seit:
    5. Juli 2017
    Beiträge:
    68
    Zustimmungen:
    20
    Punkte für Erfolge:
    8
    Geschlecht:
    männlich
    Ort:
    NRW
    Ich benutze momentan am liebsten Python, da kann ich die Bots dann 24/7 stromsparend auf dem Raspberry laufen lassen.
    Ansonsten auch mal gerne in Autoit oder JS

    LG
     
    SigSegV gefällt das.
  14. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Gut über das Thema "Wo das Ganze 24/7 laufen lassen" habe ich mir noch nicht so wirklich Gedanken gemacht.
    Beschäftige mich aber seit einer Weile auf der Arbeit mit "Serverless" Lösungen, denke dass könnte auch für Bots sehr interessant sein.

    Für die denen das nichts sagt, dass bieten eigentlich alle großen Cloud-Dienste (Amazon AWS, Azure ...) an. Die Idee dabei ist dass man
    seinen "Code" hochläd und dieser dann auf den Servern ausgeführt.
    Das ist zwar nicht wirklich "Serverless", aber zumindest aus der Perspektive des Nutzers, da dieser sich nicht um die Infrastruktur kümmern
    muss, auf der sein Code läuft. Das ist Aufgabe der Anbieter, dieser garantiert, dass das System ON bleibt und der Code ausgeführt wird.

    Zumindest die Lambda Services von AWS (Amazon), sind für Anwendungen die keinen großen Traffic verursachen kostenlos (man hat eine
    Menge Traffic pro Monat frei und diese ist gar nicht mal so klein).
    Das dürfte für die meisten Bots vollkommen ausreichend sein. Man müsste sich also nur (ist kostenlos) bei AWS einen Account anlegen und
    könnte seinen Bot dann 24/7 bei Amazon auf den Servern laufen lassen.
     
  15. Botuser28

    Botuser28 Member

    Registriert seit:
    2. Januar 2018
    Beiträge:
    50
    Zustimmungen:
    10
    Punkte für Erfolge:
    8
    Wenn jemand Server braucht würde ich Mal ein wenig Eigenwerbung machen ^^ :D
    Wer einen braucht per pn schreiben nehme kein Geld dafür
    Alles was es kostet sind die Server kosten da es nicht meine eigene hardware ist, aber die Verwaltung und das aufsetzen mache ich alles
     
  16. w33dt4k3r

    w33dt4k3r Member

    Registriert seit:
    5. Juli 2017
    Beiträge:
    68
    Zustimmungen:
    20
    Punkte für Erfolge:
    8
    Geschlecht:
    männlich
    Ort:
    NRW
    Cloud Computing ist für sowas definitiv interessant, allerdings kostet das meistens was und mir würde die "Kontrolle" über den Server fehlen^^
    Wusste aber nicht das Amazon sowas auch gratis anbietet..

    LG
     
  17. SigSegV

    SigSegV New Member

    Registriert seit:
    14. Januar 2018
    Beiträge:
    15
    Zustimmungen:
    7
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Das sehe ich eher als unnötigen Aufwand, wichtig ist doch, dass das Zeug 24/7 läuft und wenn sich sonst wer darum kümmert und das gewährleistet, wieso nicht ?

    Wie gesagt gratis solange du eine gewisse Menge Traffic nicht überschreitest, da das Angebot eigentlich für Webservices oder ähnliches gedacht ist, sollte es eigentlich nicht dazu kommen, dass dein Bot dieses Grenze überschreitet. Getestet hab ich es aber auch noch nicht ... und wenn man will kommt man sicher auch drüber xD

    Aber wie gesagt, testen konnte ich es selbst auch noch nicht. Würde ich aber gern mal :)
     
  18. w33dt4k3r

    w33dt4k3r Member

    Registriert seit:
    5. Juli 2017
    Beiträge:
    68
    Zustimmungen:
    20
    Punkte für Erfolge:
    8
    Geschlecht:
    männlich
    Ort:
    NRW
    Ich finde den Administrationsaufwand nicht schlimm, da ich sowas gerne mache^^
    Aber da spalten sich ja die Geschmäcker^^

    LG
     

Diese Seite empfehlen

Die Seite wird geladen...