'<==Begin==>
'Import libraries/system classes
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
'reminder test server is lunar.nl.eu.SwiftIRC.net
'declare client
Inherits System.Windows.Forms.Form
Private client As TcpClient
'Connect Button
Private Sub cmdConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdConnect.Click
client = New TcpClient(txtServer.Text, txtPort.Text) 'open tcp socket to server + port
SendData("USER VBIRC VBIRC VBIRC Using VBIRC v0.1 http://xdemo.net") 'ident/realname/email etc
SendData("NICK " + txtNick.Text) 'use selected nickname
'enable required controls,
cmdDisconnect.Enabled = True
cmdJoin.Enabled = True
cmdPart.Enabled = True
cmdSend.Enabled = True
cmdNick.Enabled = True
'disable un-needed controls
txtServer.Enabled = False
cmdConnect.Enabled = False
'initiate timer to reply for pings.
tmrPONG.Enabled = True
End Sub
'Timer to ping/pong
Private Sub tmrPONG_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrPONG.Tick
SendData("PONG :" + txtServer.Text) 'reply to "PINGS" every 3minutes once connected
End Sub
'Declare senddata
Private Sub SendData(ByVal data As String)
Dim writer As New IO.StreamWriter(client.GetStream)
writer.Write(data & vbCr)
writer.Flush()
End Sub
'Send message button
Private Sub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
SendData("PRIVMSG " + txtChannel.Text + " " + txtInput.Text)
End Sub
'Change nick button
Private Sub cmdNick_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNick.Click
SendData("NICK " + txtNick.Text)
End Sub
'Join channel button
Private Sub cmdJoin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdJoin.Click
SendData("JOIN " + txtChannel.Text)
End Sub
'part channel button
Private Sub cmdPart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPart.Click
SendData("PART " + txtChannel.Text + " " + txtPartReason.Text)
End Sub
'Quit/Disconnect button
Private Sub cmdDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDisconnect.Click
SendData("QUIT VBIRC v0.1 created by xdemo.") 'send raw quit to server and show quit message
'disable pong timer, since we are not connected
tmrPONG.Enabled = False
'disable un-needed controls
cmdDisconnect.Enabled = False
cmdJoin.Enabled = False
cmdPart.Enabled = False
cmdSend.Enabled = False
cmdNick.Enabled = False
'enable required controls again
txtServer.Enabled = True
cmdConnect.Enabled = True
End Sub
End Class
'<==END==>