1x33x7

radio-stream script

Jan 17th, 2013
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.60 KB | None | 0 0
  1. '+-------------------------------------+
  2. '¦ Radio-Stream-Script 1.2 © by sts
  3. '¦ Don`t change the author!
  4. '¦ Website : www.angelbot.dyndns.org
  5. '¦-------------------------------------+
  6. '¦ PartyLine Setup ------------[x]
  7. '¦ Anlegung einer INI-Datei ---[x]
  8. '¦ Channeleinstellungen ------ [x]
  9. '¦-------------------------------------+
  10. '##############Einstellungen##################
  11. Const INI = "radio.ini"
  12. Const DebugIt = False
  13.  
  14. '###############Don't Change!!################
  15. Const Version = "Radio-Stream-Script 1.2 © by sts"
  16. Const ScriptName = "Radio-Stream-Script 1.2 © by sts"
  17.  
  18. Dim LastNews, Recieved, tmp_Listener, tmp_Song, tmp_Peak
  19.  
  20. Sub Init()
  21. Script "7 " & ScriptName
  22. Hook "Commands"
  23. Hook "Nick"
  24. Hook "Chan_Msg"
  25. AddCommand "radio", Cl_Mas, "+m", "2*** .radio##14Zeigt das " & ScriptName & " Setup"
  26. SpreadFlagMessage 0, "+m", "7 " & ScriptName & " loaded"
  27. GetNews
  28. aTime = ReadINIString("Advertisment", "Time", "300", INI)
  29. TimedCommand "Advertisment", aTime
  30. End Sub
  31.  
  32.  
  33. Sub Commands(vSock, RegUser, Flags, Line)
  34. If LCase(Param(Line, 1)) = ".radio" Then
  35. GrabUser vSock, "" & ScriptName & " Setup", "Setup"
  36. SetSockTag vSock, "MainMenu"
  37. Setup vSock, RegUser, Flags, ""
  38. End If
  39. End Sub
  40.  
  41. Sub Setup(vSock, RegUser, Flags, Line)
  42.  
  43. If Param(Line, 1) = "0" Then
  44. TU vsock, "10*** Saving settings..."
  45. ReleaseUser vSock
  46. Exit Sub
  47. End If
  48.  
  49. Select Case LCase(Param(GetSockTag(vSock), 1))
  50. Case "mainmenu"
  51. TU vSock, " 4,1©4,14©4,15©4,0 sts 4,15©4,14©4,1© 1,1___||______________________________4,1©4,14©4,15©4,0sts4,15©4,14©4,1©"
  52. TU vSock, " 4,1©4,14©4,15©4,0 sts 4,15©4,14©4,1© 0,1 " & ScriptName & " Setup 4,1©4,14©4,15©4,0sts4,15©4,14©4,1©"
  53. TU vSock, " 4,1©4,14©4,15©4,0 sts 4,15©4,14©4,1© 1,1___||______________________________4,1©4,14©4,15©4,0sts4,15©4,14©4,1©"
  54. TU vSock, " "
  55. TU vSock, "Willkommen im Setup vom " & Version & "!"
  56. TU vSock, "Du befindest dich im Hauptmenü."
  57. TU vSock, " "
  58. TU vSock, " - 1 um ins Channelsetup zu gelangen"
  59. TU vSock, " - 2 um ins Streamsetup zu gelangen"
  60. TU vSock, " - 3 um ins Topicsetup zu gelangen"
  61. TU vSock, " - 4 um ins Layoutsetup zu gelangen"
  62. TU vSock, " "
  63. TU vSock, " - 0 um zurück auf die Partyline zu kommen."
  64. SetSockTag vSock, "MainMenuOption"
  65. Case "mainmenuoption"
  66. Select Case LCase(Param(Line, 1))
  67. Case "1"
  68. SetSockTag vSock, "channel"
  69. Setup vSock, RegUser, Flags, ""
  70. Case "2"
  71. SetSockTag vSock, "stream"
  72. Setup vSock, RegUser, Flags, ""
  73. Case "3"
  74. SetSockTag vSock, "topic"
  75. Setup vSock, RegUser, Flags, ""
  76. Case "4"
  77. SetSockTag vSock, "layout"
  78. Setup vSock, RegUser, Flags, ""
  79. Case Else
  80. TU vSock, "5*** Ungültiger Befehl"
  81. End Select
  82.  
  83. Case "channel"
  84. TU vSock, " "
  85. TU vSock, "Willkommen im Setup vom " & Version & "!"
  86. TU vSock, "Du befindest dich im Channelsetup."
  87. TU vSock, " "
  88. TU vSock, "Um zurück ins Hauptmenü zu gelangen gebe 1 ein "
  89. TU vSock, " "
  90. TU vSock, "0,1Aktuelle Einstellungen:"
  91. SetSockTag vSock, "ChannelMenuOption"
  92. Main = ReadINIString("Channels", "Main", "", INI)
  93. Intern = ReadINIString("Channels", "Intern", "", INI)
  94. Ausgabe = ReadINIString("Channels", "Ausgabe", "", INI)
  95.  
  96.  
  97. Dummy = Split(Main, " ")
  98. For i = LBound(Dummy) To UBound(Dummy)
  99. TU vSock, "14 - MainChannel/s: " & Dummy(i)
  100. Next
  101.  
  102. TU vSock, "14 - Interner Channel: " & Intern
  103.  
  104.  
  105. Dummy = Split(Ausgabe, " ")
  106. For i = LBound(Dummy) To UBound(Dummy)
  107. TU vSock, "14 - AusgabeChannel/s: " & Dummy(i)
  108. Next
  109.  
  110. TU vSock, " "
  111. TU vSock, "0,1Einstellungen - InternChannels:"
  112. TU vSock, " - chan intern set <#channel> um den internen Channel zusetzten."
  113. TU vSock, " "
  114. TU vSock, "0,1Einstellungen - MainChannels:"
  115. TU vSock, " - chan add main <#channel> um einen MainChannel der Liste hinzuzufügen"
  116. TU vSock, " - chan del main <#channel> um einen MainChannel aus Liste zu löschen"
  117. TU vSock, " "
  118. TU vSock, "0,1Einstellungen - AusgabeChannels:"
  119. TU vSock, " - chan add ausgabe <#channel> um einen AusgabeChannel der Liste hinzuzufügen"
  120. TU vSock, " - chan del ausgabe <#channel> um einen AusgabeChannel aus Liste zu löschen"
  121. Case "channelmenuoption"
  122. Select Case LCase(Param(Line, 1))
  123. Case "chan"
  124. Select Case LCase(Param(Line, 2))
  125. Case "add"
  126. Select Case LCase(Param(Line, 3))
  127. Case "main"
  128. Channels = ReadINIString("Channels", "Main", "", INI)
  129. Channels = Trim3(Channels & " " & Param(Line, 4))
  130. WriteINIString "Channels", "Main", Channels, INI
  131. TU vSock, "3*** Channel " & LCase(Param(Line, 4)) & " wurde als MainChannel hinzugefügt"
  132. SetSockTag vSock, "channel"
  133. Setup vSock, RegUser, Flags, ""
  134. Case "ausgabe"
  135. Channels = ReadINIString("Channels", "Ausgabe", "", INI)
  136. Channels = Trim3(Channels & " " & Param(Line, 4))
  137. WriteINIString "Channels", "Ausgabe", Channels, INI
  138. TU vSock, "3*** Channel " & LCase(Param(Line, 4)) & " wurde als AusgabeChannel hinzugefügt"
  139. SetSockTag vSock, "channel"
  140. Setup vSock, RegUser, Flags, ""
  141. Case Else
  142. TU vSock, "5*** Syntax: chan add <main | ausgabe | trigger> <#channel>"
  143. End Select
  144. Case "del"
  145. Select Case LCase(Param(Line, 3))
  146. Case "main"
  147. Channels = ReadINIString("Channels", "Main", "", INI)
  148. Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 4)), ""))
  149. WriteINIString "Channels", "Main", Channels, INI
  150. TU vSock, "3*** Channel " & LCase(Param(Line, 4)) & " wurde als MainChannel entfernt"
  151. SetSockTag vSock, "channel"
  152. Setup vSock, RegUser, Flags, ""
  153. Case "ausgabe"
  154. Channels = ReadINIString("Channels", "Ausgabe", "", INI)
  155. Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 4)), ""))
  156. WriteINIString "Channels", "Ausgabe", Channels, INI
  157. TU vSock, "3*** Channel " & LCase(Param(Line, 4)) & " wurde als AusgabeChannel entfernt"
  158. SetSockTag vSock, "channel"
  159. Setup vSock, RegUser, Flags, ""
  160. Case Else
  161. TU vSock, "5*** Ungültiger Befehl"
  162. End Select
  163. Case "intern"
  164. If LCase(Param(Line,3)) = "set" Then
  165. WriteINIString "Channels", "Intern", GetRest(Line,4), INI
  166. TU vSock, "3*** Channel " & LCase(Param(Line, 4)) & " wurde als interner Channel gesetzt"
  167. Else
  168. TU vSock, "5*** Syntax: chan set intern <#channel>"
  169. End If
  170. End Select
  171. Case "1"
  172. SetSockTag vSock, "MainMenu"
  173. Setup vSock, RegUser, Flags, ""
  174. Case Else
  175. TU vSock, "5*** Ungültiger Befehl"
  176. End Select
  177. Case "stream"
  178. TU vSock, " "
  179. TU vSock, "Willkommen im Setup vom " & Version & "!"
  180. TU vSock, "Du befindest dich im Streamsetup."
  181. TU vSock, " "
  182. TU vSock, "Um zurück ins Hauptmenü zu gelangen gebe 1 ein "
  183. TU vSock, " "
  184. TU vSock, "0,1Aktuelle Einstellungen:"
  185. TU vSock, " "
  186. TU vSock, "Homepage: " & ReadINIString("Stream", "Homepage", "[Keine gesetzt]", INI)
  187. TU vSock, "Stream-Name: " & ReadINIString("Stream", "Name", "[Keinen gesetzt]", INI)
  188. TU vSock, "Listen.pls: " & ReadINIString("Stream", "Listen", "[Keine gesetzt]", INI)
  189. TU vSock, "Streaminformationpage: " & ReadINIString("Stream", "Server", "[Keine gesetzt]", INI)
  190. TU vSock, "Streamport: " & ReadINIString("Stream", "Port", "[Keinen gesetzt]", INI)
  191. TU vSock, " "
  192. TU vSock, "Songanzeige: " & ReadINIString("Setting", "Song", "[On]", INI)
  193. TU vSock, "0,1Einstellungen - Streamdaten:"
  194. TU vSock, " - set name um den Namen Deines Radios anzugeben"
  195. TU vSock, " - set page um die Homepage zu deinem Radio anzugeben (komplette Adresse)"
  196. TU vSock, " - set server um Server/Host zu den Streaminformationen anzugeben (ohne http://)"
  197. TU vSock, " - set port um den Port anzugeben"
  198. TU vSock, " - set listen um die Adresse zur Listen.pls anzugeben (komplette Adresse) anzugeben"
  199. TU vSock, " - set informationpage um Informationspage anzugeben. (Streaminformationen: [nicht die komplette Adresse. z.B. index.html])"
  200. TU vSock, " - set playlist um einen Link zur Playlist anzugeben"
  201. TU vSock, " "
  202. TU vSock, "0,1Einstellungen - Songanzeige"
  203. TU vSock, "- song on damit der aktuelle Song in die Main/Ausgabechannels gepostet wird."
  204. TU vSock, "- song off damit der Song nicht gepostet wird."
  205.  
  206. SetSockTag vSock, "StreamMenuOption"
  207. Case "streammenuoption"
  208. Select Case LCase(Param(Line, 1))
  209. Case "set"
  210. Select Case LCase(Param(Line, 2))
  211. Case "name"
  212. WriteINIString "Stream", "Name", GetRest(Line,3), INI
  213. TU vSock, "3*** Radioname zu " & GetRest(Line,3) & " geändert"
  214. Case "page"
  215. WriteINIString "Stream", "HomePage", GetRest(Line,3), INI
  216. TU vSock, "3*** Homepage des Radios zu " & GetRest(Line,3) & " geändert "
  217. Case "port"
  218. WriteINIString "Stream", "Port", GetRest(Line,3) , INI
  219. TU vSock, "3*** Port geändert zu " & GetRest(Line,3)
  220. Case "listen"
  221. WriteINIString "Stream", "Listen", GetRest(Line,3) , INI
  222. TU vSock, "3*** Listen.pls geändert zu " & GetRest(Line,3)
  223. Case "server"
  224. WriteINIString "Stream", "Server", GetRest(Line,3) , INI
  225. TU vSock, "3*** Serveradresse geändert zu " & GetRest(Line,3)
  226. Case "informationpage"
  227. WriteINIString "Stream", "Page", GetRest(Line,3) , INI
  228. TU vSock, "3*** Informationspage geändert zu " & GetRest(Line,3)
  229. Case "playlist"
  230. If Param(Line,3) = "" Then
  231. WriteINIString "Stream", "Playlist", "[Keine Playlist angegeben]" , INI
  232. Else
  233. WriteINIString "Stream", "Playlist", GetRest(Line,3) , INI
  234. End If
  235. TU vSock, "3*** PlaylistLink geändert zu " & GetRest(Line,3)
  236. Case Else
  237. TU vSock, "5*** Ungültiger Befehl"
  238. End Select
  239. Case "song"
  240. Select Case LCase(Param(Line, 2))
  241. Case "on"
  242. WriteINIString "Setting", "Song", "on", INI
  243. TU vSock, "3*** Songanzeige: ON"
  244. Case "off"
  245. WriteINIString "Setting", "Song", "on", INI
  246. TU vSock, "3*** Songanzeige: OFF"
  247. Case Else
  248. TU vSock, "5*** Ungültiger Befehl"
  249. End Select
  250. Case "1"
  251. SetSockTag vSock, "MainMenu"
  252. Setup vSock, RegUser, Flags, ""
  253. Case Else
  254. TU vSock, "5*** Ungültiger Befehl"
  255. End Select
  256. Case "topic"
  257. TU vSock, " "
  258. TU vSock, "Willkommen im Setup vom " & Version & "!"
  259. TU vSock, "Du befindest dich im Topicsetup."
  260. TU vSock, " "
  261. TU vSock, "Um zurück ins Hauptmenü zu gelangen gebe 1 ein "
  262. TU vSock, " "
  263. TU vSock, "0,1Aktuelle Einstellungen:"
  264. TU vSock, " "
  265. TU vSock, "Topic Online: " & ReadINIString("Topic", "Online", "[Kein gesetzt]", INI)
  266. TU vSock, "Topic Offline: " & ReadINIString("Topic", "Offline", "[Kein gesetzt]", INI)
  267. TU vSock, " "
  268. TU vSock, " "
  269. TU vSock, "0,1Einstellungen - Topic:"
  270. TU vSock, "- topic online setzt das Topic in den MainChannels wenn das Radio Online ist"
  271. TU vSock, "- topic offline setzt das Topic in den MainChannels wenn das Radio Offline ist"
  272. TU vSock, "- news <on/off> aktiviert oder deaktivert die News im Topic."
  273. TU vSock, "- news set setzt die News für das Topic"
  274. TU vSock, " "
  275. TU vSock, "Verfügbare Variablen: "
  276. TU vSock, " "
  277. TU vSock, "##DJ## --> Für den aktuell gesetzten DJ "
  278. TU vSock, "##SENDUNG## --> Für die aktuell gesetzte Sendung"
  279. TU vSock, "##STREAM## --> Für die Listen.pls zum Radio"
  280. TU vSock, "##HOMEPAGE## --> Für die Homepage des Radios"
  281. TU vSock, "##NEWS## --> Für aktuelle News"
  282.  
  283. SetSockTag vSock, "TopicMenuOption"
  284. Case "topicmenuoption"
  285. Select Case LCase(Param(Line, 1))
  286. Case "topic"
  287. Select Case LCase(Param(Line, 2))
  288. Case "online"
  289. Status = ReadINIString("Topic", "Status", "on", INI)
  290. If Status = "off" Then
  291. If InStr(1, GetRest(Line,3), "##NEWS##") > 0 Then
  292. TU vSock, "5*** Du verwendest die Variable ##NEWS##, aber du hast News im Topic nicht aktiviert. Bitte ändere ggf. die Einstellung oder entferne die Variable."
  293. Else
  294. WriteINIString "Topic", "Online", GetRest(Line,3), INI
  295. TU vSock, "3*** Das OnlineTopic wurde geändert zu: " & GetRest(Line,3)
  296. End If
  297. Else
  298. WriteINIString "Topic", "Online", GetRest(Line,3), INI
  299. TU vSock, "3*** Das OnlineTopic wurde geändert zu: " & GetRest(Line,3)
  300. End If
  301. Case "offline"
  302. Status = ReadINIString("Topic", "Status", "on", INI)
  303. If Status = "off" Then
  304. If InStr(1, GetRest(Line,3), "##NEWS##") > 0 Then
  305. TU vSock, "5*** Du verwendest die Variable ##NEWS##, aber du hast News im Topic nicht aktiviert. Bitte ändere ggf. die Einstellung oder entferne die Variable."
  306. Else
  307. WriteINIString "Topic", "Offline", GetRest(Line,3), INI
  308. TU vSock, "3*** Das OfflineTopic wurde geändert zu: " & GetRest(Line,3)
  309. End If
  310. Else
  311. WriteINIString "Topic", "Offline", GetRest(Line,3), INI
  312. TU vSock, "3*** Das OfflineTopic wurde geändert zu: " & GetRest(Line,3)
  313. End If
  314. Case "show"
  315. If LCase(Param(Line,3)) = "online" Then
  316. TU vSock, "3*** OnlineTopic: " & ReadINIString("Topic", "Online", "[Keins gesetzt]", INI)
  317. ElseIf LCase(Param(Line,3)) = "offline" Then
  318. TU vSock, "3*** OfflineTopic: " & ReadINIString("Topic", "Offline", "[Keins gesetzt]", INI)
  319. End If
  320. End Select
  321. Case "news"
  322. Select Case LCase(Param(Line, 2))
  323. Case "on"
  324. WriteINIString "Topic", "Status", "on", INI
  325. TU vSock, "3*** Topicnews wurde aktiviert"
  326. Case "off"
  327. WriteINIString "Topic", "Status", "off", INI
  328. TU vSock, "3*** Topicnews wurde deaktiviert"
  329. Case "set"
  330. If LCase(Param(Line,3)) = "news" Then
  331. WriteINIString "Topic", "News", GetRest(Line,4), INI
  332. TU vSock, "3*** Topicnews wgeändert zu: " & GetRest(Line,4)
  333. Else
  334. TU vSock, "5*** Ungültiger Befehl"
  335. End If
  336. Case Else
  337. TU vSock, "5*** Ungültiger Befehl"
  338. End Select
  339. Case "1"
  340. SetSockTag vSock, "MainMenu"
  341. Setup vSock, RegUser, Flags, ""
  342. Case Else
  343. TU vSock, "5*** Ungültiger Befehl"
  344. End Select
  345. Case "layout"
  346. TU vSock, " "
  347. TU vSock, "Willkommen im Setup vom " & Version & "!"
  348. TU vSock, "Du befindest dich im Advertisment- & Layoutsetup."
  349. TU vSock, " "
  350. TU vSock, "Um zurück ins Hauptmenü zu gelangen gebe 1 ein "
  351. TU vSock, " "
  352. TU vSock, "0,1Aktuelle Einstellungen:"
  353. TU vSock, " "
  354. TU vSock, "0,1Advertisment:"
  355. TU vSock, "Online Message: " & ReadINIString("Advertisement", "Online", "[Keine gesetzt]", INI)
  356. TU vSock, "Offline Message: " & ReadINIString("Advertisement", "Offline", "[Keine gesetzt]", INI)
  357. TU vSock, "WerveTime: " & ReadINIString("Advertisement", "Time", "[Keine gesetzt]", INI)
  358. TU vSock, "WerbeStatus: " & ReadINIString("Advertisement", "Status", "on", INI)
  359. TU vSock, " "
  360. TU vSock, " "
  361. TU vSock, "0,1Einstellungen - Advertisement"
  362. TU vSock, " - werbung online setzt die Werbung wärdend das Radion Online ist."
  363. TU vSock, " - werbung offline setzt Werbung wärend das Radio Offline ist"
  364. TU vSock, " - werbung time setzt den Zeitinterval für die Werbung (in s)"
  365. TU vSock, " - werbung <on/off> aktiviert oder deaktiviert die Werbung."
  366. TU vSock, " "
  367. TU vSock, " "
  368. TU vSock, "0,1Einstellungen - !Streamcommand:"
  369. TU vSock, " - stream lines setzt die Anzahl der Zeilen."
  370. TU vSock, " - stream line1 setzt die erste Zeile des Streamcommands"
  371. TU vSock, " - stream line2 setzt die zweite Zeile des Streamcommands"
  372. TU vSock, " - stream line3 setzt die dritte Zeile des Streamcommands"
  373. TU vSock, " - stream line4 setzt die vierte Zeile des Streamcommands"
  374. TU vSock, " - stream line5 setzt die fünfte Zeile des Streamcommands"
  375. TU vSock, " "
  376. TU vSock, "Verfügbare Variablen: "
  377. TU vSock, " "
  378. TU vSock, "##DJ## --> Für den aktuell gesetzten DJ "
  379. TU vSock, "##SENDUNG## --> Für die aktuell gesetzte Sendung"
  380. TU vSock, "##STREAM## --> Für die Listen.pls zum Radio"
  381. TU vSock, "##HOMEPAGE## --> Für die Homepage des Radios"
  382. TU vSock, "##SONG## --> Für den aktuellen Song"
  383. TU vSock, "##LISTENER## --> Für die aktuelle Listener"
  384. TU vSock, "##PEAK## --> Für den aktuellen Peak"
  385. TU vSock, "##NEWS## --> Für aktuelle News"
  386. SetSockTag vSock, "LayoutMenuOption"
  387. Case "layoutmenuoption"
  388. Select Case LCase(Param(Line, 1))
  389. Case "werbung"
  390. Select Case LCase(Param(Line, 2))
  391. Case "online"
  392. WriteINIString "Advertisement", "Online", GetRest(Line,3), INI
  393. TU vSock, "3*** Der Werbetext im Onlinestatus wurde geändert zu: " & GetRest(Line,3)
  394. Case "offline"
  395. WriteINIString "Advertisement", "Offline", GetRest(Line,3), INI
  396. TU vSock, "3*** Der Werbetext im Offlinestatus wurde geändert zu: " & GetRest(Line,3)
  397. Case "time"
  398. WriteINIString "Advertisement", "Time", GetRest(Line,3), INI
  399. TU vSock, "3*** Das Zeitinterval für die Werbung wurde auf " & Getrest(Line,3) & " gesetzt"
  400. Case "on"
  401. TU vSock, "3*** Die Werbung wurde aktiviert"
  402. WriteINIString "Advertisement", "Status", "on", INI
  403. Case "off"
  404. TU vSock, "3*** Die Werbung wurde deaktiviert"
  405. WriteINIString "Advertisement", "Status", "off", INI
  406. Case Else
  407. TU vSock, "5*** Ungültiger Befehl"
  408. End Select
  409. Case "stream"
  410. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  411.  
  412. Select Case LCase(Param(Line, 2))
  413. Case "lines"
  414. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  415. If Param(Line,3) > 5 Then
  416. TU vSock, "5*** Es sind maximal 5 Zeilen möglich"
  417. Else
  418. WriteINIString "Stream_cmd", "Lines", Param(Line,3), INI
  419. TU vSock, "3*** Zeilenanzahl geändert zu: " & GetRest(Line,3)
  420. End If
  421. Case "line1"
  422. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  423. If Lines = 1 Or Lines > 1 Then
  424. WriteINIString "Stream_cmd", "Line1", GetRest(Line,3), INI
  425. TU vSock, "3*** Zeile 1 geändert zu: " & GetRest(Line,3)
  426. ElseIf Lines < 1 Then
  427. TU vSock, "5***Zeilenanzahl auf " & Lines & " eingestellt. Bitte ändere ggf. die Einstellung."
  428. End If
  429. Case "line2"
  430. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  431. If Lines = 2 Or Lines > 2 Then
  432. WriteINIString "Stream_cmd", "Line2", GetRest(Line,3), INI
  433. TU vSock, "3*** Zeile 2 geändert zu: " & GetRest(Line,3)
  434. ElseIf Lines < 2 Then
  435. TU vSock, "5***Zeilenanzahl auf " & Lines & " eingestellt. Bitte ändere ggf. die Einstellung."
  436. End If
  437. Case "line3"
  438. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  439. If Lines = 3 Or Lines > 3 Then
  440. WriteINIString "Stream_cmd", "Line3", GetRest(Line,3), INI
  441. TU vSock, "3*** Zeile 3 geändert zu: " & GetRest(Line,3)
  442. ElseIf Lines < 3 Then
  443. TU vSock, "5***Zeilenanzahl auf " & Lines & " eingestellt. Bitte ändere ggf. die Einstellung."
  444. End If
  445. Case "line4"
  446. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  447. If Lines = 4 Or Lines > 4 Then
  448. WriteINIString "Stream_cmd", "Line4", GetRest(Line,3), INI
  449. TU vSock, "3*** Zeile 4 geändert zu: " & GetRest(Line,3)
  450. ElseIf Lines < 4 Then
  451. TU vSock, "5***Zeilenanzahl auf " & Lines & " eingestellt. Bitte ändere ggf. die Einstellung."
  452. End If
  453. Case "line5"
  454. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  455. If Lines = 5 Then
  456. WriteINIString "Stream_cmd", "Line5", GetRest(Line,3), INI
  457. TU vSock, "3*** Zeile 5 geändert zu: " & GetRest(Line,3)
  458. ElseIf Lines < 5 Then
  459. TU vSock, "5***Zeilenanzahl auf " & Lines & " eingestellt. Bitte ändere ggf. die Einstellung."
  460. End If
  461. End Select
  462. Case "1"
  463. SetSockTag vSock, "MainMenu"
  464. Setup vSock, RegUser, Flags, ""
  465. Case Else
  466. TU vSock, "5*** Ungültiger Befehl"
  467. End Select
  468. End Select
  469. End Sub
  470.  
  471. Sub Nick(Chan, OldNick, NewNick, RegUser, Flags, Count)
  472. all = ReadINIString("Channels", "Main", "", INI) & " " & ReadINIString("Channels", "Ausgabe", "", INI) & " " & ReadINIString("Channels", "Intern", "", INI)
  473. Status = ReadINIString("Setting", "Status", "0", INI)
  474. DJ = ReadINIString("Setting", "DJ", "", INI)
  475. If Status = 0 Then Exit Sub
  476. If LCase(DJ) = LCase(OldNick) Then
  477. Intern = ReadINIString("Channels", "Intern", "", INI)
  478. Sendline "PrivMsg " & Intern & " : 15Your Dj is now known as:3 [" & NewNick & "]",3
  479. End If
  480. End SUb
  481.  
  482.  
  483.  
  484. Sub Chan_Msg(Chan, Nick, RegUser, Line)
  485.  
  486. Intern = ReadINIString("Channels", "Intern", "", INI)
  487. If LCase(Chan) = LCase(Intern) Then
  488. Intern = ReadINIString("Channels", "Intern", "", INI)
  489. If LCase(Param(Line, 1)) = "!set" Then
  490. If LCase(Param(Line,2)) = "dj" Then
  491. If Param(Line, 3) = "" Then
  492. WriteINIString "Setting", "DJ", Nick, INI
  493. Sendline "PrivMsg " & Chan & " : 3New DJ! 15Now live on the Turntables: 3 [" & ReadINIString( "Setting", "DJ", "Keiner", INI) & "]", 3
  494. Else
  495. WriteINIString "Setting", "DJ", Param(Line,3), INI
  496. If Not Nick = Param(Line, 3) Then
  497. Sendline "Notice " & Nick & " : Dein Nick stimmt nicht mit dem DJ-Nick überein. Beachte das dich nun keine Wünsche oder Grüße erreichen.",3
  498. End If
  499. End If
  500. ElseIf LCase(Param(Line,2)) = "sendung" Then
  501. If Param(Line,2) = "" Then
  502. Sendline "Notice " & Nick & " : Bitte eine Namen der Sendung angeben",3
  503. Else
  504. WriteINIString "Setting", "Sendung", GetRest(Line,3), INI
  505. Sendline "PrivMsg " & Chan & " : Neue Sendung gewählt: [" & ReadINIString("Setting", "Sendung", "Keine", INI) & "]",3
  506. End If
  507. End If
  508.  
  509. aTopic = ReadINIString("Topic", "Online", "", INI)
  510. cTopic = ReadINIString("Topic", "Offline", "", INI)
  511.  
  512. ElseIf LCase(Param(Line,1)) = "!online" Then
  513. WriteINIString "Setting", "Status", 1, INI
  514. Sendline "PrivMsg " & Chan & " : 15 Stream is going online !",3
  515. NewTopic aTopic, 1
  516. GetNews
  517. ElseIf LCase(Param(Line,1)) = "!offline" Then
  518. WriteINIString "Setting", "Status", 0, INI
  519. GetNews
  520. NewTopic cTopic, 2
  521. Sendline "PrivMsg " & Chan & " : 15Stream is going offline !",3
  522. ElseIf LCase(Param(Line,1)) = "!stream" Then
  523. Dim Lines
  524. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  525.  
  526. For i = 1 to Lines
  527. Sendline "PrivMsg " & Chan & " : " & ReadINIString("Stream_cmd", "Line" & i, "", INI),3
  528. Next
  529. End If
  530.  
  531. If LCase(Param(Line,1)) = "!countdown" Then
  532. If Not Param(Line,2) = "" Then
  533. If InStr(1, Param(Line,2), ":") > 0 Then
  534. If Status = False Then
  535. aTime = Split(Param(Line,2), ":")
  536. Min = aTime(0)
  537. Sec = aTime(1)
  538. Gesamt = Min * 60 + Sec
  539. SendLine "PrivMsg " & Chan & " : Start Countdown: " & Param(Line,2) & " Min (" & Gesamt & "s)",3
  540. RemainingSec = Gesamt
  541. Status = True
  542. Countdown
  543. Else
  544. Sendline "Notice " & Nick & " : Der Countdown ist bereits aktiv. Um den Status zu überprüfen gebe '!countdown_end' ein",3
  545. End If
  546. Else
  547. Sendline "Notice " & Nick & " : Bitte benutze folgendes Zeitformat <Minute:Sekunden> (Bsp. 3:45, 10:03)",3
  548. End If
  549. End If
  550. End If
  551.  
  552. If LCase(Param(Line,1)) = "!countdown_end" Then
  553. Status = False
  554. Sendline "PrivMsg " & aChan & " : Countdown wurde vorzeitig beendet",3
  555. Countdown
  556. End If
  557.  
  558. If LCase(Param(Line,1)) = "!countdown_status" Then
  559. If Status = True Then
  560. Text = RemainingSec / 60
  561. nTime = Split(Text, ",")
  562. Mins = nTime(0)
  563. Sec = "0," & nTime(1)
  564. Sec = Sec * 60
  565. Sendline "Notice " & Nick & " : Noch " & Mins & " Minute(n) und " & Round(Sec, 0) & " Sekunden",3
  566. Else
  567. Sendline "Notice " & Nick & " : Der Countdown ist zurzeit nicht aktiv.",3
  568. End If
  569. End If
  570. End If
  571.  
  572.  
  573. all = ReadINIString("Channels", "Main", "", INI) & " " & ReadINIString("Channels", "Ausgabe", "", INI) & " " & ReadINIString("Channels", "Intern", "", INI)
  574. If InStr(1, LCase(all), LCase(Chan)) > 0 Then
  575. Status = ReadINIString("Setting", "Status", "0", INI)
  576. If Status = 1 Then
  577. Select Case LCase(Param(Line,1))
  578. Case "!wunsch"
  579. Sendline "PrivMsg " & DJ & " : Wunsch von [" & Nick & "] mit [" & GetRest(Line,2) & "]",3
  580. Case "!gruss"
  581. Sendline "PrivMsg " & DJ & " : Neuer Gruß: [" & GetRest(Line,2) & "]",3
  582. Case "!gruß"
  583. Sendline "PrivMsg " & DJ & " : Neuer Gruß: [" & GetRest(Line,2) & "]",3
  584. Case "!dj"
  585. Sendline "Notice " & Nick & " : Aktueller DJ: " & ReadINIString("Setting", "DJ", "Kein DJ gesetzt]", INI),3
  586. Case "!sendung"
  587. Sendline "Notice " & Nick & " : Aktuelle Sendung: " & ReadINIString("Setting", "Sendung", "[Keine gesetzt]", INI),3
  588. Case "!homepage"
  589. Sendline "Notice " & Nick & " : Unser Homepage: " & ReadINIString("Stream", "HomePage", "[Keine gesetzt]", INI),3
  590. Case "!hp"
  591. Sendline "Notice " & Nick & " : Unser Homepage: " & ReadINIString("Stream", "HomePage", "[Keine gesetzt]", INI),3
  592. Case "!listen"
  593. Sendline "Notice " & Nick & " : Unsere Listen.pls: " & ReadINIString("Stream", "Listen", "[Keine Listen.pls gesetzt]", INI),3
  594. Case "!listen.pls"
  595. Sendline "Notice " & Nick & " : Unsere Listen.pls: " & ReadINIString("Stream", "Listen", "[Keine Listen.pls gesetzt]", INI),3
  596. Case "!peak"
  597. Sendline "Notice " & Nick & " : Peak: " & tmp_Peak,3
  598. Case "!listener"
  599. Sendline "PrivMsg " & Chan & " : " & tmp_Listener,3
  600. Case "!song"
  601. Sendline "Notice " & Nick & " : Aktueller Song: " & tmp_Song,3
  602. Case "!playlist"
  603. Sendline "PrivMsg " & Chan & " : Unsere Playlist findest du unter " & ReadINIString("Stream", "Playlist", "[Keine Playlist angegeben]", INI),3
  604. Case "!stream"
  605. Lines = ReadINIString("Stream_cmd", "Lines", "1", INI)
  606. For i = 1 to Lines
  607. Sendline "PrivMsg " & Chan & " : " & ReplaceVars(ReadINIString("Stream_cmd", "Line" & i, "", INI)),3
  608. Next
  609. End Select
  610. Else
  611. Select Case LCase(Param(Line,1))
  612. Case "!wunsch"
  613. Sendline "PrivMsg " & DJ & " : Radio ist zur Zeit offline",3
  614. Case "!playlist"
  615. Sendline "PrivMsg " & Chan & " : Unsere Playlist findest du unter " & ReadINIString("Stream", "Playlist", "[Keine Playlist angegeben]", INI),3
  616. Case "!gruss"
  617. Sendline "PrivMsg " & DJ & " : Radio ist zur Zeit offline",3
  618. Case "!dj"
  619. Sendline "Notice " & Nick & " : Radio ist zur Zeit offline",3
  620. Case "!sendung"
  621. Sendline "PrivMsg " & DJ & " : Radio ist zur Zeit offline",3
  622. Case "!homepage"
  623. Sendline "Notice " & Nick & " : Unser Homepage: " & ReadINIString("Stream", "HomePage", "[Keine gesetzt]", INI),3
  624. Case "!hp"
  625. Sendline "Notice " & Nick & " : Unser Homepage: " & ReadINIString("Stream", "HomePage", "[Keine gesetzt]", INI),3
  626. Case "!listen"
  627. Sendline "Notice " & Nick & " : Unsere Listen.pls: " & ReadINIString("Stream", "Listen", "[Keine Listen.pls gesetzt]", INI),3
  628. Case "!listen.pls"
  629. Sendline "Notice " & Nick & " : Unsere Listen.pls: " & ReadINIString("Stream", "Listen", "[Keine Listen.pls gesetzt]", INI),3
  630. Case "!peak"
  631. Sendline "Notice " & Nick & " : Peak: " & tmp_Peak,3
  632. Case "!listener"
  633. Sendline "PrivMsg " & DJ & " : Radio ist zur Zeit offline",3
  634. Case "!song"
  635. Sendline "PrivMsg " & DJ & " : Radio ist zur Zeit offline",3
  636. Case "!stream"
  637. Sendline "PrivMsg " & DJ & " : Radio ist zur Zeit offline",3
  638. End Select
  639. End If
  640. End If
  641. End Sub
  642.  
  643.  
  644. Sub GetNews()
  645. Host = ReadINIString("Stream", "Server", "", INI)
  646. Port = ReadINIString("Stream", "Port", "", INI)
  647. vSock = SockConnect(Host, Port, "SockEvent")
  648. If vSock = 0 Then
  649. SpreadFlagMessage 0, "+m", "5*** StreamScript: Couldn't create socket"
  650. TimedCommand "GetNews", 30
  651. End If
  652. End Sub
  653.  
  654. Sub SockEvent(vSock, SEvent, SData)
  655. Dim Header2
  656.  
  657. Select Case SEvent
  658. Case SE_ConnectFailed
  659. SpreadFlagMessage 0, "+m", "5*** ShoutCast: Connection to " & StreamHost & " failed"
  660. TimedCommand "GetNews", 30
  661. Case SE_Connected
  662. SockWrite vSock, "GET /" & ReadINIString("Stream", "Page", "", INI) & " HTTP/1.0" & vbCrLf & _
  663. "Accept: text/html" & vbCrLf & _
  664. "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; AnGeL-Bot)" & vbCrLf & vbCrLf
  665. Case SE_Read
  666. Recieved = Recieved & SData
  667. Case SE_Closed
  668. If ReadINIString("Setting", "Status", "0", INI) = 0 Then Exit Sub
  669.  
  670. If Not InStr(1, Recieved, "Server is currently down") > 0 Then
  671.  
  672. Recieved = Replace(Recieved, vbCrLf, vbNullString)
  673. Dummy = "Server is currently up"
  674. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  675.  
  676. Dummy = "<font class=default>Stream Status:"
  677. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  678. Dummy = "<font class=default>"
  679. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  680. tmp_Listener = ReplaceHTMLCode(Left(Recieved, InStr(1, Recieved, "</b>") - 1 ))
  681. If DebugIt Then SpreadFlagMessage 0, "+m", "Listener:9 " & tmp_Listener
  682.  
  683. Dummy = "<font class=default>"
  684. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  685. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  686. tmp_Peak = ReplaceHTMLCode(Left(Recieved, InStr(1, Recieved, "</b>") - 1 ))
  687. If DebugIt Then SpreadFlagMessage 0, "+m", "Peak:9 " & tmp_Peak
  688.  
  689. Dummy = "<font class=default>Current Song:"
  690. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  691. Dummy = "<font class=default>"
  692. Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
  693. tmp_Song = ReplaceHTMLCode(Left(Recieved, InStr(1, Recieved, "</b>") - 1 ))
  694. If DebugIt Then SpreadFlagMessage 0, "+m", "Song:9 " & tmp_Song
  695. If aktuell < Int(Stream_Peak) Then
  696. If DebugIt Then SpreadFlagMessage 0, "+m", "Peak: Write in INI-Datei"
  697. WriteINIString "Peak", "Peak", Stream_Peak, INIFile
  698. End If
  699.  
  700. Dummy = tmp_Song
  701. If Dummy <> LastNews Then
  702. LastNews = Dummy
  703. If ReadINIString("Setting", "Song", "on", INI) = "on" Then
  704. If DebugIt Then SpreadFlagMessage 0, "+m", "Sending to " & Dummy & " :" & "PRIVMSG " & Dummy & " :" & LastNews
  705. If ReadINIString("Setting", "Status", "0", INI) = 0 Then Exit Sub
  706. Channels = ReadINIString("Channels", "Main", "", INI) & " " & ReadINIString("Channels", "Ausgabe", "", INI)
  707. Dummy = Split(Channels, " ")
  708. For i = LBound(Dummy) To UBound(Dummy)
  709. Sendline "PrivMsg " & Dummy(i) & " : 14[3PLAYiNG14] »» 15" & tmp_Song,3
  710. Next
  711. End If
  712. End If
  713. Else
  714. SpreadFlagMessage 0, "+m", "5*** HTML-Page is not Complete and Radio is Offline!"
  715. End If
  716. Recieved = vbNullString
  717.  
  718. TimedCommand "GetNews", 30
  719. End Select
  720. End Sub
  721.  
  722. Sub Advertisment()
  723. Status = ReadINIString("Setting", "Status", "0", INI)
  724. aStatus = ReadINIString("Advertisement", "Status", "on", INI)
  725. If aStatus = "on" Then
  726. If Status = 1 Then
  727. Message = ReadINIString("Advertisement", "Online", "[Keine OnlineWerbung gesetzt]", INI)
  728. Channels = ReadINIString("Channels", "Main", "", INI) & " " & ReadINIString("Channels", "Ausgabe", "", INI)
  729. Dummy = Split(Channels, " ")
  730. For i = LBound(Dummy) To UBound(Dummy)
  731. Sendline "PrivMsg " & Dummy(i) & " : " & ReplaceVars(Message),3
  732. Next
  733. ElseIf Status = 0 Then
  734. Message = ReadINIString("Advertisement", "Offline", "[Keine OfflineWerbung gesetzt]", INI)
  735. Channels = ReadINIString("Channels", "Main", "", INI) & " " & ReadINIString("Channels", "Ausgabe", "", INI)
  736. Dummy = Split(Channels, " ")
  737. For i = LBound(Dummy) To UBound(Dummy)
  738. Sendline "PrivMsg " & Dummy(i) & " : " & ReplaceVars(Message),3
  739. Next
  740. End If
  741.  
  742. aTime = ReadINIString("Advertisement", "Time", "300", INI)
  743. TimedCommand "Advertisment", aTime
  744. ElseIf aStatus = "off" Then
  745. aTime = ReadINIString("Advertisement", "Time", "300", INI)
  746. TimedCommand "Advertisment", aTime
  747. End If
  748. End Sub
  749.  
  750. Sub Countdown()
  751. If Status = True Then
  752. sSec = RemainingSec
  753.  
  754. If sSec <= 2701 And sSec > 1801 Then
  755. Interval = "2700 1800"
  756.  
  757. If InStr(1, Interval, sSec) > 0 Then
  758. nTime = sSec / 60
  759. Sendline "PrivMsg " & aChan & " : Noch " & nTime & " Minuten",3
  760. End If
  761. ElseIf sSec < 901 And sSec > 119 Then
  762. Interval = "900 600 300 240 180 120"
  763.  
  764. If InStr(1, Interval, sSec) > 0 Then
  765. nTime = sSec / 60
  766. Sendline "PrivMsg " & aChan & " : Noch " & nTime & " Minuten",3
  767. End If
  768. ElseIf sSec < 106 And sSec > 74 Then
  769. Interval = "105 90 75"
  770.  
  771. If InStr(1, Interval, sSec) > 0 Then
  772. NewTime sSec
  773. End If
  774. ElseIf sSec < 61 And sSec > 6 Then
  775. Interval = "60 45 30 20 15 10"
  776.  
  777. If InStr(1, Interval, sSec) > 0 Then
  778. Sendline "PrivMsg " & aChan & " : Noch " & sSec & " Sekunden",3
  779. End If
  780. ElseIf sSec < 6 And sSec > 0 Then
  781. Interval = "5 4 3 2 1"
  782.  
  783. If InStr(1, Interval, sSec) > 0 Then
  784. Sendline "PrivMsg " & aChan & " : Noch " & sSec & " Sekunde(n)",3
  785. End If
  786. ElseIf sSec = 0 Then
  787. Sendline "PrivMsg " & aChan & " : Countdown end... go.. go.. go..",3
  788. Status = False
  789. Exit Sub
  790. End If
  791.  
  792. RemainingSec = RemainingSec - 1
  793. If DebugIt Then SpreadFlagMessage 0, "+m", "[" & Time & ":] " & RemainingSec
  794. TimedCommand "Countdown", 1
  795. ElseIf Status = False Then
  796. Exit Sub
  797. End If
  798. End Sub
  799.  
  800. Function NewTopic(Text, Topic)
  801. aTopic = ReadINIString("Topic", "Online", "", INI)
  802. cTopic = ReadINIString("Topic", "Offline", "", INI)
  803. If Topic = 1 Then
  804. Main = ReadINIString("Channels", "Main", "", INI)
  805. Dummy = Split(Main, " ")
  806. For i = LBound(Dummy) To UBound(Dummy)
  807. Sendline "Topic " & Dummy(i) & " : " & ReplaceVars(aTopic),3
  808. Next
  809. ElseIf Topic = 2 Then
  810. Main = ReadINIString("Channels", "Main", "", INI)
  811. Dummy = Split(Main, " ")
  812. For i = LBound(Dummy) To UBound(Dummy)
  813. Sendline "Topic " & Dummy(i) & " : " & ReplaceVars(cTopic),3
  814. Next
  815. End If
  816. End Function
  817.  
  818. Function ReplaceVars(Text)
  819. If InStr(1, LCase(Text), LCase("##DJ##")) > 0 Then
  820. Text = Replace(Text, "##DJ##", ReadINIString("Setting", "DJ", "", INI))
  821. End If
  822. If InStr(1, LCase(Text), LCase("##SENDUNG##")) > 0 Then
  823. Text = Replace(Text, "##SENDUNG##", ReadINIString("Setting", "Sendung", "", INI))
  824. End If
  825. If InStr(1, LCase(Text), LCase("##STREAM##")) > 0 Then
  826. Text = Replace(Text, "##STREAM##", ReadINIString("Stream", "Listen", "", INI))
  827. End If
  828. If InStr(1, LCase(Text), LCase("##HOMEPAGE##")) > 0 Then
  829. Text = Replace(Text, "##HOMEPAGE##", ReadINIString("Stream", "HomePage", "", INI))
  830. End If
  831. If InStr(1, LCase(Text), LCase("##NAME##")) > 0 Then
  832. Text = Replace(Text, "##NAME##", ReadINIString("Stream", "Name", "", INI))
  833. End If
  834. If InStr(1, LCase(Text), LCase("##SONG##")) > 0 Then
  835. Text = Replace(Text, "##SONG##", tmp_Song)
  836. End If
  837. If InStr(1, LCase(Text), LCase("##LISTENER##")) > 0 Then
  838. Text = Replace(Text, "##LISTENER##", tmp_Listener)
  839. End If
  840. If InStr(1, LCase(Text), LCase("##PEAK##")) > 0 Then
  841. Text = Replace(Text, "##PEAK##", tmp_Peak)
  842. End If
  843.  
  844. Status = ReadINIString("Topic", "Status", "on", INI)
  845. If Status = "on" Then
  846. If InStr(1, LCase(Text), LCase("##NEWS##")) > 0 Then
  847. Text = Replace(Text, "##NEWS##", ReadINIString("Topic", "News", "", INI))
  848. End If
  849. End If
  850.  
  851. ReplaceVars = Text
  852. End Function
  853.  
  854. Function ReplaceHTMLCode(Text)
  855. Text = Replace(Text, "<b>", "")
  856. Text = Replace(Text, "</b>", "")
  857. Text = Replace(Text, "<td>", "")
  858. Text = Replace(Text, "</td>", "")
  859. Text = Replace(Text, "<front>", "")
  860. Text = Replace(Text, "</front>", "")
  861. Text = Replace(Text, "<B>", "")
  862. Text = Replace(Text, "</B>", "")
  863. ReplaceHTMLCode = Text
  864. End Function
  865.  
  866. Function Trim3(Text)
  867. Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
  868. End Function
  869.  
  870. Function NewTime(Text)
  871. Text = Text / 60
  872. nTime = Split(Text, ",")
  873. Mins = nTime(0)
  874. Sec = "0," & nTime(1)
  875. Sec = Sec * 60
  876. Text = Mins & " Minute und " & Round(Sec, 0) & " Sekunden"
  877. If DebugIt Then SpreadFlagMessage 0, "+m", Text
  878. Sendline "PrivMsg " & aChan & " : Noch " & Text,3
  879. End Function
Add Comment
Please, Sign In to add comment