TizzyT

New Incomplete Message Struct - TizzyT

Oct 2nd, 2014
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 2.68 KB | None | 0 0
  1.     Public Structure Message
  2.         Private _Type As MessageType
  3.         Private _Nick As String
  4.         Private _Message As String
  5.         Private _RawMessage As String
  6.         Public ReadOnly Property Type() As MessageType
  7.             Get
  8.                 Return _Type
  9.             End Get
  10.         End Property
  11.         Public ReadOnly Property Nick() As String
  12.             Get
  13.                 Return _Nick
  14.             End Get
  15.         End Property
  16.         Public ReadOnly Property Message() As String
  17.             Get
  18.                 Return _Message
  19.             End Get
  20.         End Property
  21.         Public ReadOnly Property RawMessage() As String
  22.             Get
  23.                 Return _RawMessage
  24.             End Get
  25.         End Property
  26.         Public Sub New(ByVal Type As MessageType, _
  27.                        ByVal Nick As String, _
  28.                        ByVal Message As String, _
  29.                        ByVal RawMessage As String)
  30.             _Type = Type
  31.             _Nick = Nick
  32.             _Message = Message
  33.             _RawMessage = RawMessage
  34.         End Sub
  35.         Public Sub New(ByVal RawMessage As String)
  36.             _RawMessage = RawMessage
  37.             Dim Parts As String() = RawMessage.Split(" ")
  38.             If RawMessage.StartsWith(":") And Parts.Length > 1 Then
  39.                 On Error GoTo NS
  40.                 If Parts(0).Trim.ToLower = ":jtv" And Parts(1).Trim.ToUpper = "MODE" Then
  41.                     If Parts(3).Trim = "+o" Then
  42.                         _Type = MessageType.OP
  43.                         _Nick = TAPI.Misc.FormatNick(Parts(4))
  44.                     ElseIf Parts(3).Trim = "-o" Then
  45.                         _Type = MessageType.DEOP
  46.                         _Nick = TAPI.Misc.FormatNick(Parts(4))
  47.                     End If
  48.                 ElseIf Parts(1).Trim.ToUpper = "JOIN" Then
  49.                     _Type = MessageType.JOIN
  50.                 ElseIf Parts(1).Trim.ToUpper = "PART" Then
  51.                     _Type = MessageType.PART
  52.                 ElseIf Parts(1).Trim.ToUpper = "PRIVMSG" Then
  53.                     _Type = MessageType.PRIVMSG
  54.                     _Nick = TAPI.Misc.FormatNick(Parts(0).Remove(0, 1).Split("!")(0))
  55.                     Dim temp As String() = RawMessage.Split(New String() {" :"}, StringSplitOptions.RemoveEmptyEntries)
  56.                     If temp.Length >= 2 Then
  57.                         _Message &= RawMessage.Remove(0, temp(0).Length + 2)
  58.                     Else
  59.                         GoTo NS
  60.                     End If
  61.                 End If
  62.             Else
  63. NS:             _Type = MessageType.NS
  64.                 _Nick = ""
  65.                 _Message = ""
  66.             End If
  67.         End Sub
  68.     End Structure
Advertisement
Add Comment
Please, Sign In to add comment