Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.13 KB | None | 0 0
  1. #######################################
  2. # #
  3. # Jarvis & Aragorn Services #
  4. # By AngeDesOmbres #
  5. # #
  6. #######################################
  7.  
  8.  
  9. ###################
  10. # #
  11. # Configuration #
  12. # #
  13. ###################
  14.  
  15. #-> Les Sets
  16. set modo_ver "2.4.5"
  17. set modo_author "AngeDesOmbres"
  18. set modo_date "02/01/2017"
  19. set modo_upgrade "31/02/2017"
  20. set cs "ChanServ"
  21. set hs "HostServ"
  22. set bs "BotServ"
  23. set chanlog "#Services"
  24. set chanstaff "#Staff"
  25. set chansos "#Plaintes"
  26. set active(chan) "#Sex #Entre-Couples #Charme #Entre-Mecs #1000Bornes #Enjoy-Hit #Motus #Pendu #Quizz #Uno #Aide #Services #Accueil #-18ans #Entre-Filles #Auvergne-Rhone-Alpes #Bourgogne-Franche-Comte #Bretagne #Bruxelles #Centre-Val-De-Loire #Corse #Grand-Est #Hauts-De-France #Ile-De-France #Luxembourg #Services #Normandie #Nouvelle-Aquitaine #Occitanie #PACA #Pays-De-La-Loire"
  27. set exempt(reason) "\002\0034!! ERROR 404 COMMAND NOT FOUND !! \0037Pseudo protégé \00312Commande NOT FOUND"
  28. set exempt(vhost) {
  29. EnjOy-Tchat.fr
  30. *@EnjOy-Tchat.fr
  31. *Root@EnjOy-Tchat.fr
  32. *@TechAdmin.EnjOy-TchaT.fr
  33. *@NetAdmin.EnjOy-Tchat.fr
  34. *@Admin.EnjOy-Tchat.fr
  35. *@CoAdmin.EnjOy-Tchat.fr
  36. *@IRCop.EnjOy-Tchat.fr
  37. *@ChanMaster.EnjOy-Tchat.fr
  38. *@Faucheur.EnjOy-Tchat.fr
  39. *@Moderateur.EnjOy-Tchat.fr
  40. *@Moderatrice.EnjOy-Tchat.fr
  41. *@Operateur.EnjOy-Tchat.fr
  42. *@Operatrice.EnjOy-Tchat.fr
  43. *@Moderation.Enjoy-TchaT.fr
  44. *@EnjOy-TchaT.fr
  45. *@Plaintes.EnjOy-TchaT.fr
  46. *@Games.EnjOy-TchaT.fr
  47. *@Helpeur.EnjOy-TchaT.fr
  48. *@News-Staff.EnjOy-TchaT.fr
  49. *@LineDesign.fr
  50. }
  51. set badwords {
  52. pute
  53. salope
  54. connard
  55. putain
  56. putin
  57. conasse
  58. connasse
  59. Connard
  60. Pute
  61. Salope
  62. salop
  63. Salop
  64. conard
  65. Conard
  66. encul*
  67. Encul*
  68. }
  69.  
  70.  
  71. # NE PAS TOUCHER SAUF SI VOUS CONNAISSEZ LE CODAGE TCL #
  72. ################
  73. # #
  74. # Modération #
  75. # #
  76. ################
  77.  
  78. bind pub l !modo aidemodo
  79. bind pub l !kr kickraison
  80. bind pub l !kflood kickflood
  81. bind pub l !ksex kicksex
  82. bind pub l !kpropo kickpropo
  83. bind pub l !kinsulte kickinsulte
  84. bind pub l !knick kickpseudo
  85. bind pub l !kspam kickspam
  86. bind pub l !kscript kickscript
  87. bind pub l !br banraison
  88. bind pub l !bfood banflood
  89. bind pub l !bsex bansex
  90. bind pub l !bpropo banpropo
  91. bind pub l !binsulte baninsulte
  92. bind pub l !bnick banpseudo
  93. bind pub l !bspam banspam
  94. bind pub l !bscript banscript
  95. bind pub o !prison prison
  96. bind pub o !kl kill
  97. bind pub o !gl gline
  98. bind pub o !helpaxx helpaxx
  99. bind pub o !adv advoice
  100. bind pub o !adh admodo
  101. bind pub o !ado adop
  102. bind pub o !adp adprotect
  103. bind pub o !adi adinvite
  104. bind pub o !dlv dlvoice
  105. bind pub o !dlh dlmodo
  106. bind pub o !dlo dlop
  107. bind pub o !dlp dlprotect
  108. bind pub o !dli dlinvite
  109. bind pub m !gestion gestion
  110. bind pub m !officiel register:officiel
  111. bind pub m !offreg register:region
  112. bind pub m !bot bot:assign
  113. bind pub m !nobot bot:unassign
  114. bind pub m !topic topic:officiel
  115. bind pub m !topicreg topic:region
  116. bind pub m !entmsg entry:msg
  117. bind pub m !invstaff invit:staff
  118. bind pub m !helpsaj help:saj
  119. bind pub m !helpbot help:bot
  120. bind pubm -|- * bad:words
  121. bind mode -|- * mode:ban
  122. bind mode - * reop
  123. bind pubm - * pub:sos
  124. bind pubm - * pub:go
  125. bind join - "*" join:blacklist
  126.  
  127. proc aidemodo { nick host hand channel arg } {
  128. if [matchattr $hand l] {
  129. puthelp "NOTICE $nick :\00312Voici les commandes d'aide à la modération à taper de la façon suivante \0037!commande pseudo \00312Exemple :\0034 !ksex Thor \00312 les commandes \0034!kl \00312et\0034 !gl \00312sont à taper de la manière suivante \0034!kl pseudo raison"
  130. puthelp "NOTICE $nick :\0034!kr pseudo raison \00312pour kick avec ta propre raison"
  131. puthelp "NOTICE $nick :\0034!kflood pseudo \00312pour kick pour flood"
  132. puthelp "NOTICE $nick :\0034!ksex pseudo \00312pour kick pour sexe"
  133. puthelp "NOTICE $nick :\0034!kpropo pseudo \00312pour kick pour propos"
  134. puthelp "NOTICE $nick :\0034!kinsulte pseudo \00312pour kick pour insulte"
  135. puthelp "NOTICE $nick :\0034!knick pseudo \00312pour kick pour pseudo"
  136. puthelp "NOTICE $nick :\0034!kspam pseudo \00312pour kick pour spam"
  137. puthelp "NOTICE $nick :\0034!kscript pseudo \00312pour kick pour effet de script"
  138. puthelp "NOTICE $nick :\0034!br pseudo raison \00312pour kick ban avec ta propre raison"
  139. puthelp "NOTICE $nick :\0034!bflood pseudo \00312pour kick ban pour flood"
  140. puthelp "NOTICE $nick :\0034!bsex pseudo \00312pour kick ban pour sexe"
  141. puthelp "NOTICE $nick :\0034!bpropo pseudo \00312pour kick ban pour propos"
  142. puthelp "NOTICE $nick :\0034!binsulte pseudo \00312pour kick ban pour insulte"
  143. puthelp "NOTICE $nick :\0034!bnick pseudo \00312pour kick ban pour pseudo"
  144. puthelp "NOTICE $nick :\0034!bspam pseudo \00312pour kick ban pour spam"
  145. puthelp "NOTICE $nick :\0034!bscript pseudo \00312pour kick ban pour effet de script"
  146. puthelp "NOTICE $nick :\0034!helpnews \00312Pour voir l'aide sur la gestion des news \0031(uniquement sur le salon #Staff)"
  147. }
  148. if [matchattr $hand o] {
  149. puthelp "NOTICE $nick :\0034!prison pseudo \00312pour envoyer un user en prison"
  150. puthelp "NOTICE $nick :\0034!kl pseudo raison \00312pour faire déconnecter un user du tchat"
  151. puthelp "NOTICE $nick :\0034!gl pseudo raison \00312Pour bannir un user du tchat"
  152. puthelp "NOTICE $nick :\0034!helpsaj \00312pour voir l'aide sur l'auto join des membres du staff"
  153. puthelp "NOTICE $nick :\0034!helpaxx \00312Pour voir l'aide sur la gestion des axx"
  154. }
  155. if [matchattr $hand m] {
  156. puthelp "NOTICE $nick :\0034!gestion \00312Pour voir l'aide sur la gestion des nouveaux salon officiels"
  157. puthelp "NOTICE $nick :\0034!helpbot \00312Pour voir l'aide sur la gestion des bots \0037Aragorn, Jarvis, Helpeur, Games, News-Staff & Plaintes"
  158. }
  159. }
  160.  
  161. proc kickraison { nick host hand channel text } {
  162. global chanlog exempt
  163. set args [split $text]
  164. set victim [lindex $args 0]
  165. set reason [join [lrange $args 1 end]]
  166. if { ![onchan $victim $channel] } {
  167. putserv "PRIVMSG $channel :\0034$victim \00312n'est pas là \0037$nick"
  168. return 0
  169. }
  170. set vichost [getchanhost $victim $channel]
  171. set protec 0
  172. foreach vhost $exempt(vhost) {
  173. if { [string match -nocase $vhost $vichost] } {
  174. set protec 1
  175. }
  176. }
  177. if { $protec == 1 } {
  178. putserv "NOTICE $nick :$exempt(reason)"
  179. } else {
  180. putkick $channel $victim $reason
  181. putserv "PRIVMSG $chanlog :\0034$victim \00312a été kick de \0034$channel \00312par \0034$nick \00312pour la raison :\0037 $reason"
  182. }
  183. }
  184.  
  185. proc kickflood { nick host hand channel arg } {
  186. global cs chanlog exempt
  187. if { ![onchan $arg $channel] } {
  188. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  189. return 0
  190. }
  191. set vichost [getchanhost $arg $channel]
  192. set protec 0
  193. foreach vhost $exempt(vhost) {
  194. if { [string match -nocase $vhost $vichost] } {
  195. set protec 1
  196. }
  197. }
  198. if { $protec == 1 } {
  199. putserv "NOTICE $nick :$exempt(reason)"
  200. } else {
  201. putkick $channel $arg "\00312Le flood est interdit sur les salons officiels !"
  202. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour flood."
  203. }
  204. }
  205.  
  206. proc kicksex { nick host hand channel arg } {
  207. global cs chanlog exempt
  208. if { ![onchan $arg $channel] } {
  209. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  210. return 0
  211. }
  212. set vichost [getchanhost $arg $channel]
  213. set protec 0
  214. foreach vhost $exempt(vhost) {
  215. if { [string match -nocase $vhost $vichost] } {
  216. set protec 1
  217. }
  218. }
  219. if { $protec == 1 } {
  220. putserv "NOTICE $nick :$exempt(reason)"
  221. } else {
  222. putkick $channel $arg "\00312Les propos sexuels sont interdits sur les salons officiels !"
  223. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour propos sexuels."
  224. }
  225. }
  226.  
  227. proc kickpropo { nick host hand channel arg } {
  228. global cs chanlog exempt
  229. if { ![onchan $arg $channel] } {
  230. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  231. return 0
  232. }
  233. set vichost [getchanhost $arg $channel]
  234. set protec 0
  235. foreach vhost $exempt(vhost) {
  236. if { [string match -nocase $vhost $vichost] } {
  237. set protec 1
  238. }
  239. }
  240. if { $protec == 1 } {
  241. putserv "NOTICE $nick :$exempt(reason)"
  242. } else {
  243. putkick $channel $arg "\00312Merci de modérer tes propos sur les salons officiels !"
  244. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour propos."
  245. }
  246. }
  247.  
  248. proc kickinsulte { nick host hand channel arg } {
  249. global cs chanlog exempt
  250. if { ![onchan $arg $channel] } {
  251. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  252. return 0
  253. }
  254. set vichost [getchanhost $arg $channel]
  255. set protec 0
  256. foreach vhost $exempt(vhost) {
  257. if { [string match -nocase $vhost $vichost] } {
  258. set protec 1
  259. }
  260. }
  261. if { $protec == 1 } {
  262. putserv "NOTICE $nick :$exempt(reason)"
  263. } else {
  264. putkick $channel $arg "\00312Les insultes sont interdites sur les salons officiels !"
  265. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour insulte."
  266. }
  267. }
  268.  
  269. proc kickpseudo { nick host hand channel arg } {
  270. global cs chanlog exempt
  271. if { ![onchan $arg $channel] } {
  272. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  273. return 0
  274. }
  275. set vichost [getchanhost $arg $channel]
  276. set protec 0
  277. foreach vhost $exempt(vhost) {
  278. if { [string match -nocase $vhost $vichost] } {
  279. set protec 1
  280. }
  281. }
  282. if { $protec == 1 } {
  283. putserv "NOTICE $nick :$exempt(reason)"
  284. } else {
  285. putserv "mode $channel +b $arg"
  286. putkick $channel $arg "\00312Merci de changer ton pseudo pour pouvoir rejoindre les salons officiels !"
  287. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour pseudo."
  288. }
  289. }
  290.  
  291. proc kickspam { nick host hand channel arg } {
  292. global cs chanlog exempt
  293. if { ![onchan $arg $channel] } {
  294. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  295. return 0
  296. }
  297. set vichost [getchanhost $arg $channel]
  298. set protec 0
  299. foreach vhost $exempt(vhost) {
  300. if { [string match -nocase $vhost $vichost] } {
  301. set protec 1
  302. }
  303. }
  304. if { $protec == 1 } {
  305. putserv "NOTICE $nick :$exempt(reason)"
  306. } else {
  307. putkick $channel $arg "\00312Le spam est interdit sur les salons officiels !"
  308. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour spam."
  309. }
  310. }
  311.  
  312. proc kickscript { nick host hand channel arg } {
  313. global cs chanlog exempt
  314. if { ![onchan $arg $channel] } {
  315. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  316. return 0
  317. }
  318. set vichost [getchanhost $arg $channel]
  319. set protec 0
  320. foreach vhost $exempt(vhost) {
  321. if { [string match -nocase $vhost $vichost] } {
  322. set protec 1
  323. }
  324. }
  325. if { $protec == 1 } {
  326. putserv "NOTICE $nick :$exempt(reason)"
  327. } else {
  328. putkick $channel $arg "\00312merci de ne pas abuser des effets de script sur les salons officiels !"
  329. putserv "PRIVMSG $chanlog :\0034$arg \00312a été kick de \0034$channel \00312par \0034$nick \00312pour effet de script."
  330. }
  331. }
  332.  
  333. #################################
  334. ######## Les Ban ################
  335. #################################
  336.  
  337. proc banraison { nick host hand channel text } {
  338. global cs chanlog exempt unban
  339. set args [split $text]
  340. set victim [lindex $args 0]
  341. set reason [join [lrange $args 1 end]]
  342. if { ![onchan $victim $channel] } {
  343. putserv "PRIVMSG $channel :\0034$victim \00312n'est pas là \0037$nick"
  344. return 0
  345. }
  346. set vichost [getchanhost $victim $channel]
  347. set protec 0
  348. foreach vhost $exempt(vhost) {
  349. if { [string match -nocase $vhost $vichost] } {
  350. set protec 1
  351. }
  352. }
  353. if { $protec == 1 } {
  354. putserv "NOTICE $nick :$exempt(reason)"
  355. } else {
  356. putserv "PRIVMSG $cs ban $channel $victim $reason"
  357. putserv "PRIVMSG $chanlog :\0034$victim \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour la raison :\0037 $reason"
  358. timer $unban(time) [list putserv "mode $channel -b $victim"]
  359. }
  360. }
  361.  
  362. proc banflood { nick host hand channel arg } {
  363. global cs chanlog exempt
  364. if { ![onchan $arg $channel] } {
  365. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  366. return 0
  367. }
  368. set vichost [getchanhost $arg $channel]
  369. set protec 0
  370. foreach vhost $exempt(vhost) {
  371. if { [string match -nocase $vhost $vichost] } {
  372. set protec 1
  373. }
  374. }
  375. if { $protec == 1 } {
  376. putserv "NOTICE $nick :$exempt(reason)"
  377. } else {
  378. putserv "PRIVMSG $cs ban $channel $arg \00312Le flood est interdit sur les salons officiels !"
  379. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour flood."
  380. }
  381. }
  382.  
  383. proc bansex { nick host hand channel arg } {
  384. global cs chanlog exempt
  385. if { ![onchan $arg $channel] } {
  386. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  387. return 0
  388. }
  389. set vichost [getchanhost $arg $channel]
  390. set protec 0
  391. foreach vhost $exempt(vhost) {
  392. if { [string match -nocase $vhost $vichost] } {
  393. set protec 1
  394. }
  395. }
  396. if { $protec == 1 } {
  397. putserv "NOTICE $nick :$exempt(reason)"
  398. } else {
  399. putserv "PRIVMSG $cs ban $channel $arg \00312Les propos sexuel sont interdits sur les salons officiels ! Sauf sur \0034#Sex"
  400. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour flood."
  401. }
  402. }
  403.  
  404. proc banpropo { nick host hand channel arg } {
  405. global cs chanlog exempt
  406. if { ![onchan $arg $channel] } {
  407. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  408. return 0
  409. }
  410. set vichost [getchanhost $arg $channel]
  411. set protec 0
  412. foreach vhost $exempt(vhost) {
  413. if { [string match -nocase $vhost $vichost] } {
  414. set protec 1
  415. }
  416. }
  417. if { $protec == 1 } {
  418. putserv "NOTICE $nick :$exempt(reason)"
  419. } else {
  420. putserv "PRIVMSG $cs ban $channel $arg \00312Merci de modérer tes propos sur les salons officiels !"
  421. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour propos."
  422. }
  423. }
  424.  
  425. proc baninsulte { nick host hand channel arg } {
  426. global cs chanlog exempt
  427. if { ![onchan $arg $channel] } {
  428. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  429. return 0
  430. }
  431. set vichost [getchanhost $arg $channel]
  432. set protec 0
  433. foreach vhost $exempt(vhost) {
  434. if { [string match -nocase $vhost $vichost] } {
  435. set protec 1
  436. }
  437. }
  438. if { $protec == 1 } {
  439. putserv "NOTICE $nick :$exempt(reason)"
  440. } else {
  441. putserv "PRIVMSG $cs ban $channel $arg \00312Les insultes sont interdites sur les salons officiels !"
  442. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour insulte."
  443. }
  444. }
  445.  
  446. proc banpseudo { nick host hand channel arg } {
  447. global cs chanlog exempt
  448. if { ![onchan $arg $channel] } {
  449. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  450. return 0
  451. }
  452. set vichost [getchanhost $arg $channel]
  453. set protec 0
  454. foreach vhost $exempt(vhost) {
  455. if { [string match -nocase $vhost $vichost] } {
  456. set protec 1
  457. }
  458. }
  459. if { $protec == 1 } {
  460. putserv "NOTICE $nick :$exempt(reason)"
  461. } else {
  462. putserv "PRIVMSG $cs ban $channel $arg \00312Merci de changer ton pseudo pour pouvoir rejoindre les salons officiels !"
  463. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour pseudo."
  464. }
  465. }
  466.  
  467. proc banspam { nick host hand channel arg } {
  468. global cs chanlog exempt
  469. if { ![onchan $arg $channel] } {
  470. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  471. return 0
  472. }
  473. set vichost [getchanhost $arg $channel]
  474. set protec 0
  475. foreach vhost $exempt(vhost) {
  476. if { [string match -nocase $vhost $vichost] } {
  477. set protec 1
  478. }
  479. }
  480. if { $protec == 1 } {
  481. putserv "NOTICE $nick :$exempt(reason)"
  482. } else {
  483. putserv "PRIVMSG $cs ban $channel $arg \00312Le spam est interdit sur les salons officiels !"
  484. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour spam."
  485. }
  486. }
  487.  
  488. proc banscript { nick host hand channel arg } {
  489. global cs chanlog vhostexempt exemptreason
  490. if { ![onchan $arg $channel] } {
  491. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  492. return 0
  493. }
  494. set vichost [getchanhost $arg $channel]
  495. set protec 0
  496. foreach vhost $vhostexempt {
  497. if { [string match -nocase $vhost $vichost] } {
  498. set protec 1
  499. }
  500. }
  501. if { $protec == 1 } {
  502. putserv "NOTICE $nick :$exemptreason"
  503. } else {
  504. putserv "PRIVMSG $cs ban $channel $arg \00312Trop d'abus d'effet de script sur les salons officiels !"
  505. putserv "PRIVMSG $chanlog :\0034$arg \00312a été bannie de \0034$channel \00312par \0034$nick \00312pour effet de script."
  506. }
  507. }
  508.  
  509. proc prison { nick host hand channel arg } {
  510. global chanlog exempt
  511. if { ![onchan $arg $channel] } {
  512. putserv "PRIVMSG $channel :\0034$arg \00312n'est pas là \0037$nick"
  513. return 0
  514. }
  515. set vichost [getchanhost $arg $channel]
  516. set protec 0
  517. foreach vhost $exempt(vhost) {
  518. if { [string match -nocase $vhost $vichost] } {
  519. set protec 1
  520. }
  521. }
  522. if { $protec == 1 } {
  523. putserv "NOTICE $nick :$exempt(reason)"
  524. } else {
  525. putquick "SAJOIN $arg #4,0,#Prison"
  526. putquick "SHUN $arg 5m En prison"
  527. putquick "NOTICE $arg :\00312Te voici en prison pour 5 minutes !!"
  528. putquick "PRIVMSG $chanlog :\0034$nick \00312à envoyé\0037 $arg \00312en prison pour 5 minutes"
  529. }
  530. }
  531.  
  532. proc kill { nick host hand channel text } {
  533. global chanlog exempt
  534. set args [split $text]
  535. set victim [lindex $args 0]
  536. set reason [join [lrange $args 1 end]]
  537. if { ![onchan $victim $channel] } {
  538. putserv "PRIVMSG $channel :\0034$victim \00312n'est pas là \0037$nick"
  539. return 0
  540. }
  541. set vichost [getchanhost $victim $channel]
  542. set protec 0
  543. foreach vhost $exempt(vhost) {
  544. if { [string match -nocase $vhost $vichost] } {
  545. set protec 1
  546. }
  547. }
  548. if { $protec == 1 } {
  549. putserv "NOTICE $nick :$exempt(reason)"
  550. } else {
  551. putserv "kill $victim $reason"
  552. putserv "PRIVMSG $chanlog :\0034$victim \00312à été déconnecté du serveur pour la raison :\0037 $reason"
  553. }
  554. }
  555.  
  556. proc gline { nick host hand channel text } {
  557. global chanlog exempt
  558. set args [split $text]
  559. set victim [lindex $args 0]
  560. set reason [join [lrange $args 1 end]]
  561. if { ![onchan $victim $channel] } {
  562. putserv "PRIVMSG $channel :\0034$victim \00312n'est pas là \0037$nick"
  563. return 0
  564. }
  565. set vichost [getchanhost $victim $channel]
  566. set protec 0
  567. foreach vhost $exempt(vhost) {
  568. if { [string match -nocase $vhost $vichost] } {
  569. set protec 1
  570. }
  571. }
  572. if { $protec == 1 } {
  573. putserv "NOTICE $nick :$exempt(reason)"
  574. } else {
  575. putserv "gline $victim 3600 $reason"
  576. putserv "PRIVMSG $chanlog :\0034$victim \00312à été déconnecté du serveur pour la raison :\0037 $reason"
  577. }
  578. }
  579.  
  580.  
  581. ###################
  582. # #
  583. # Anti BadWords #
  584. # #
  585. ###################
  586.  
  587. proc bad:words {nick host hand channel text} {
  588. global badwords exempt
  589. set bad ""
  590. foreach element $badwords {
  591. foreach element1 $text {
  592. if {$element1 == $element} {
  593. set bad "$element"
  594. break
  595. }
  596. }
  597. }
  598. if {$bad != ""} {
  599. set vichost [getchanhost $nick $channel]
  600. set protec 0
  601. foreach vhost $exempt(vhost) {
  602. if { [string match -nocase $vhost $vichost] } {
  603. set protec 1
  604. }
  605. }
  606. if { $protec == 1 } {
  607. return 0
  608. } else {
  609. putkick $channel $nick "\00312Merci de surveiller votre language !!"
  610. }
  611. }
  612. }
  613.  
  614.  
  615. #######################
  616. # #
  617. # Reban Automatique #
  618. # #
  619. #######################
  620.  
  621. proc mode:ban { nick host hand chan mode victim } {
  622. if { $chan == "#Charme" } {
  623. if { $mode == "-b" } {
  624. pushmode $chan +b ~r:10_*_*
  625. pushmode $chan +b ~r:11_*_*
  626. pushmode $chan +b ~r:12_*_*
  627. pushmode $chan +b ~r:13_*_*
  628. pushmode $chan +b ~r:14_*_*
  629. pushmode $chan +b ~r:15_*_*
  630. pushmode $chan +b ~r:16_*_*
  631. pushmode $chan +b ~r:17_*_*
  632. pushmode $chan +b ~c:#-18ans
  633. }
  634. flushmode $chan
  635. }
  636. if { $chan == "#-18ans" } {
  637. if { $mode == "-b" } {
  638. pushmode $chan +b ~r:18_*_*
  639. pushmode $chan +b ~r:19_*_*
  640. pushmode $chan +b ~r:20_*_*
  641. pushmode $chan +b ~r:21_*_*
  642. pushmode $chan +b ~r:22_*_*
  643. pushmode $chan +b ~r:23_*_*
  644. pushmode $chan +b ~r:24_*_*
  645. pushmode $chan +b ~r:25_*_*
  646. pushmode $chan +b ~r:26_*_*
  647. pushmode $chan +b ~r:27_*_*
  648. pushmode $chan +b ~r:28_*_*
  649. pushmode $chan +b ~r:29_*_*
  650. pushmode $chan +b ~r:30_*_*
  651. pushmode $chan +b ~r:31_*_*
  652. pushmode $chan +b ~r:32_*_*
  653. pushmode $chan +b ~r:33_*_*
  654. pushmode $chan +b ~r:34_*_*
  655. pushmode $chan +b ~r:35_*_*
  656. pushmode $chan +b ~r:36_*_*
  657. pushmode $chan +b ~r:37_*_*
  658. pushmode $chan +b ~r:38_*_*
  659. pushmode $chan +b ~r:39_*_*
  660. pushmode $chan +b ~r:40_*_*
  661. pushmode $chan +b ~r:41_*_*
  662. pushmode $chan +b ~r:42_*_*
  663. pushmode $chan +b ~r:43_*_*
  664. pushmode $chan +b ~r:44_*_*
  665. pushmode $chan +b ~r:45_*_*
  666. pushmode $chan +b ~r:46_*_*
  667. pushmode $chan +b ~r:47_*_*
  668. pushmode $chan +b ~r:48_*_*
  669. pushmode $chan +b ~r:49_*_*
  670. pushmode $chan +b ~c:#Charme
  671. }
  672. flushmode $chan
  673. }
  674. if { $chan == "#Entre-Mecs" } {
  675. if { $mode == "-b" } {
  676. pushmode $chan +b ~r:*_F_*
  677. pushmode $chan +b ~c:#Entre-Filles
  678. }
  679. flushmode $chan
  680. }
  681. if { $chan == "#Entre-Filles" } {
  682. if { $mode == "-b" } {
  683. pushmode $chan +b ~r:*_H_*
  684. pushmode $chan +b ~c:#Entre-Mecs"
  685. }
  686. flushmode $chan
  687. }
  688. }
  689.  
  690.  
  691. ######################
  692. # #
  693. # Gestion des bots #
  694. # #
  695. ######################
  696.  
  697. proc help:bot { nick host hand channel arg } {
  698. if [matchattr $hand m] {
  699. puthelp "NOTICE $nick :\00312Voici les commandes d'aide sur la gestion de bots \0036Aragorn, Jarvis, Helpeur, Games, News-Staff & Plaintes\00312."
  700. puthelp "NOTICE $nick :\0034/msg <Nom Du Bot> rehash \00312Pour rehash le bot."
  701. puthelp "NOTICE $nick :\0034/msg <Nom Du Bot> restart \00312Pour restart le bot"
  702. puthelp "NOTICE $nick :\0034/msg <Nom Du Bot> die \00312Pour die le bot"
  703. }
  704. }
  705.  
  706.  
  707. #####################
  708. # #
  709. # Gestion Des Axx #
  710. # #
  711. #####################
  712.  
  713. proc helpaxx {nick host hand channel arg } {
  714. if [matchattr $hand o] {
  715. puthelp "NOTICE $nick :\00312Aide pour la gestion des Axx. Commande à taper avec un pseudo a la suite. \0035Exemple ; \0034!ado Thor"
  716. puthelp "NOTICE $nick :\0034!adv \00312ajout d'un axx d'animateur."
  717. puthelp "NOTICE $nick :\0034!adh \00312ajout d'un axx de modérateur."
  718. puthelp "NOTICE $nick :\0034!ado \00312ajout d'un axx d'opérateur."
  719. puthelp "NOTICE $nick :\0034!adp \00312ajout d'un axx de chan admin."
  720. puthelp "NOTICE $nick :\0034!adi \00312ajout d'une invitation permanante."
  721. puthelp "NOTICE $nick :\0034!dlv \00312Suppresion d'un axx d'animateur."
  722. puthelp "NOTICE $nick :\0034!dlh \00312Suppresion d'un axx de modérateur."
  723. puthelp "NOTICE $nick :\0034!dlo \00312Suppresion d'un axx d'opérateur."
  724. puthelp "NOTICE $nick :\0034!dlp \00312Suppresion d'un axx de chan admin."
  725. puthelp "NOTICE $nick :\0034!dli \00312Suppresion d'une invitation permanante."
  726. puthelp "NOTICE $nick :\00312Fin des commandes d'aide à la gestion des Axx."
  727. }
  728. }
  729.  
  730. proc advoice { nick host hand channel arg } {
  731. global chanlog cs
  732. putserv "PRIVMSG $cs access $channel add $arg 3"
  733. putserv "NOTICE $arg :\00312L'axx permanant d'animateur a bien été ajouté.\0034 $arg \00312Merci de taper \0037!voice \00312sur le salon\0037 $channel"
  734. putserv "PRIVMSG $chanlog :\00312L'axx permanant d'animateur a bien été ajouté à\0034 $arg \00312par \0034$nick \00312pour le salon\0037 $channel"
  735. }
  736.  
  737. proc dlvoice { nick host hand channel arg } {
  738. global chanlog cs hs
  739. putserv "PRIVMSG $cs access $channel del $arg"
  740. putserv "PRIVMSG $hs del $arg"
  741. putserv "PRIVMSG $chanlog :\00312L'axx permanant d'animateur a bien été supprimé à\0034 $arg \00312par \0034$nick \00312pour le salon\0037 $channel"
  742. }
  743.  
  744. proc admodo { nick host hand channel arg } {
  745. global chanlog chanstaff cs
  746. putserv "PRIVMSG $cs access $channel add $arg 4"
  747. putserv "NOTICE $arg :\00312L'axx permanant de modérateur a bien été ajouté.\0034 $arg \00312Merci de taper \0037!halfop sur le salon\0037 $channel"
  748. putserv "NOTICE $arg :\00312Merci de rejoindre le salon\0034 $chanstaff"
  749. putserv "PRIVMSG $chanlog :\00312L'axx permanant de modérateur et l'invitation permanante sur $chanstaff ont bien été créés à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  750. }
  751.  
  752. proc dlmodo { nick host hand channel arg } {
  753. global chanlog chanstaff cs hs
  754. putserv "PRIVMSG $cs access $channel del $arg"
  755. putserv "PRIVMSG $hs del $arg"
  756. putserv "mode $channel +b $arg"
  757. putserv "sapart $arg $chanstaff"
  758. putserv "PRIVMSG $chanlog :\00312L'axx permanant de modérateur a bien été suppirmé à\0034 $arg \00312par \0034$nick \00312pour le salon\0037 $channel"
  759. }
  760.  
  761. proc adop { nick host hand channel arg } {
  762. global chanlog chanstaff cs
  763. putserv "PRIVMSG $cs access $channel add $arg 5"
  764. putserv "NOTICE $arg :\00312L'axx permanant d'opérateur a bien été ajouté. \0034 $arg \00312Merci de taper \0037!op sur le salon\0037 $channel"
  765. putserv "NOTICE $arg :\00312Merci de rejoindre le salon\0034 $chanstaff"
  766. putserv "PRIVMSG $chanlog :\00312L'axx permanant d'opérateur et l'invitation permanante ont bien été créés à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  767. }
  768.  
  769. proc dlop { nick host hand channel arg } {
  770. global chanlog chanstaff cs hs
  771. putserv "PRIVMSG $cs access $channel del $arg"
  772. putserv "PRIVMSG $hs del $arg"
  773. putserv "mode $channel +b $arg"
  774. putserv "sapart $arg $chanstaff"
  775. putserv "PRIVMSG $chanlog :\00312L'axx permanent d'opétateur a bien été supprimé à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  776. }
  777.  
  778. proc adprotect { nick host hand channel arg } {
  779. global chanlog chanstaff cs hs
  780. putserv "PRIVMSG $cs access $channel add $arg 10"
  781. putserv "PRIVMSG $hs set $arg ChanMaster.EnjOy-Tchat.fr"
  782. putserv "NOTICE $arg :\00312L'axx permanant de Chan-Master a bien été ajouté. \0034 $arg \00312Merci de taper \0037!protect sur le salon\0037 $channel"
  783. putserv "NOTICE $arg :\00312Merci de taper \0034hs on \0012Avant de rejoindre le salon\0034 $chanstaff"
  784. putserv "PRIVMSG $chanlog :\00312L'axx permanant de Chan-Master et l'invitation permanante sur \0034$chanstaff \00312ont bien été créées à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  785. }
  786.  
  787. proc dlprotect { nick host hand channel arg } {
  788. global chanlog chanstaff cs hs
  789. putserv "PRIVMSG $cs access $channel del $arg"
  790. putserv "PRIVMSG $hs del $arg"
  791. putserv "mode $channel +b $arg"
  792. putserv "sapart $arg $chanstaff"
  793. putserv "PRIVMSG $chanlog :\00312L'axx permanent de Chan-Master de salon a bien été supprimé à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  794. }
  795.  
  796. proc adinvite { nick host hand channel arg } {
  797. global chanlog
  798. pushmode $channel +I $arg
  799. putserv "NOTICE $arg :\00312L'invite permanante a bien été ajouté. \0034 $arg \00312Merci de taper \0037/join $channel"
  800. putserv "PRIVMSG $chanlog :\00312L'invite permanante a bien été ajouté à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  801. }
  802.  
  803. proc dlinvite { nick host hand channel arg } {
  804. global chanlog cs
  805. pushmode $channel -I $arg
  806. putserv "PRIVMSG $chanlog :\00312L'invite permanente a bien été supprimé à\0034 $arg \00312par \0034$nick \00312sur le salon\0037 $channel"
  807. putkick $channel $arg "\00312Ton invitation permanante à été supprimé sur le salon \0037$channel"
  808. }
  809.  
  810.  
  811. ##################################
  812. # #
  813. # Gestion des salons officiels #
  814. # #
  815. ##################################
  816.  
  817. proc gestion { nick host hand channel arg } {
  818. puthelp "NOTICE $nick :\00312Voici les commandes d'aide à la gestion des topics officiel. \0031(suffit de juste taper la commande sans rien d'autre)"
  819. puthelp "NOTICE $nick :\0034!officiel \00312Pour enregistrer un salon Officiel"
  820. puthelp "NOTICE $nick :\0034!offreg \00312Pour enregistrer un salon Officiel-Region"
  821. puthelp "NOTICE $nick :\0034!bot \00312Pour assign les bots Bob Swagy Fun et LimitServ sur un salon Officiel"
  822. puthelp "NOTICE $nick :\0034!nobot \00312Pour unassign les bots Bob Swagy Fun et LimitServ d'un salon Officiel"
  823. puthelp "NOTICE $nick :\0034!topic \00312Met en place le topic pour les salons \0037Officiel"
  824. puthelp "NOTICE $nick :\0034!topicreg \00312Met en place le topic pour les salons \0037Officiel-Region"
  825. puthelp "NOTICE $nick :\0034!entmsg \00312Met en place le message d'entrer sur les salons \0037 Officiel \00312et \0037Officiel-Region"
  826. }
  827.  
  828. proc register:officiel { nick host hand channel arg } {
  829. global cs bs botnick
  830. putserv "mode $channel +o $botnick"
  831. putserv "PRIVMSG $cs register $channel avoiravecsniper Salon officiel du réseau EnjOy-TchaT"
  832. putserv "PRIVMSG $cs topic $channel \002\0034{Officiel} \002\00312Bienvenue sur\0036 $channel \00312Salon Officiel \00313(\00307No flood, No spam, No sexe\00313)\00312 - Tapez /list pour voir la liste des canaux. \0031Tapez \0037!jokes \0031pour voir les commandes d'animations."
  833. puthelp "PRIVMSG $cs set $channel entrymsg \0036En cas de problème sur le salon tapez \0037!sos \0036En cas de problème avec un tchateur la commande \0037/plainte pseudo raison \0036est à votre disposition."
  834. putserv "PRIVMSG $cs set $channel topiclock on"
  835. putserv "PRIVMSG $bs assign $channel Discussions"
  836. putserv "PRIVMSG LimitServ assign $channel"
  837. putserv "PRIVMSG Bob assign $channel"
  838. putserv "PRIVMSG Fun assign $channel"
  839. putserv "PRIVMSG $cs op $channel Bob"
  840. putserv "sajoin SwagY $channel"
  841. putserv "PRIVMSG $cs set $channel xop off"
  842. }
  843.  
  844. proc register:region { nick host hand channel arg } {
  845. global cs bs botnick
  846. putserv "mode $channel +o $botnick"
  847. putserv "PRIVMSG $cs register $channel avoiravecsniper Salon officiel region du réseau EnjOy-TchaT"
  848. putserv "PRIVMSG $cs topic $channel \002\0034{Officiel-Région} \002\00312Bienvenue sur\0036 $channel \00312Salon Officiel \00313(\00307No flood, No spam, No sexe\00313)\00312 - Tapez /list pour voir la liste des canaux. \0031Tapez \0037!jokes \0031pour voir les commandes d'animations."
  849. puthelp "PRIVMSG $cs set $channel entrymsg \0036En cas de problème sur le salon tapez \0037!sos \0036En cas de problème avec un tchateur la commande \0037/plainte pseudo raison \0036est à votre disposition."
  850. putserv "PRIVMSG $cs set $channel topiclock on"
  851. putserv "PRIVMSG $bs assign $channel Discussions"
  852. putserv "PRIVMSG LimitServ assign $channel"
  853. putserv "PRIVMSG Bob assign $channel"
  854. putserv "PRIVMSG Fun assign $channel"
  855. putserv "PRIVMSG $cs op $channel Bob"
  856. putserv "sajoin SwagY $channel"
  857. putserv "PRIVMSG $cs set $channel xop off"
  858. }
  859.  
  860. proc bot:assign { nick host hand channel arg } {
  861. putserv "PRIVMSG LimitServ assign $channel"
  862. putserv "PRIVMSG Bob assign $channel"
  863. putserv "PRIVMSG Fun assign $channel"
  864. putserv "sajoin SwagY $channel"
  865. }
  866.  
  867. proc bot:unassign { nick host hand channel arg } {
  868. putserv "PRIVMSG LimitServ unassign $channel"
  869. putserv "PRIVMSG Bob unassign $channel"
  870. putserv "PRIVMSG Fun unassign $channel"
  871. putserv "sapart SwagY $channel"
  872. }
  873.  
  874. proc topic:officiel { nick host hand channel arg } {
  875. global cs
  876. putserv "PRIVMSG $cs set $channel topiclock off"
  877. putserv "PRIVMSG $cs topic $channel \002\0034{Officiel} \002\00312Bienvenue sur\0036 $channel \00312Salon Officiel \00313(\00307No flood, No spam, No sexe\00313)\00312 - Tapez /list pour voir la liste des canaux. \0031Tapez \0037!jokes \0031pour voir les commandes d'animations."
  878. putserv "PRIVMSG $cs set $channel topiclock on"
  879. }
  880.  
  881. proc topic:region { nick host hand channel arg } {
  882. global cs
  883. putserv "PRIVMSG $cs set $channel topiclock off"
  884. putserv "PRIVMSG $cs topic $channel \002\0034{Officiel-Région} \002\00312Bienvenue sur\0036 $channel \00312Salon Officiel \00313(\00307No flood, No spam, No sexe\00313)\00312 - Tapez /list pour voir la liste des canaux. \0031Tapez \0037!jokes \0031pour voir les commandes d'animations."
  885. putserv "PRIVMSG $cs set $channel topiclock on"
  886. }
  887.  
  888. proc entry:msg { nick host hand channel arg } {
  889. global cs
  890. putserv "PRIVMSG $cs set $channel entrymsg \0036En cas de problème sur le salon tapez \0037!sos \0036En cas de problème avec un tchateur la commande \0037/plainte pseudo raison \0036est à votre disposition."
  891. }
  892.  
  893. proc invit:staff { nick host hand channel arg } {
  894. pushmode $chan $channel +I @Moderateur.EnjOy-TchaT.fr
  895. pushmode $chan $channel +I @Moderatrice.EnjOy-TchaT.fr
  896. pushmode $chan $channel +I @Operateur.EnjOy-TchaT.fr
  897. pushmode $chan $channel +I @Operatrice.EnjOy-TchaT.fr
  898. pushmode $chan $channel +I @Services.EnjOy-Tchat.fr
  899. pushmode $chan $channel +I @ChanMaster.EnjOy-Tchat.fr
  900. pushmode $chan $channel +I @IRCop.EnjOy-Tchat.fr
  901. pushmode $chan $channel +I @CoAdmin.EnjOy-Tchat.fr
  902. pushmode $chan $channel +I @Admin.EnjOy-Tchat.fr
  903. pushmode $chan $channel +I @NetAdmin.EnjOy-Tchat.fr
  904. pushmode $chan $channel +I @TechAdmin.EnjOy-Tchat.fr
  905. pushmode $chan $channel +I Root@EnjOy-Tchat.fr
  906. }
  907.  
  908.  
  909. #######################
  910. # #
  911. # Auto Sajoin Staff #
  912. # #
  913. #######################
  914.  
  915. proc help:saj { nick uhost handle chan arg } {
  916. puthelp "NOTICE $nick :\0036Voici les commandes d'aide de l'auto sajoin des membres du staff."
  917. puthelp "NOTICE $nick :\0034!addsaj \00312pour ajouter un sajoin auto. \0036Exemple :\0037!addsaj pseudo #Salon,#Salon1,#Salon2,#Salon3"
  918. puthelp "NOTICE $nick :\0034!delsaj \00312pour enlever un sajoin auto. \0036Exemple :\0037!delsaj pseudo #Salon,#Salon1,#Salon2,#Salon3"
  919. puthelp "NOTICE $nick :\0034!sajlist \00312pour voir la liste de tout les sajoin auto."
  920. }
  921.  
  922. namespace eval ::sj {
  923. variable data [list]
  924.  
  925. variable vhostkill {
  926. EnjOy-Tchat.fr
  927. TechAdmin.EnjOy-Tchat.fr
  928. NetAdmin.EnjOy-Tchat.fr
  929. Admin.EnjOy-Tchat.fr
  930. CoAdmin.EnjOy-Tchat.fr
  931. IRCop.EnjOy-Tchat.fr
  932. ChanMaster.EnjOy-Tchat.fr
  933. }
  934.  
  935. bind pub - !addsaj [namespace current]::add_saj
  936. bind pub - !delsaj [namespace current]::del_saj
  937. bind pub - !sajlist [namespace current]::list_saj
  938. bind join - * [namespace current]::auto_saj
  939. bind evnt - save [namespace current]::save_file
  940.  
  941. variable sajdb "/var/www/clients/client3/web17/home/tchat_discutenjoy_Ange/shell/Commun/db/sajoin.txt"
  942.  
  943. if ![file exists $sajdb] {
  944. catch {open $sajdb w} a
  945. catch {close $a}
  946. } else {
  947. set a [open $sajdb]
  948. set data [split [read $a] \n]
  949. close $a
  950. }
  951.  
  952. proc save_file {type} {
  953. variable data
  954. variable sajdb
  955. if {$data!=""} {
  956. set a [open $sajdb w]
  957. puts $a [join $data \n]
  958. close $a
  959. }
  960. }
  961. }
  962.  
  963. proc ::sj::add_saj {nick host hand chan text} {
  964. global chanlog
  965. variable vhostkill
  966. variable data
  967. if {[lsearch -nocase $vhostkill [lindex [split $host @] 1]]==-1} return
  968. set victim [lindex $text 0]
  969. set vchan [lindex $text 1]
  970. if {[lsearch -nocase $data "$vchan $victim"]!=-1} {putserv "NOTICE $nick :\0034$victim\00312 a déjà un autojoin sur \0037$vchan.";return}
  971. lappend data "$vchan $victim"
  972. putserv "NOTICE $nick :\00312Autojoin ajouté."
  973. putserv "PRIVMSG $chanlog :\00312L'autojoin pour \0034$victim \00312à bien été ajouté par \0037$nick"
  974. }
  975.  
  976. proc ::sj::del_saj {nick host hand chan text} {
  977. global chanlog
  978. variable vhostkill
  979. variable data
  980. if {[lsearch -nocase $vhostkill [lindex [split $host @] 1]]==-1} return
  981. set victim [lindex $text 0]
  982. set vchan [lindex $text 1]
  983. if {[set a [lsearch -nocase $data "$vchan $victim"]]==-1} {putserv "NOTICE $nick :\0034$victim\00312 n'a pas d'autojoin sur \0037$vchan.";return}
  984. set data [lreplace $data $a $a]
  985. putserv "NOTICE $nick :\00312Autojoin supprimé."
  986. putserv "PRIVMSG $chanlog :\00312L'autojoin pour \0034$victim \00312à bien été supprimé par \0037$nick"
  987. }
  988.  
  989. proc ::sj::list_saj {nick host hand chan text} {
  990. variable vhostkill
  991. variable data
  992. if {[lsearch -nocase $vhostkill [lindex [split $host @] 1]]==-1} return
  993. set c [lindex $text 0]
  994. if {$data==""} {putserv "NOTICE $nick :\00312Auccun autojoin enregistré.";return}
  995. putserv "NOTICE $nick :Liste des autojoins:"
  996. set d [lsort -dict $data]
  997. foreach a $d {
  998. if {$c==""} {
  999. if {[llength $a]==2} {putquick "NOTICE $nick :$a"}
  1000. } else {
  1001. if {[llength $a]==2 && [string equal -nocase $c [lindex $a 0]]} {putquick "NOTICE $nick :$a"}
  1002. }
  1003. }
  1004. }
  1005.  
  1006. proc ::sj::auto_saj {nick host hand chan} {
  1007. variable data
  1008. foreach d $data {
  1009. if [string equal -nocase [lindex $d 1] $nick] {
  1010. utimer 5 [list putserv "SAJOIN $nick [lindex $d 0]"]
  1011. }
  1012. }
  1013. }
  1014.  
  1015.  
  1016. ###############
  1017. # #
  1018. # ReOp Auto #
  1019. # #
  1020. ###############
  1021.  
  1022. proc reop {nick uhost hand chan mode {target ""}} {
  1023. global botnick chanlog
  1024. if { [string tolower $target] != [string tolower $botnick] } {
  1025. return 0
  1026. }
  1027. if {$mode == "-o"} {
  1028. putserv "mode $chan +o $botnick"
  1029. putserv "PRIVMSG $chan :\00312Merci de ne pas m'enlever de mon statut \0037$nick \00312!!"
  1030. putserv "PRIVMSG $chanlog :\0034ReOp \00312sur \0036$chan \00312suite au deop de \0037$nick"
  1031. }
  1032. }
  1033.  
  1034.  
  1035. ###########
  1036. # #
  1037. # S.O.S #
  1038. #  #
  1039. ###########
  1040.  
  1041. proc pub:sos { nick uhost hand chan arg } {
  1042. global chanlog chansos
  1043. set arg [stripcodes bcruag $arg]
  1044. set commande [lindex $arg 0]
  1045. switch -- $commande {
  1046. "!sos" {
  1047. putserv "NOTICE $nick :\00312Votre SOS a été envoyé au service Abus"
  1048. putserv "PRIVMSG $chansos :\0036SOS \00312par \0034$nick \00312sur le salon \0037$chan \00312tape !gosos pour prendre en charge le SOS"
  1049. putserv "NOTICE $chansos :\0036SOS \00312par \0034$nick \00312sur le salon \0037$chan"
  1050. putserv "PRIVMSG $chanlog :\0034SOS \00312par \0037$nick \00312sur le salon \0037$chan"
  1051. }
  1052. }
  1053. }
  1054.  
  1055. proc pub:go { nick uhost hand chan arg } {
  1056. global chanlog chansos
  1057. set arg [stripcodes bcruag $arg]
  1058. set commande [lindex $arg 0]
  1059. switch -- $commande {
  1060. "!gosos" {
  1061. putserv "PRIVMSG $chansos :\0037$nick \00312prend en charge le \0034SOS"
  1062. putserv "PRIVMSG $chanlog :\00312Prise en charge du \0034SOS \00312par \0037$nick"
  1063. }
  1064. }
  1065. }
  1066.  
  1067.  
  1068. ###############
  1069. # #
  1070. # Auto Kill #
  1071. # #
  1072. ###############
  1073.  
  1074. proc join:blacklist { nick uhost hand chan } {
  1075. if {$nick == "Capuccine1"} {
  1076. putserv "kill $nick Connection non sécurisé (Proxy http)"
  1077. return 0
  1078. }
  1079. if {$uhost == "28.199.74.86.rev.sfr.net"} {
  1080. putserv "kill $nick Connection non sécurisé (Proxy http)"
  1081. return 0
  1082. }
  1083. }
  1084.  
  1085. putlog "\00312Jarvis & Aragorn Services Version\0037 $modo_ver \00312By\0034 $modo_author \00312fait le\0036 $modo_date \00312upgrade le\0034 $modo_upgrade \00312has been loaded"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement