Comu (21.11.2011), Cracker (09.12.2011), Dbzfreak1337 (21.11.2011), ESC (21.11.2011), Gangstersheep (04.02.2012), getsha (05.09.2018), icekillfx (17.07.2012), Impact (27.03.2012), Kolle1991 (17.07.2012), Maffin (08.06.2012), marvijjn (21.11.2011), Roxithro (21.11.2011), Stardunk (28.03.2012), x BoooM x (04.12.2011)
-
21.11.2011, 00:06 #1
[Tutorial][#1] Bot programmieren [VB.NET]
Hallo, ich schreibe momentan eine Tutorial-Reihe, wie ihr einen eigenen Knuddels-Bot
programmieren könnt. Es wird kein besonderer Bot sein, sondern ein ganz einfacher, mit dem ihr
euch in den Knuddels-Chat einloggen und mit anderen Mitgliedern chatten könnt.
Anti-Admin, Stayonline usw. wird unser Bot vorerst nicht enthalten.
Dann fangen wir direkt mal an.
Unser Bot wird in VB.NET geschrieben.
Dazu brauchen wir zuerst einmal Visual Studio. (Download Visual Basic 2010)
KNLib
Das aktuelle, manipulierte Applet.
Ihr öffnet Visual Studio und klickt auf Datei -> Neues Projekt.
Jetzt öffnet sich ein Fenster mit verschiedenen Möglichkeiten einer Anwendung.
Wir wählen "Windows Forms-Anwendung", da wir weder eine Konsolenanwedung, noch eine
Klasse oder eine Anwendung mit Effekten erstellen wollen.
Nun seht ihr eine Form ("Form1"), diese ist allerdings noch leer.
Links befindet sich die Toolbox, wir ziehen nun folgende Elemente aus der Toolbox auf unsere
Form1:
-2 Button (Login, Logout)
-4 Textboxen (Nickname, Passwort, Channel, an Chat senden)
-1 Combobox (Auswahl des Chatsystems)
-1 RichTextBox (Chatverlauf)
-1 ListView (Userliste)
Die Elemente könnt ihr anordnen, wie ihr wollt, es bleibt euch überlassen.
Nun beschriften wir unsere Elemente.
1. Button: Login
2. Button: Logout
1. Textbox: Nickname (Text-Eigenschaft)
2. Textbox: Passwort (in den Eigenschaften noch zusätzlich "UseSystemPasswordChar" auf true ändern
3. Textbox: Channel
4. Textbox: Text an Chat senden
1. Combobox: im Eigenschaften-Fenster bei "Items" auf "Auflistung" klicken und dann untereinander
folgende Werte eintragen:
DE
AT
CH
Die Richtextbox und das ListView beschriften wir nicht.
Nun klicken wir noch auf unsere Form und ändern den Titel unserer Anwedung (ebenfalls mit der Text-Eigenschaft).
Ihr könnt den Titel beliebig ändern, beispielsweise: "Mein erster Bot" etc.
Die Oberfläche ist nun fertig, natürlich kann man noch viele andere Änderungen vornehmen,
aber in diesem Tutorial soll es zuerst darum gehen einen Bot zu coden.
Wir sehen nun also die fertige Oberfläche und drücken nun F7,
damit gelangen wir in den Bereich, in dem wir unseren Code schreiben.
Bis jetzt stehen dort es zwei Zeilen, aber das werden wir ganz schnell ändern.
Zuerst müssen wir die KNLib importieren, dazu klicken wir auf Projekt -> Verweis hinzufügen,
dann auf "Durchsuchen" und in den Ordner navigieren, in dem die KNLib bei euch liegt.
Wir wählen die KNLib aus und klicken auf OK.
Nun klickt ihr auf Datei -> Alles speichern und geht in den Debug Ordner, das Applet was sich dort befindet löscht ihr und fügt dort das aktuelle Applet ein.
Nun müssen wir die KNLib noch mittels des Codes importieren, dazu schreiben wir über
PHP-Code:Public Class Form1
PHP-Code:Imports KNLib
PHP-Code:Public Class Form1
PHP-Code:Dim applet As Applet
PHP-Code:Dim WithEvents client As KSClient
so gelangen wir wieder in den Code-Bereich und es wurde die Methode Form1_Load hinzugefügt
Dort schreiben wir nun folgenden Code:
PHP-Code:Control.CheckForIllegalCrossThreadCalls = False
applet = New Applet
client = New KSClient(applet)
Nun fügen wir folgenden Code hinzu:
PHP-Code:Dim CSystem As New ChatSystem
Select Case ComboBox1.Text
Case "DE"
CSystem = ChatSystem.DE
Case "AT"
CSystem = ChatSystem.AT
Case "CH"
CSystem = ChatSystem.CH
End Select
client.Connect(CSystem)
client.Login(TextBox1.Text, TextBox2.Text, TextBox3.Text)
Nun gehen wir wieder zu unserer Oberfläche und machen einen Doppelklick auf den Logout-Button
und fügen folgenden Code hinzu:
PHP-Code:client.Disconnect()
auf "FormClosed" und machen einen Doppelklick darauf, nun gelangen wir wieder in den Code-Bereich
und es ist die Methode Form1_FormClosed erschienen, dort fügen wir folgenden Code ein:
PHP-Code:System.Environment.Exit(0)
Richtig, der Chatverlauf, die Userliste und der Text, den wir an den Chat senden wollen.
Wir wollen zuerst einmal die Userliste mit leben füllen, dazu fügen wir folgenden Code hinzu:
PHP-Code:Private Sub client_OnUserListReceive(ByVal sender As Object, ByVal UserList As System.Collections.Generic.List(Of KNLib.User)) Handles client.OnUserListReceive
ListView1.Items.Clear()
For Each User As KNLib.User In UserList
ListView1.Items.Add(User.Name)
Next
End Sub
Private Sub client_OnChannelJoin(ByVal sender As Object, ByVal User As KNLib.User) Handles client.OnChannelJoin
ListView1.Items.Add(User.Name)
End Sub
Private Sub client_OnChannelLeave(ByVal sender As Object, ByVal User As KNLib.User) Handles client.OnChannelLeave
ListView1.FindItemWithText(User.Name).Remove()
End Sub
Jetzt wollen wir noch den Chatverlauf mit Leben füllen, dazu verwenden wir folgenden Code:
PHP-Code:Private Sub client_OnPublicMessage(ByVal sender As Object, ByVal Nick As String, ByVal Message As String) Handles client.OnPublicMessage
RichTextBox1.AppendText(Nick & ": " & Message & vbLf)
End Sub
Private Sub client_OnPrivateMessage(ByVal sender As Object, ByVal fromNick As String, ByVal toNick As String, ByVal Message As String) Handles client.OnPrivateMessage
RichTextBox1.AppendText(fromNick & " an " & toNick & ": " & Message & vbLf)
End Sub
PHP-Code:Private Sub client_OnPing(ByVal sender As Object, ByVal Nick As String, ByVal Key As String) Handles client.OnPing
MessageBox.Show("Ping erhalten von " & Nick)
End Sub
PHP-Code:Private Sub client_OnPopup(ByVal sender As Object, ByVal Message As String, ByVal token() As String) Handles client.OnPopup
MessageBox.Show(Message, "Popup")
End Sub
Dazu klicken wir auf unsere 4. Textbox, die wir verwenden um den Text einzugeben,
wir gehen in das Ereignis-Fenster und machen einen Doppelklick auf "KeyDown".
Dann erscheint eine Methode "TextBox4_KeyDown, dort fügen wir folgenden Code ein:
PHP-Code:If client.IsConnected = True Then
If e.KeyCode = Keys.Enter Then
e.SuppressKeyPress = True
client.SendMessage(TextBox4.Text)
TextBox4.Clear()
End If
Else
MessageBox.Show("Sind wir eingeloggt?")
End If
es war mein erstes Text-Tutorial, also seid lieb
Wenn ich demnächst nochmal Zeit finde werde ich ein weiteres Tutorial schreiben,
bei Fragen bitte im Thread posten und ich versuche dann so gut wie möglich zu antworten!
/e Ich habe den Code noch nicht erklärt, werde ich aber noch editieren!Geändert von DeKaDeNz (04.02.2012 um 00:12 Uhr) Grund: Syntaxhighlight eingefügt
-
The Following 14 Users Say Thank You to Snees For This Useful Post:
-
21.11.2011, 00:08 #2
AW: [Tutorial][#1] Bot programmieren [VB.NET]
Hey,
ich habe das Tutorial erstmal nur überflogen und ich finde es sehr gut beschrieben.
Was ich aber bevorzugen würde, wäre ein V-TUT. In Video-Tutorials kann man einfach besser verstehen was genau gemeint ist.
edit:// Ich werde es morgen mal ausprobieren.
-
The Following User Says Thank You to Roxithro For This Useful Post:
St0nY (21.11.2011)
-
21.11.2011, 00:10 #3
-
21.11.2011, 00:10 #4
AW: [Tutorial][#1] Bot programmieren [VB.NET]
Hi,
ich habe mir das Tutorial mal im ganzen angesehen, und finde es in einer Programmierungssprache etwas schwer zu verstehen 'Für Anfänger'.
Vielleicht machst du mal ein Tutorial wie Wave es gemacht hat?
Er hat es beschrieben und zusätzlich mit Screens versehen, so finde ich es sehr übersichtlich.
-
21.11.2011, 00:12 #5
AW: [Tutorial][#1] Bot programmieren [VB.NET]
Die User von heute, "Bilder, wir brauchen Bilder!"
Ich werde es morgen überarbeiten + ein Video Tutorial aufnehmen!
-
21.11.2011, 00:12 #6
AW: [Tutorial][#1] Bot programmieren [VB.NET]
Bisschen an der Strukturierung arbeiten, ansonsten gutes und ausführliches Tutorial. Bin gespannt auf weitere von dir und werde diese auch mal auf p1rates posten, sofern du kein Problem damit hast.
-
21.11.2011, 00:13 #7
-
21.11.2011, 15:38 #8
- Registriert seit
- 18.11.2011
- Beiträge
- 193
Thanked 66 Times in 60 PostsAW: [Tutorial][#1] Bot programmieren [VB.NET]
HeyJo.
Erstmal danke für das sehr gute TuT!
Habe es ebend ausprobiert und es geht alles Wunderbar.
Hier mein Ergebniss:
Spoiler:
(Fals einer denkt ich Laber bloß)
Ich möchte weitere TuT's von dir.Geändert von Cube!X (21.11.2011 um 19:16 Uhr) Grund: Bild eingefügt
PUT YOUR FUCKING HANDS UP!
-
21.11.2011, 16:10 #9
AW: [Tutorial][#1] Bot programmieren [VB.NET]
Credits fehlen. Kein Respekt oder so? Oder mal wieder der Copy & Paste King?
- Teile des oben benutzen Sourcecodes basieren auf dem KNLib VB.NET Sample von Diebspiel -
-
The Following 2 Users Say Thank You to Diebspiel For This Useful Post:
Klaus Bukkake (20.06.2013)
-
21.11.2011, 17:01 #10
- Registriert seit
- 26.10.2011
- Beiträge
- 1.196
- Blog Entries
- 2
Thanked 1.597 Times in 726 PostsAW: [Tutorial][#1] Bot programmieren [VB.NET]
Nope, sorry. Aber das geht definitiv zu weit. So ein Rotz hab ich in der gesamten K-Szene nicht gelesen. Obwohl dass ja nicht das erste mal ist dass du für Kleinigkeiten Credits sehen willst.
Hinter den Zeilen steckt nichts besonderes. Kein Algo, keine Logik. Wofür willst du Credits haben? Das sind ganz normale Code-Stücke die jeder mal nutzt.
Die Credits kann er wieder entfernen. Die Beiträge lass ich mal so stehen. Das nächste mal wird sowas von mir direkt gelöscht.
Ich kann dich gut leiden Diebspiel. Aber das ist einfach scheiße was du da von dir gibst. Du hast das auch überhaupt nicht nötig. Dein E-Penis in der Szene ist schon groß genug. Sogar größer als Meiner. Wieso willst du also überall dein Namen drunter stehen haben >.>
-
Ähnliche Themen
-
[FAQ] Wie lerne ich Programmieren?
Von DMW007 im Forum HochsprachenAntworten: 7Letzter Beitrag: 07.02.2014, 00:23 -
Ebook Sammlung zum Thema Programmieren
Von pat2487 im Forum eBooksAntworten: 0Letzter Beitrag: 17.12.2013, 19:39 -
C# Objektorientiert Programmieren
Von Snees im Forum .NetAntworten: 0Letzter Beitrag: 05.03.2013, 23:28 -
Programmieren
Von Marcel1992 im Forum Knuddels ProgrammierungAntworten: 14Letzter Beitrag: 10.08.2011, 15:01 -
Poker Calculator Programmieren
Von Paradox im Forum Knuddels ProgrammierungAntworten: 6Letzter Beitrag: 16.05.2011, 17:08
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.