Advertisement
-FloppyDisk-

Twitch_IRC_regex_by_thekillar25

Sep 6th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.47 KB | None | 0 0
  1. NOTE: Some server regex are missing. This is intentional as some
  2. data from twitch is not in need of a complex regex to gather parsed
  3. data. String splitting or substrings work fine in these examples.
  4.  
  5. #############################
  6. # SERVER PARSE GUIDE
  7. # Group: Value:
  8. #
  9. # 1 Twitch Data Identifier (string)
  10. #
  11. # NOTE: Server parse regex normally used to capture twitch data identifier
  12. # in order to pass through a decision structure and parse each data type
  13. # as specified by identifier.
  14. # ex. if identifer == "USERSTATE":
  15. # parsed = re.search(server_userstate) //see below for corrosponding regex
  16. #
  17. #############################
  18.  
  19. server=(CAP\s(?:REQ|\*\sACK)|USERNOTICE|NOTICE|GLOBALUSERSTATE|HOSTTARGET|USERSTATE|CLEARCHAT|MODE|PING|RECONNECT|ROOMSTATE|JOIN|PART|[0-9][0-9][0-9])(?:\s|\r)
  20.  
  21. #############################
  22. # MOTD PARSE GUIDE
  23. # Group: Value:
  24. #
  25. # nil (no capture groups, just used to match data type)
  26. #
  27. #############################
  28.  
  29. motd=#[a-zA-Z0-9]{2,}\s:(End of \/NAMES list)\r
  30.  
  31. #############################
  32. # WHISPER PARSE GUIDE
  33. # Group: Value:
  34. #
  35. # 1 Badges (string)
  36. # 2 Color (#<hex>)
  37. # 3 Display-name (string)
  38. # 4 Emotes (####:###-###, ###-###)
  39. # 5 Msg-id (integer)
  40. # 6 Thread-id ([receiverid]_[senderid])
  41. # 7 Turbo (0 or 1)
  42. # 8 User-id (integer)
  43. # 9 User-type (string)
  44. # 10 Sender (string)
  45. # 11 Receiver [self] (string)
  46. # 12 Message (string)
  47. #
  48. #############################
  49.  
  50. whisper=@badges=(.*?);color=(.*?);display-name=(.*?);emotes=(.*?);message-id=(.*?);thread-id=(.*?);turbo=(.*?);user-id=(.*?);user-type=(.*?)\s:(?:.*)!(.*)@(?:.*)\.tmi\.twitch\.tv\sWHISPER\s(.*?)\s:(.+)\r
  51.  
  52. #############################
  53. # PRIVMSG PARSE GUIDE
  54. # Group: Value:
  55. #
  56. # 1 Badges (string)
  57. # 2 Color (#<hex>)
  58. # 3 Display-Name (string)
  59. # 4 Emotes (####:###-###, ###-###)
  60. # 5 ID (Alpha-numerical)
  61. # 6 Mod (0 or 1)
  62. # 7 Room-ID (numerical)
  63. # 8 Subscriber (0 or 1)
  64. # 9 Turbo (0 or 1)
  65. # 10 User-ID (integer)
  66. # 11 User-Type (string)
  67. # 12 Username (string)
  68. # 13 Channel (#string)
  69. # 14 Privmsg (string)
  70. #
  71. #############################
  72.  
  73. privmsg=@badges=(.*);color=(.*);display-name=(.*);emotes=(.*);id=(.*);mod=(.*);room-id=(.*?);(?:|sent-ts=(?:.*);)subscriber=(.*?);(?:|tmi-sent-ts=(?:.*);)turbo=(.*);user-id=(.*);user-type=(.*)\s:[\w]{2,25}!([\w]{2,25})@[\w]{2,25}\.tmi\.twitch\.tv\sPRIVMSG\s(.*?)\s:(.*)\r
  74.  
  75. #############################
  76. # CLEARCHAT TIMEOUT/BAN PARSE GUIDE
  77. # Group: Value:
  78. # Timeout:
  79. # 1 Duration (integer)
  80. # 2 Reason (string)
  81. # 3 Channel (#string)
  82. # 4 Target_username (string)
  83. #
  84. # Ban:
  85. # 1 Reason (string)
  86. # 2 Channel (#string)
  87. # 3 Target_username (string)
  88. #
  89. #############################
  90.  
  91. server_clearchat_chatter=(?:|@ban-reason=(.*)|@ban-duration=(.*);ban-reason=(.*)):tmi\.twitch\.tv\sCLEARCHAT\s(.*?)\s:(.+)\r
  92.  
  93. #############################
  94. # GLOBALUSERSTATE PARSE GUIDE
  95. # Group: Value:
  96. # 1 Badges (string)
  97. # 2 Color (#<hex>)
  98. # 3 Display-name (string)
  99. # 4 Emote-sets (####:###-###, ###-###)
  100. # 5 Turbo (0 or 1)
  101. # 6 User-id (numerical)
  102. # 7 User-type (string)
  103. #
  104. #############################
  105.  
  106. server_globaluserstate=@badges=(.*);color=(.*);display-name=(.*);emote-sets=(.*);turbo=(.*);user-id=(.*);user-type=(.*)\s:tmi\.twitch\.tv\sGLOBALUSERSTATE\r
  107.  
  108. #############################
  109. # HOSTTARGET PARSE GUIDE
  110. # Group: Value:
  111. # 1 Hoster channel (#string)
  112. # 2 Hostee channel (#string or '-')
  113. # 3 Viewer count (integer)
  114. #
  115. #############################
  116.  
  117. server_hosttarget=:tmi\.twitch\.tv\sHOSTTARGET\s(.*?)\s:(.*?)\s(.*?)\r
  118.  
  119. #############################
  120. # JOIN PARSE GUIDE
  121. # Group: Value:
  122. # 1 Username (string)
  123. # 2 Channel (#string)
  124. #
  125. #############################
  126.  
  127. server_join=:(?:.*)!(.*)@(?:.*)\.tmi\.twitch\.tv\sJOIN\s(.*)\r
  128.  
  129. #############################
  130. # MODE PARSE GUIDE
  131. # Group: Value:
  132. # 1 Channel (#string)
  133. # 2 +o or -o
  134. # 3 Username (string)
  135. #
  136. #############################
  137.  
  138. server_mode=:jtv\sMODE\s(.*)\s(\+o|\-o)\s(.*)\r
  139.  
  140. #############################
  141. # NEWSUBSCRIBER PARSE GUIDE
  142. # Group: Value:
  143. # 1 Username (string)
  144. # 2 Channel (#string)
  145. # 3 Message (string)
  146. #
  147. #############################
  148.  
  149. server_newsubscriber=:(?:.*?)!(.*?)@(?:.*?)\.tmi\.twitch\.tv\sPRIVMSG\s(.*?)\s:(.*?)\r
  150.  
  151. #############################
  152. # NOTICE PARSE GUIDE
  153. # Group: Value:
  154. # 1 Msg-id (string)
  155. # 2 Channel (#string)
  156. # 3 Message (string)
  157. #
  158. #############################
  159.  
  160. server_notice=@msg-id=(.*?)\s:tmi\.twitch\.tv\sNOTICE\s(.*)\s:(.*)\r
  161.  
  162. #############################
  163. # PART PARSE GUIDE
  164. # Group: Value:
  165. # 1 Username (string)
  166. # 2 Channel (#string)
  167. #
  168. #############################
  169.  
  170. server_part=:(?:.*)!(.*)@(?:.*)\.tmi\.twitch\.tv\sPART\s(.*)\r
  171.  
  172. #############################
  173. # ROOMSTATE PARSE GUIDE
  174. # Group: Value:
  175. # 1 Broadcaster-Language (2-char string ex. "en")
  176. # 2 Emote-only (0 or 1)
  177. # 3 r9kbeta (0 or 1)
  178. # 4 Slow-mode (integer)
  179. # 5 Subscriber-only (0 or 1)
  180. # Update:
  181. # 1 Update-type (string)
  182. # 2 Update-value (0 or 1)
  183. # 3 Channel (#string)
  184. #############################
  185.  
  186. server_roomstate=@broadcaster-lang=(.*);emote-only=(.*);r9k=(.*);slow=(.*);subs-only=(.*)\s:tmi\.twitch\.tv\sROOMSTATE\s(.+)\r
  187.  
  188. server_roomstate_update=@(.*?)=(.*?)\s:tmi.twitch\.tv\sROOMSTATE\s(.*)\r
  189.  
  190. #############################
  191. # USERNOTICE PARSE GUIDE
  192. # Group: Value:
  193. #
  194. # 1 Badges (string)
  195. # 2 Color (#<hex>)
  196. # 3 Display-Name (string)
  197. # 4 Emotes (####:###-###, ###-###)
  198. # 5 Login (string)
  199. # 6 Mod (0 or 1)
  200. # 7 Msg-ID (string)
  201. # 8 Msg-param-months (integer)
  202. # 9 Room-ID (integer)
  203. # 10 Subscriber (0 or 1)
  204. # 11 System-msg (string)
  205. # 12 Turbo (0 or 1)
  206. # 13 User-ID (integer)
  207. # 14 User-type (string)
  208. # 15 Channel (#string)
  209. # With user message:
  210. # 16 Message (string)
  211. #
  212. #############################
  213.  
  214. server_usernotice_usermsg=@badges=(.*?);color=(.*?);display-name=(.*?);emotes=(.*?);login=(.*?);mod=(.*?);msg-id=(.*?);msg-param-months=(.*?);room-id=(.*?);subscriber=(.*?);system-msg=(.*?);turbo=(.*?);user-id=(.*?);user-type=(.*?)\s:tmi\.twitch\.tv\sUSERNOTICE\s(#.*?)\s:(.*?)\r
  215.  
  216. server_usernotice_nousermsg=@badges=(.*?);color=(.*?);display-name=(.*?);emotes=(.*?);login=(.*?);mod=(.*?);msg-id=(.*?);msg-param-months=(.*?);room-id=(.*?);subscriber=(.*?);system-msg=(.*?);turbo=(.*?);user-id=(.*?);user-type=(.*?)\s:tmi\.twitch\.tv\sUSERNOTICE\s([#a-z0-9]+)\r
  217.  
  218. #############################
  219. # USERSTATE PARSE GUIDE
  220. # Group: Value:
  221. # 1 Badges (string)
  222. # 2 Color (#<hex>)
  223. # 3 Display-name (string)
  224. # 4 Emote-sets (####:###-###, ###-###)
  225. # 5 Mod (0 or 1)
  226. # 6 Subscriber (0 or 1)
  227. # 7 Turbo (0 or 1)
  228. # 8 User-type (string)
  229. # 9 Channel (#string)
  230. #
  231. #############################
  232.  
  233. server_userstate=@badges=(.*);color=(.*);display-name=(.*);emote-sets=(.*);mod=(.*);subscriber=(.*);turbo=(.*);user-type=(.*)\s:tmi\.twitch\.tv\sUSERSTATE\s(.*)\r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement