Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Structure Message
- Private _Type As MessageType
- Private _Nick As String
- Private _Message As String
- Private _RawMessage As String
- Public ReadOnly Property Type() As MessageType
- Get
- Return _Type
- End Get
- End Property
- Public ReadOnly Property Nick() As String
- Get
- Return _Nick
- End Get
- End Property
- Public ReadOnly Property Message() As String
- Get
- Return _Message
- End Get
- End Property
- Public ReadOnly Property RawMessage() As String
- Get
- Return _RawMessage
- End Get
- End Property
- Public Sub New(ByVal Type As MessageType, _
- ByVal Nick As String, _
- ByVal Message As String, _
- ByVal RawMessage As String)
- _Type = Type
- _Nick = Nick
- _Message = Message
- _RawMessage = RawMessage
- End Sub
- Public Sub New(ByVal RawMessage As String)
- _RawMessage = RawMessage
- Dim Parts As String() = RawMessage.Split(" ")
- If RawMessage.StartsWith(":") And Parts.Length > 1 Then
- On Error GoTo NS
- If Parts(0).Trim.ToLower = ":jtv" And Parts(1).Trim.ToUpper = "MODE" Then
- If Parts(3).Trim = "+o" Then
- _Type = MessageType.OP
- _Nick = TAPI.Misc.FormatNick(Parts(4))
- ElseIf Parts(3).Trim = "-o" Then
- _Type = MessageType.DEOP
- _Nick = TAPI.Misc.FormatNick(Parts(4))
- End If
- ElseIf Parts(1).Trim.ToUpper = "JOIN" Then
- _Type = MessageType.JOIN
- ElseIf Parts(1).Trim.ToUpper = "PART" Then
- _Type = MessageType.PART
- ElseIf Parts(1).Trim.ToUpper = "PRIVMSG" Then
- _Type = MessageType.PRIVMSG
- _Nick = TAPI.Misc.FormatNick(Parts(0).Remove(0, 1).Split("!")(0))
- Dim temp As String() = RawMessage.Split(New String() {" :"}, StringSplitOptions.RemoveEmptyEntries)
- If temp.Length >= 2 Then
- _Message &= RawMessage.Remove(0, temp(0).Length + 2)
- Else
- GoTo NS
- End If
- End If
- Else
- NS: _Type = MessageType.NS
- _Nick = ""
- _Message = ""
- End If
- End Sub
- End Structure
Advertisement
Add Comment
Please, Sign In to add comment