Advertisement
Guest User

Untitled

a guest
Jul 7th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 60.50 KB | None | 0 0
  1. ##################################################################
  2. ############# Déclarations des variables Globales ################
  3. ##################################################################
  4.  
  5. bind EVNT - init-server proc:initialisation
  6. proc proc:initialisation { type } {
  7. global type_chan
  8. global backroom
  9. global niubot_chan
  10. global niubot_backroom
  11.  
  12.  
  13.  
  14. ###############################
  15. ########## Channel 1 ##########
  16. ###############################
  17.  
  18. set chan1 "#Trip"
  19. set type_chan(${chan1}) "chan"
  20. set backroom(${chan1}) "#Op-Trip"
  21. set niubot_chan(${chan1}) "Niubot33"
  22. set niubot_backroom(${chan1}) "Niubot61"
  23.  
  24.  
  25.  
  26. ###############################
  27. ########## Channel 2 ##########
  28. ###############################
  29.  
  30. set chan2 "#Op-Trip"
  31. set type_chan(${chan2}) "back"
  32. set backroom(${chan2}) ""
  33. set niubot_chan(${chan2}) "Niubot61"
  34. set niubot_backroom(${chan2}) ""
  35.  
  36.  
  37.  
  38. ###############################
  39. ######## Pass Niubot ##########
  40. ###############################
  41.  
  42. global niubot_pass
  43. set niubot_pass ""
  44.  
  45.  
  46. ###########################################
  47. ##### Construction des variables user #####
  48. ###########################################
  49.  
  50.  
  51. foreach user [userlist] {
  52. global auth
  53. set auth(${user}) "invalide"
  54. }
  55. }
  56.  
  57.  
  58.  
  59. ###########################################
  60. ###### Auto-op + auto-invite BackRoom #####
  61. ###########################################
  62.  
  63. bind JOIN - * proc:autobotop
  64. proc proc:autobotop { nick uhost hand chan } {
  65. global backroom niubot_chan niubot_backroom niubot_pass
  66. if [isbotnick $nick] {
  67. puthelp "PRIVMSG $niubot_chan(${chan}) :op $niubot_pass"
  68. if ("$backroom(${chan})"!="") {
  69. puthelp "PRIVMSG $niubot_backroom(${chan}) :invite $niubot_pass $backroom(${chan})"
  70. }
  71. }
  72. }
  73.  
  74.  
  75. ###########################################
  76. ###### Auto-invite op's sur BackRoom ######
  77. ###########################################
  78.  
  79. set log "#Op-Trip"
  80. bind JOIN - * proc:invite_op_backroom
  81. proc proc:invite_op_backroom { nick uhost hand chan } {
  82. global auth backroom log
  83. if ("$backroom(${chan})"!="") {
  84. if [matchattr $hand |o $chan]  {
  85. if ("$auth(${hand})"=="$uhost")&&(![onchan $nick $backroom(${chan})]) {
  86. putquick "INVITE $nick $backroom(${chan})"
  87. putquick "NOTICE $nick :Vous venez d'être invité sur la BackRoom ( $backroom(${chan}) ). Veuillez la rejoindre."
  88. }
  89. }
  90. }
  91. }
  92.  
  93.  
  94.  
  95. ###########################################
  96. ################ Auth Users ###############
  97. ###########################################
  98.  
  99. set log "#Op-Trip"
  100. bind MSG - auth proc:auth
  101. proc proc:auth { nick uhost hand text } {
  102. global auth backroom botnick log
  103. if [validuser [finduser $nick!*@*]] {
  104. if ("[getuser $hand PASS]"!="") {
  105. if ("[lindex $text 0]"!="") {
  106. if [passwdok $hand [lindex $text 0]] {
  107. if ("$auth(${hand})"!="$uhost") {
  108. set auth(${hand}) $uhost
  109. putquick "NOTICE $nick :Vous venez d'être authentifié sous cet host : $uhost ! Votre authentification sera valide tant que cet host restera inchangé."
  110. putserv "PRIVMSG $log :\0033\[\0034Authentification\0033\] \0032Par $nick \0031Réussi !"
  111. putserv "PRIVMSG $log :\0033\[\0034Invite-Auth\0033\] \0031Invitation pour $nick Authentification effectuer !"
  112. foreach chan [channels] {
  113. if ("$backroom(${chan})"!="") {
  114. if [matchattr $hand |o $chan] {
  115. if ![onchan $nick $backroom(${chan})] {
  116. putquick "INVITE $nick $backroom(${chan})"
  117. putquick "NOTICE $nick :Vous venez d'être invité sur la BackRoom de $chan ( $backroom(${chan}) ). Veuillez la rejoindre."
  118. }
  119. }
  120. }
  121. }
  122. } else {
  123. putquick "NOTICE $nick :Vous êtes déjà authentifié !"
  124. putserv "PRIVMSG $log :\0033\[\0034Authentification\0033\] \0032Par $nick \0031Déjà autentifié !"
  125. }
  126. } else {
  127. putquick "NOTICE $nick :Le mot de passe est incorrect !"
  128. putserv "PRIVMSG $log :\0033\[\0034Authentification\0033\] \0032Par $nick \0031Mot de pass incorrect !"
  129. }
  130. } else {
  131. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick auth <pass> )"
  132. putserv "PRIVMSG $log :\0033\[\0034Authentification\0033\] \0032Par $nick \0031Mauvaise syntaxe pour se autentifié !"
  133. }
  134. } else {
  135. putquick "NOTICE $nick :Vous n'avez de mot de passe ! Veuillez le définir ( /msg $botnick newpass <pass> )."
  136. putserv "PRIVMSG $nick :\0033\[\0034Authentification\0033\] \0032Par $nick \0031Na pas de pass !"
  137. }
  138. } else {
  139. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  140. putserv "PRIVMSG $log :\0033\[\0034Authentification\0033\] \0032Par $nick \0031Na aucun accés !"
  141. }
  142. }
  143.  
  144.  
  145. ###########################################
  146. ################# NewPass #################
  147. ###########################################
  148.  
  149. set log "#Op-Trip"
  150. bind MSG - newpass proc:newpass
  151. proc proc:newpass { nick uhost hand text } {
  152. global botnick log
  153. if [validuser [finduser $nick!*@*]] {
  154. if ("[getuser $hand PASS]"=="") {
  155. if ("$text"=="") {
  156. putquick "NOTICE $nick :Commande erronée ! Veuillez respecter la syntaxe suivante : /msg $botnick newpass <pass> !"
  157. putserv "PRIVMSG $log :\0033\[\0034Newpass\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  158. } else {
  159. setuser $hand PASS [lindex $text 0]
  160. putquick "NOTICE $nick :Mot de passe défini : [lindex $text 0] !"
  161. }
  162. } else {
  163. if ([passwdok $hand [lindex $text 0]]) {
  164. if ([llength $text]>1) {
  165. setuser $hand PASS [lindex $text 1]
  166. putquick "NOTICE $nick :Nouveau mot de passe défini : [lindex $text 1] !"
  167. putserv "PRIVMSG $log :\0033\[\0034Newpass\0033\] \0032Par $nick \0031Réussi !"
  168. } else {
  169. putquick "NOTICE $nick :Commande erronée ! Veuillez respecter la syntaxe suivante : /msg $botnick newpass <ancien-pass> <nouveau-pass> !"
  170. putserv "PRIVMSG $log :\0033\[\0034Newpass\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  171. }
  172. } else {
  173. putquick "NOTICE $nick :Ancien mot de passe incorrect ! Veuillez respecter la syntaxe suivante : /msg $botnick newpass <ancien-pass> <nouveau-pass> !"
  174. putserv "PRIVMSG $log :\0033\[\0034Newpass\0033\] \0032Par $nick \0031Ancien pass incorrect !"
  175. }
  176. }
  177. } else {
  178. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  179. putserv "PRIVMSG $log :\0033\[\0034Newpass\0033\] \0032Par $nick \0031Na aucun accés !"
  180. }
  181. }
  182.  
  183.  
  184.  
  185.  
  186. ###########################################
  187. ################## Access #################
  188. ###########################################
  189.  
  190. set log "#Op-Trip"
  191. bind MSG - access proc:access
  192. proc proc:access { nick uhost hand text } {
  193. global auth botnick log
  194. if [validuser [finduser $nick!*@*]] {
  195. if ("$auth(${hand})"=="$uhost") {
  196. if [string match #* [lindex $text 0]] {
  197. if [validchan [lindex $text 0]] {
  198. if [matchattr $hand |o [lindex $text 0]] {
  199.  
  200.  
  201. set allowners ""
  202. set allmasters ""
  203. set allops ""
  204. foreach user [userlist] {
  205. if [matchattr $user |n [lindex $text 0]] {
  206. lappend allowners $user
  207. }
  208. if [matchattr $user |m [lindex $text 0]] {
  209. lappend allmasters $user
  210. }
  211. if [matchattr $user |o [lindex $text 0]] {
  212. lappend allops $user
  213. }
  214. }
  215.  
  216.  
  217. set ops ""
  218. foreach op $allops {
  219. if ("[lsearch $allmasters $op]"=="-1") {
  220. lappend ops $op
  221. }
  222. }
  223.  
  224. set masters ""
  225. foreach master $allmasters {
  226. if ("[lsearch $allowners $master]"=="-1") {
  227. lappend masters $master
  228. }
  229. }
  230.  
  231. set owners ""
  232. foreach owner $allowners {
  233. lappend owners $owner
  234. }
  235.  
  236.  
  237. putquick "PRIVMSG $nick :\002\[\0031Liste des access sur \0034[lindex $text 0] \002\]"
  238. foreach owner $owners {
  239. set unick [lindex [split [join [getuser $owner HOSTS]] !] 0]
  240. if ("$auth(${owner})"!="invalide") {
  241. set isauth YES
  242. } else {
  243. set isauth NO
  244. }
  245. if [handonchan $owner [lindex $text 0]] {
  246. set isonchan YES
  247. } else {
  248. set isonchan NO
  249. }
  250. puthelp "PRIVMSG $nick :\002\[ Owner \] \0031: \0034\[\0031 $unick \0034\] \0031- AUTH : \0034$isauth \0031- OnChan : \0034$isonchan"
  251. }
  252.  
  253.  
  254. foreach master $masters {
  255. set unick [lindex [split [join [getuser $master HOSTS]] !] 0]
  256. if ("$auth(${master})"!="invalide") {
  257. set isauth YES
  258. } else {
  259. set isauth NO
  260. }
  261. if [handonchan $master [lindex $text 0]] {
  262. set isonchan YES
  263. } else {
  264. set isonchan NO
  265. }
  266. puthelp "PRIVMSG $nick :\002\[ Master \] \0031: \0034\[\0031\002 $unick \0034\] \0031- AUTH : \002\0034$isauth \0031- OnChan : \0034$isonchan"
  267. }
  268.  
  269. foreach op $ops {
  270. set unick [lindex [split [join [getuser $op HOSTS]] !] 0]
  271. if ("$auth(${op})"!="invalide") {
  272. set isauth YES
  273. } else {
  274. set isauth NO
  275. }
  276. if [handonchan $op [lindex $text 0]] {
  277. set isonchan YES
  278. } else {
  279. set isonchan NO
  280. }
  281. puthelp "PRIVMSG $nick :\002\0032\[ Opérateur \] \0031: \0034\[\0031\002 $unick \0034\] \0031- AUTH : \0034$isauth \0031- OnChan : \0034$isonchan"
  282. }
  283.  
  284. puthelp "PRIVMSG $nick :\002\0032\[\0031Fin de la liste d'access \0032\]"
  285. putserv "PRIVMSG $log :\0033\[\0034Accés\0033\] \0032Par $nick \0031Autorisé !"
  286.  
  287. } else {
  288. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
  289. putserv "PRIVMSG $log :\0033\[\0034Accés\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  290. }
  291. } else {
  292. putquick "NOTICE $nick :Ce salon n'est pas enregistré !"
  293. putserv "PRIVMSG $log :\0033\[\0034Accés\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  294. }
  295. } else {
  296. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick access <#channel> )"
  297. putserv "PRIVMSG $log :\0033\[\0034Accés\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  298. }
  299. } else {
  300. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  301. putserv "PRIVMSG $log :\0033\[\0034Accés\0033\] \0032Par $nick \0031N'est pas Autentifier !"
  302. }
  303. } else {
  304. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  305. putserv "PRIVMSG $log :\0033\[\0034Accés\0033\] \0032Par $nick \0031Na aucun accés !"
  306. }
  307. }
  308.  
  309.  
  310.  
  311. ##################################################################
  312. ############## Addop, Addmaster, delop, delmaster ################
  313. ##################################################################
  314.  
  315.  
  316. set log "#Op-Trip"
  317. bind MSG - addop proc:addop
  318. proc proc:addop { nick uhost hand text } {
  319. global auth botnick log
  320. if [validuser [finduser $nick!*@*]] {
  321. if ("$auth(${hand})"=="$uhost") {
  322. if [string match #* [lindex $text 1]]  {
  323. if [validchan [lindex $text 1]] {
  324. if [matchattr $hand |m [lindex $text 1]] {
  325. if ![matchattr [finduser [lindex $text 0]!*@*] |n [lindex $text 1]] {
  326. if ![matchattr [finduser [lindex $text 0]!*@*] |m [lindex $text 1]] {
  327. if ![matchattr [finduser [lindex $text 0]!*@*] |o [lindex $text 1]] {
  328. set vhand [string range [lindex $text 0] 0 8]
  329. adduser $vhand [lindex $text 0]!*@*
  330. setuser $vhand HOSTS [lindex $text 0]|*!*@*
  331. chattr  $vhand -h|+o [lindex $text 1]
  332. putquick "NOTICE $nick :[lindex $text 0] a bien été ajouté(e) en tant qu'opérateur sur [lindex $text 1] !"
  333. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Réussi !"
  334. set auth(${vhand}) "invalide"
  335. } else {
  336. putquick "NOTICE $nick :Ce pseudo figure déjà dans l'Access-List Opérateurs sur [lindex $text 1] !"
  337. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Déjà dans la liste des Opérateur !"
  338. }
  339. } else {
  340. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Masters sur [lindex $text 1] !"
  341. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Pseudo dans la liste Master ne peut être Op !"
  342. }
  343. } else {
  344. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur [lindex $text 1] !"
  345. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Pseudo dans la liste Owners ne peut être Op !"
  346. }
  347. } else {
  348. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur [lindex $text 1] requis) !"
  349. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Refusé Master inconnu !"
  350. }
  351. } else {
  352. putquick "NOTICE $nick :Ce salon n'est pas enregistré !"
  353. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  354. }
  355. } else {
  356. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick addop <pseudo> <#channel> )"
  357. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  358. }
  359. } else {
  360. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  361. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031N'est pas authentifié !"
  362. }
  363. } else {
  364. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  365. putserv "PRIVMSG $log :\0033\[\0034Addop/Addmaster\0033\] \0032Par $nick \0031Na aucun accés !"
  366. }
  367. }
  368.  
  369. set log "#Op-Trip"
  370. bind MSG - delop proc:delop
  371. proc proc:delop { nick uhost hand text } {
  372. global auth botnick log
  373. if [validuser [finduser $nick!*@*]] {
  374. if ("$auth(${hand})"=="$uhost") {
  375. if [string match #* [lindex $text 1]]  {
  376. if [validchan [lindex $text 1]] {
  377. if [matchattr $hand |m [lindex $text 1]] {
  378. if ![matchattr [finduser [lindex $text 0]!*@*] |n [lindex $text 1]] {
  379. if ![matchattr [finduser [lindex $text 0]!*@*] |m [lindex $text 1]] {
  380. if [matchattr [finduser [lindex $text 0]!*@*] |o [lindex $text 1]] {
  381. set vhand [string range [lindex $text 0] 0 8]
  382. adduser $vhand [lindex $text 0]!*@*
  383. setuser $vhand HOSTS [lindex $text 0]|*!*@*
  384. chattr  $vhand -h|-o [lindex $text 1]
  385. putquick "NOTICE $nick :[lindex $text 0] a bien été supprimé(e) de l'Access-List Opérateurs sur [lindex $text 1] !"
  386. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Réussi !"
  387. set auth(${vhand}) "invalide"
  388. } else {
  389. putquick "NOTICE $nick :Ce pseudo ne figure pas dans l'Access-List Opérateurs sur [lindex $text 1] !"
  390. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Le pseudo N'est pas dans la liste d'accés !"
  391. }
  392. } else {
  393. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Masters sur [lindex $text 1] ! Veuillez utiliser la commande <delmaster> !"
  394. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \003Le pseudo N'est pas un Opérateur mais master !"
  395. }
  396. } else {
  397. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur [lindex $text 1] ! Vous ne pouvez pas le supprimer !"
  398. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Erreur pseudo dans les master !"
  399. }
  400. } else {
  401. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur [lindex $text 1] requis) !"
  402. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Level insuffisant !"
  403. }
  404. } else {
  405. putquick "NOTICE $nick :Ce salon n'est pas enregistré !"
  406. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  407. }
  408. } else {
  409. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick delop <pseudo> <#channel> )"
  410. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Syntaxe incorrect !"
  411. }
  412. } else {
  413. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  414. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  415. }
  416. } else {
  417. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  418. putserv "PRIVMSG $log :\0033\[\0034Delop\0033\] \0032Par $nick \0031Na aucun accés !"
  419. }
  420. }
  421.  
  422. set log "#Op-Trip"
  423. bind MSG - addmaster proc:addmaster
  424. proc proc:addmaster { nick uhost hand text } {
  425. global auth botnick log
  426. if [validuser [finduser $nick!*@*]] {
  427. if ("$auth(${hand})"=="$uhost") {
  428. if [string match #* [lindex $text 1]]  {
  429. if [validchan [lindex $text 1]] {
  430. if [matchattr $hand |n [lindex $text 1]] {
  431. if ![matchattr [finduser [lindex $text 0]!*@*] |n [lindex $text 1]] {
  432. if ![matchattr [finduser [lindex $text 0]!*@*] |m [lindex $text 1]] {
  433. set vhand [string range [lindex $text 0] 0 8]
  434. adduser $vhand [lindex $text 0]!*@*
  435. setuser $vhand HOSTS [lindex $text 0]|*!*@*
  436. chattr  $vhand -h|+om [lindex $text 1]
  437. putquick "NOTICE $nick :[lindex $text 0] a bien été ajouté(e) en tant que Master sur [lindex $text 1] !"
  438. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Réussi !"
  439. set auth(${vhand}) "invalide"
  440. } else {
  441. putquick "NOTICE $nick :Ce pseudo figure déjà dans l'Access-List Masters sur [lindex $text 1] !"
  442. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Erreur pseudo déjà dans les Master !"
  443. }
  444. } else {
  445. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur [lindex $text 1] !"
  446. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Erreur pseudo dans la list des Owners !"
  447. }
  448. } else {
  449. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Owner sur [lindex $text 1] requis) !"
  450. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  451. }
  452. } else {
  453. putquick "NOTICE $nick :Ce salon n'est pas enregistré !"
  454. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  455. }
  456. } else {
  457. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick addmaster <pseudo> <#channel> )"
  458. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  459. }
  460. } else {
  461. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  462. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  463. }
  464. } else {
  465. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  466. putserv "PRIVMSG $log :\0033\[\0034Addmaster\0033\] \0032Par $nick \0031Na aucun accés !"
  467. }
  468. }
  469.  
  470. set log "#Op-Trip"
  471. bind MSG - delmaster proc:delmaster
  472. proc proc:delmaster { nick uhost hand text } {
  473. global auth botnick log
  474. if [validuser [finduser $nick!*@*]] {
  475. if ("$auth(${hand})"=="$uhost") {
  476. if [string match #* [lindex $text 1]]  {
  477. if [validchan [lindex $text 1]] {
  478. if [matchattr $hand |n [lindex $text 1]] {
  479. if ![matchattr [finduser [lindex $text 0]!*@*] |n [lindex $text 1]] {
  480. if [matchattr [finduser [lindex $text 0]!*@*] |m [lindex $text 1]] {
  481. set vhand [string range [lindex $text 0] 0 8]
  482. adduser $vhand [lindex $text 0]!*@*
  483. setuser $vhand HOSTS [lindex $text 0]|*!*@*
  484. chattr  $vhand -h|-om [lindex $text 1]
  485. putquick "NOTICE $nick :[lindex $text 0] a bien été supprimé(e) de l'Access-List Masters sur [lindex $text 1] !"
  486. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Réussi !"
  487. set auth(${vhand}) "invalide"
  488. } else {
  489. if [matchattr [finduser [lindex $text 0]!*@*] |o [lindex $text 1]] {
  490. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Opérateurs sur [lindex $text 1] ! Veuillez utiliser la commande <delop> !"
  491. putser "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Erreur veuillez Delop avant de Delmaster le pseudo !"
  492. } else {
  493. putquick "NOTICE $nick :Ce pseudo ne figure pas dans l'Access-List Masters sur [lindex $text 1] !"
  494. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Erreur pseudo pas dans les Masters !"
  495. }
  496. }
  497. } else {
  498. putquick "NOTICE $nick :Ce pseudo figure dans l'Access-List Owners sur [lindex $text 1] ! Vous ne pouvez pas le supprimer !"
  499. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Erreur pseudo dans les Owners impossible de le retiré !"
  500. }
  501. } else {
  502. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Owner sur [lindex $text 1] requis) !"
  503. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Refusé level Owners minimum !"
  504. }
  505. } else {
  506. putquick "NOTICE $nick :Ce salon n'est pas enregistré !"
  507. putserv "PRIVMSG $log :\0033\[\0034Delmaster\033\] \0032Par $nick \0031Salon demander non enregistré !"
  508. }
  509. } else {
  510. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick delmaster <pseudo> <#channel> )"
  511. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  512. }
  513. } else {
  514. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  515. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031N'est pas Authentifié !"
  516. }
  517. } else {
  518. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  519. putserv "PRIVMSG $log :\0033\[\0034Delmaster\0033\] \0032Par $nick \0031Na aucun accés !"
  520. }
  521. }
  522.  
  523. ###########################################
  524. ######## .op/.deop/.voice/.devoice ########
  525. ###########################################
  526.  
  527. set log "#Op-Trip"
  528. bind PUB - .op opop
  529. proc opop { nick uhost hand chan text } {
  530. global auth botnick log
  531. if [validuser [finduser $nick!*@*]] {
  532. if ("$auth(${hand})"=="$uhost") {
  533. if [matchattr $hand |o $chan] {
  534. if {$text==""} {
  535. if (![isop [join $nick] $chan]) {
  536. putquick "mode $chan +o [join $nick]"
  537. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Réussi !"
  538. } else {
  539. putquick "NOTICE $nick :Vous êtes déjà @ sur $chan !"
  540. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Déjà Op sur le salon demander !"
  541. }
  542. } else {
  543.  
  544.  
  545. if ![matchattr $hand |m $chan] {
  546. set listop ""
  547. foreach pseudo $text {
  548. set vpseudo [lindex [split $pseudo |] 0]
  549. if [validuser $vpseudo]&&[matchattr $vpseudo |o $chan] {
  550. lappend listop $pseudo
  551. } else {
  552. putquick "NOTICE $nick :$pseudo n'est pas @ sur $chan, vous ne pouvez pas le oper !"
  553. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Pseudo non présent sur le salon demander !"
  554. }
  555. }
  556. putquick "mode $chan +oooooo [join $listop]"
  557. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Réussi !"
  558. } else {
  559. putquick "mode $chan +oooooo [join $text]"
  560. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Réussi !"
  561. }
  562.  
  563. }
  564. } else {
  565. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur [lindex $text 0] requis.) !"
  566. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  567. }
  568. } else {
  569. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  570. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  571. }
  572. } else {
  573. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  574. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Na aucun accés !"
  575. }
  576. }
  577.  
  578. set log "#Op-Trip"
  579. bind PUB -|- .deop deopdeop
  580. proc deopdeop { nick uhost hand chan text } {
  581. global auth botnick log
  582. if [validuser [finduser $nick!*@*]] {
  583. if ("$auth(${hand})"=="$uhost") {
  584. if [matchattr $hand |o $chan] {
  585. if {$text==""} {
  586. if [isop [join $nick] $chan] {
  587. putquick "mode $chan -o [join $nick]"
  588. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Réussi !"
  589. } else {
  590. putquick "NOTICE $nick :Vous n'êtes pas @ sur $chan !"
  591. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Déjà Déop sur le salon demander !"
  592. }
  593. } else {
  594. putquick "mode $chan -oooooo [join $text]"
  595. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Réussi !"
  596. }
  597. } else {
  598. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur [lindex $text 0] requis.) !"
  599. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  600. }
  601. } else {
  602. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  603. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031N'est pas Authentifié !"
  604. }
  605. } else {
  606. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  607. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \Na aucun accés !"
  608. }
  609. }
  610.  
  611. set log "#Op-Trip"
  612. bind PUB -|- .voice voicevoice
  613. proc voicevoice { nick uhost hand chan text } {
  614. global auth botnick log
  615. if [validuser [finduser $nick!*@*]] {
  616. if ("$auth(${hand})"=="$uhost") {
  617. if [matchattr $hand |o $chan] {
  618. if {$text==""} {
  619. if (![isvoice [join $nick] $chan]) {
  620. putquick "mode $chan +v [join $nick]"
  621. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Réussi !"
  622. } else {
  623. putquick "NOTICE $nick :Vous êtes déjà voice sur $chan !"
  624. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Déjà Voice sur le salon demander !"
  625. }
  626. } else {
  627. putquick "mode $chan +vvvvvv [join $text]"
  628. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Réussi !"
  629. }
  630. } else {
  631. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur [lindex $text 0] requis.) !"
  632. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  633. }
  634. } else {
  635. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  636. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031N'est pas Authentifié !"
  637. }
  638. } else {
  639. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  640. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Na aucun accés !"
  641. }
  642. }
  643.  
  644. set log "#Op-Trip"
  645. bind PUB -|- .devoice devoicedevoice
  646. proc devoicedevoice { nick uhost hand chan text } {
  647. global auth botnick log
  648. if [validuser [finduser $nick!*@*]] {
  649. if ("$auth(${hand})"=="$uhost") {
  650. if [matchattr $hand |o $chan] {
  651. if {$text==""} {
  652. if [isvoice [join $nick] $chan] {
  653. putquick "mode $chan -v [join $nick]"
  654. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Réussi !"
  655. } else {
  656. putquick "NOTICE $nick :Vous n'êtes pas voice sur $chan !"
  657. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Déjà Devoice sur le salon demander !"
  658. }
  659. } else {
  660. putquick "mode $chan -vvvvvv [join $text]"
  661. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Réussi !"
  662. }
  663. } else {
  664. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur [lindex $text 0] requis.) !"
  665. putserv "PRIVMSG $log :\003\[\0034Devoice\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  666. }
  667. } else {
  668. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  669. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  670. }
  671. } else {
  672. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  673. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Na aucun accés !"
  674. }
  675. }
  676.  
  677.  
  678.  
  679. ###########################################
  680. ############## Commande Msg ###############
  681. ###########################################
  682.  
  683. set log "#Op-Trip"
  684. bind MSG -|- op proc:op
  685. proc proc:op { nick uhost hand text } {
  686. global auth botnick
  687. if [validuser [finduser $nick!*@*]] {
  688. if ("$auth(${hand})"=="$uhost") {
  689. if [string match #* [lindex $text 0]] {
  690. if [validchan [lindex $text 0]] {
  691. if [matchattr $hand |o [lindex $text 0]] {
  692. if [onchan $nick [lindex $text 0]] {
  693. if [botonchan [lindex $text 0]] {
  694. if [botisop [lindex $text 0]] {
  695. if {[lindex $text 1] ==""} {
  696. if (![isop [join $nick] [lindex $text 0]]) {
  697. putquick "mode [lindex $text 0] +o [join $nick]"
  698. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Réussi !"
  699. } else {
  700. putquick "NOTICE $nick :Vous êtes déjà @ sur [lindex $text 0] !"
  701. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Déjà Op sur le salon demander !"
  702. }
  703. } else {
  704. if ![matchattr $hand |m [lindex $text 0]] {
  705. set listop ""
  706. foreach pseudo [lrange $text 1 end] {
  707. set vpseudo [lindex [split $pseudo |] 0]
  708. if [validuser $vpseudo]&&[matchattr $vpseudo |o [lindex $text 0]] {
  709. lappend listop $pseudo
  710. } else {
  711. putquick "NOTICE $nick :$pseudo n'est pas @ sur [lindex $text 0], vous ne pouvez pas le oper !"
  712. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Erreur le pseudo na pas d'accés interdiction de @ !"
  713. }
  714. }
  715. putquick "mode [lindex $text 0] +oooooo [join $listop]"
  716. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Réussi !"
  717. } else {
  718. putquick "mode [lindex $text 0] +oooooo [join [lrange $text 1 end]]"
  719. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Réussi !"
  720. }
  721. }
  722. } else {
  723. putquick "NOTICE $nick :Désolé je ne peux te mettre op je suis deop !"
  724. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Erreur Robot actuellement Deop demande impossible pour le moment !"
  725. }
  726. } else {
  727. putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
  728. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Erreur je suis Absent du salon demander !"
  729. }
  730. } else {
  731. putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
  732. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Erreur pseudo pas présent sur le salon demander !"
  733. }
  734. } else {
  735. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
  736. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  737. }
  738. } else {
  739. putquick "NOTICE $nick :Ce salon n'est pas un salon enregistré !"
  740. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  741. }
  742. } else {
  743. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick op #channel (pseudo(s)) )"
  744. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  745. }
  746. } else {
  747. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  748. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  749. }
  750. } else {
  751. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  752. putserv "PRIVMSG $log :\0033\[\0034Op\0033\] \0032Par $nick \0031Na aucun accés !"
  753. }
  754. }
  755.  
  756. set log "#Op-Trip"
  757. bind MSG -|- deop proc:deop
  758. proc proc:deop { nick uhost hand text } {
  759. global auth botnick log
  760. if [validuser [finduser $nick!*@*]] {
  761. if ("$auth(${hand})"=="$uhost") {
  762. if [string match #* [lindex $text 0]] {
  763. if [validchan [lindex $text 0]] {
  764. if [matchattr $hand |o [lindex $text 0]] {
  765. if [onchan $nick [lindex $text 0]] {
  766. if [botonchan [lindex $text 0]] {
  767. if [botisop [lindex $text 0]] {
  768. if {[lindex $text 1] ==""} {
  769. if [isop [join $nick] [lindex $text 0]] {
  770. putquick "mode [lindex $text 0] -o [join $nick]"
  771. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Réussi !"
  772. } else {
  773. putquick "NOTICE $nick :Vous êtes déjà deop sur [lindex $text 0] !"
  774. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Déjà Deop sur le salon demander !"
  775. }
  776. } else {
  777. putquick "mode [lindex $text 0] -oooooo [join [lrange $text 1 end]]"
  778. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Réussi !"
  779. }
  780. } else {
  781. putquick "NOTICE $nick :Désolé je ne peux te mettre deop je suis deop !"
  782. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Erreur Robot actuellement Deop demande impossible pour le moment !"
  783. }
  784. } else {
  785. putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
  786. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Erreur je suis Absent du salon demander !"
  787. }
  788. } else {
  789. putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
  790. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Erreur pseudo pas présent sur le salon demandé !"
  791. }
  792. } else {
  793. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
  794. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  795. }
  796. } else {
  797. putquick "NOTICE $nick :Ce salon n'est pas un salon enregistré !"
  798. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Salon demandé non enregistré !"
  799. }
  800. } else {
  801. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick deop #channel (pseudo(s)) )"
  802. putserv "PRIVMSg $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  803. }
  804. } else {
  805. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  806. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  807. }
  808. } else {
  809. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  810. putserv "PRIVMSG $log :\0033\[\0034Deop\0033\] \0032Par $nick \0031Na auncun accés !"
  811. }
  812. }
  813.  
  814. set log "#Op-Trip"
  815. bind MSG -|- voice proc:voice
  816. proc proc:voice { nick uhost hand text } {
  817. global auth botnick log
  818. if [validuser [finduser $nick!*@*]] {
  819. if ("$auth(${hand})"=="$uhost") {
  820. if [string match #* [lindex $text 0]] {
  821. if [validchan [lindex $text 0]] {
  822. if [matchattr $hand |o [lindex $text 0]] {
  823. if [onchan $nick [lindex $text 0]] {
  824. if [botonchan [lindex $text 0]] {
  825. if [botisop [lindex $text 0]] {
  826. if {[lindex $text 1] ==""} {
  827. if (![isvoice [join $nick] [lindex $text 0]]) {
  828. putquick "mode [lindex $text 0] +v [join $nick]"
  829. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Réussi !"
  830. } else {
  831. putquick "NOTICE $nick :Vous êtes déjà voice sur [lindex $text 0] !"
  832. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Déjà voice sur le salon demandé !"
  833. }
  834. } else {
  835. putquick "mode [lindex $text 0] +vvvvvv [join [lrange $text 1 end]]"
  836. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Réussi !"
  837. }
  838. } else {
  839. putquick "NOTICE $nick :Désolé je ne peux te mettre voice je suis deop !"
  840. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Erreur Robot actuellement Deop demande impossible pour le moment !"
  841. }
  842. } else {
  843. putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
  844. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Erreur je suis Absent du salon demander !"
  845. }
  846. } else {
  847. putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
  848. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Erreur pseudo demander pas présent sur le salon demander !"
  849. }
  850. } else {
  851. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
  852. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  853. }
  854. } else {
  855. putquick "NOTICE $nick :Ce salon n'est pas un salon enregistré !"
  856. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  857. }
  858. } else {
  859. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick voice #channel (pseudo(s)) )"
  860. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  861. }
  862. } else {
  863. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  864. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  865. }
  866. } else {
  867. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  868. putserv "PRIVMSG $log :\0033\[\0034Voice\0033\] \0032Par $nick \0031Na aucun accés !"
  869. }
  870. }
  871.  
  872. set log "#Op-Trip"
  873. bind MSG -|- devoice proc:devoice
  874. proc proc:devoice { nick uhost hand text } {
  875. global auth botnick log
  876. if [validuser [finduser $nick!*@*]] {
  877. if ("$auth(${hand})"=="$uhost") {
  878. if [string match #* [lindex $text 0]] {
  879. if [validchan [lindex $text 0]] {
  880. if [matchattr $hand |o [lindex $text 0]] {
  881. if [onchan $nick [lindex $text 0]] {
  882. if [botonchan [lindex $text 0]] {
  883. if [botisop [lindex $text 0]] {
  884. if {[lindex $text 1] ==""} {
  885. if [isvoice [join $nick] [lindex $text 0]] {
  886. putquick "mode [lindex $text 0] -v [join $nick]"
  887. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Réussi !"
  888. } else {
  889. putquick "NOTICE $nick :Vous êtes déjà devoice sur [lindex $text 0] !"
  890. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Déjà Devoice sur le salon demandé !"
  891. }
  892. } else {
  893. putquick "mode [lindex $text 0] -vvvvvv [join [lrange $text 1 end]]"
  894. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Réussi !"
  895. }
  896. } else {
  897. putquick "NOTICE $nick :Désolé je ne peux te mettre devoice je suis deop !"
  898. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Erreur Robot actuellement Deop demande impossible pour le moment !"
  899. }
  900. } else {
  901. putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
  902. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Erreur je suis Absent du salon demandé !"
  903. }
  904. } else {
  905. putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
  906. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Erreur pseudo demander pas présent sur le salon demander !"
  907. }
  908. } else {
  909. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
  910. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  911. }
  912. } else {
  913. putquick "NOTICE $nick :Ce salon n'est pas un salon enregistré !"
  914. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  915. }
  916. } else {
  917. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick devoice #channel (pseudo(s)) )"
  918. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  919. }
  920. } else {
  921. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  922. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  923. }
  924. } else {
  925. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  926. putserv "PRIVMSG $log :\0033\[\0034Devoice\0033\] \0032Par $nick \0031Na aucun accés !"
  927. }
  928. }
  929.  
  930.  
  931. ###########################################
  932. ################## kick ###################
  933. ###########################################
  934.  
  935. set log "#Op-Trip"
  936. bind PUB -|- .kick kick
  937. proc kick { nick uhost hand chan text } {
  938. global auth botnick log
  939. if [validuser [finduser $nick!*@*]] {
  940. if ("$auth(${hand})"=="$uhost") {
  941. if [matchattr $hand |o $chan] {
  942. if {$text != ""} {
  943. if [onchan [lindex $text 0] $chan] {
  944. if {[lindex $text 1] != ""} {
  945. putquick "kick $chan [lindex $text 0] :[join [lrange $text 1 end]]"
  946. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Réussi !"
  947. } else {
  948. putquick "kick $chan [lindex $text 0] :Vous venez d'être kické par $nick !"
  949. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Réussi !"
  950. }
  951. } else {
  952. putquick "NOTICE $nick :Le pseudo [lindex $text 0] n'est pas sur $chan"
  953. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Erreur pseudo pas présent sur le salon demander !"
  954. }
  955. } else {
  956. putquick "NOTICE $nick :Syntaxe incorrecte ! ( .kick <pseudo> (raison) ! )"
  957. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  958. }
  959. } else {
  960. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'exécution de cette commande ( Opérateur sur [lindex $text 0] requis.) !"
  961. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  962. }
  963. } else {
  964. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  965. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031N'est pas Authentifié !"
  966. }
  967. } else {
  968. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  969. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Na aucun accés !"
  970. }
  971. }
  972.  
  973. set log "#Op-Trip"
  974. bind MSG -|- kick proc:kick
  975. proc proc:kick { nick uhost hand text } {
  976. global auth botnick log
  977. if [validuser [finduser $nick!*@*]] {
  978. if ("$auth(${hand})"=="$uhost") {
  979. if [string match #* [lindex $text 0]] {
  980. if [validchan [lindex $text 0]] {
  981. if [matchattr $hand |o [lindex $text 0]] {
  982. if [onchan $nick [lindex $text 0]] {
  983. if [botonchan [lindex $text 0]] {
  984. if [botisop [lindex $text 0]] {
  985. if {[lindex $text 1] !=""} {
  986. if [onchan [join [lindex $text 1]] [lindex $text 0]] {
  987. if {[lindex $text 2] !=""} {
  988. putquick "kick [lindex $text 0] [lindex $text 1] :[join [lrange $text 2 end]]"
  989. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Réussi !"
  990. } else {
  991. putquick "kick [lindex $text 0] [lindex $text 1] :Vous venez d'être kické par $nick !"
  992. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Réussi !"
  993. }
  994. } else {
  995. putquick "NOTICE $nick :Le pseudo [lindex $text 1] n'est pas sur [lindex $text 0] !"
  996. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Erreur pseudo pas présent sur le salon demander !"
  997. }
  998. } else {
  999. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick kick #channel (pseudo raison ou sans) ! )"
  1000. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  1001. }
  1002. } else {
  1003. putquick "NOTICE $nick :Désolé je ne peux kiké je suis deop !"
  1004. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Erreur Robot actuellement Deop demande impossible pour le moment !"
  1005. }
  1006. } else {
  1007. putquick "NOTICE $nick :Désolé je me trouve actuellement pas sur le salon demandé !"
  1008. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Erreur je suis Absent du salon demandé !"
  1009. }
  1010. } else {
  1011. putquick "NOTICE $nick :Vous n'êtes pas sur [lindex $text 0] !"
  1012. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Erreur pseudo pas sur le salon demandé !"
  1013. }
  1014. } else {
  1015. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur [lindex $text 0] requis) !"
  1016. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  1017. }
  1018. } else {
  1019. putquick "NOTICE $nick :Ce salon n'est pas enregistré !"
  1020. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Salon demander non enregistré !"
  1021. }
  1022. } else {
  1023. putquick "NOTICE $nick :Syntaxe incorrecte ! ( /msg $botnick kick #channel <pseudo> (raison) ! )"
  1024. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  1025. }
  1026. } else {
  1027. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1028. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1029. }
  1030. } else {
  1031. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  1032. putserv "PRIVMSG $log :\0033\[\0034Kick\0033\] \0032Par $nick \0031Na aucun accés !"
  1033. }
  1034. }
  1035.  
  1036. ###########################################
  1037. ############## Ban / Unban ################
  1038. ###########################################
  1039.  
  1040. set log "#Op-Trip"
  1041. bind PUB - .ban banchan
  1042. proc banchan { nick uhost hand chan text } {
  1043. global auth botnick log
  1044. if [validuser [finduser $nick!*@*]] {
  1045. if ("$auth(${hand})"=="$uhost") {
  1046. if [matchattr $hand |o $chan] {
  1047. if {$text != ""} {
  1048. if [string match *!*@* [lindex $text 0]] {
  1049. putquick "mode $chan +b [lindex $text 0]"
  1050. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031Réussi !"
  1051. } else {
  1052. if {[llength [getchanhost [lindex $text 0]]]!=0} {
  1053. putquick "mode $chan +b [getchanhost [lindex $text 0]]"
  1054. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031Réussi !"
  1055. } else {
  1056. putquick "NOTICE $nick :Ce pseudo n'est pas connecté au t'Chat"
  1057. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031Erreur pseudo Absent du server !"
  1058. }
  1059. }
  1060. } else {
  1061. putquick "NOTICE $nick :Syntaxe incorrecte ! ( .ban <pseudo/host> ! )"
  1062. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  1063. }
  1064. } else {
  1065. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur $chan requis) !"
  1066. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031Refusé Opérateur inconnu !"
  1067. }
  1068. } else {
  1069. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1070. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1071. }
  1072. } else {
  1073. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  1074. putserv "PRIVMSG $log :\0033\[\0034Ban\0033\] \0032Par $nick \0031Na aucun accés !"
  1075. }
  1076. }
  1077.  
  1078. set log "#Op-Trip"
  1079. bind PUB - .unban unbanc
  1080. proc unbanc { nick uhost hand chan text } {
  1081. global auth botnick log
  1082. if [validuser [finduser $nick!*@*]] {
  1083. if ("$auth(${hand})"=="$uhost") {
  1084. if [matchattr $hand |o $chan] {
  1085. if {$text != ""} {
  1086. if [string match -nocase *!*@* [lindex $text 0]] {
  1087. putquick "mode $chan -b [lindex $text 0]"
  1088. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031Réussi !"
  1089. } else {
  1090. if {[llength [getchanhost [lindex $text 0]]]!=0} {
  1091. set uh "[lindex $text 0]![getchanhost [lindex $text 0]]"
  1092. foreach bsyntaxe [chanbans $chan] {
  1093. if [string match -nocase [lindex $bsyntaxe 0] $uh] {
  1094. putquick "mode $chan -b [lindex $bsyntaxe 0]"
  1095. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031Réussi !"
  1096. }
  1097. }
  1098. } else {
  1099. putquick "NOTICE $nick :Ce pseudo n'est pas connecté au t'Chat !"
  1100. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031Erreur pseudo Absent du server !"
  1101. }
  1102. }
  1103. } else {
  1104. putquick "NOTICE $nick :Syntaxe incorrecte ! ( .unban <pseudo/host> ! )"
  1105. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  1106. }
  1107. } else {
  1108. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur $chan requis) !"
  1109. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031Refusé Opérateur inconnu"
  1110. }
  1111. } else {
  1112. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1113. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1114. }
  1115. } else {
  1116. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  1117. putserv "PRIVMSG $log :\0033\[\0034Unban\0033\] \0032Par $nick \0031Na auncun accés !"
  1118. }
  1119. }
  1120.  
  1121.  
  1122.  
  1123. ###########################################
  1124. ###############Auto-Reop###################
  1125. ###########################################
  1126.  
  1127. bind MODE - "* -o" reopbot
  1128. proc reopbot { nick uhost hand chan mc target } {
  1129. global cibledeop niubot_chan niubot_pass
  1130.  
  1131.  
  1132. if {[isbotnick "$target"]&&(![isbotnick "$nick"])} {
  1133. putquick "PRIVMSG $niubot_chan(${chan}) :op $niubot_pass"
  1134. set cibledeop "$nick"
  1135. }}
  1136.  
  1137.  
  1138. bind MODE - "* +o" deopcible
  1139. proc deopcible { nick uhost hand chan mc target } {
  1140. global cibledeop niubot_chan
  1141. if {[isbotnick "$target"]} {
  1142. if [info exists cibledeop] {
  1143. putquick "mode $chan -o $cibledeop"
  1144. putquick "mode $chan -imk *"
  1145. unset cibledeop
  1146. }
  1147. if {[chanbans $chan]!=""} {
  1148. foreach bl [chanbans $chan] {
  1149. putquick "mode $chan -b [lindex $bl 0]"
  1150. putquick "PRIVMSG $niubot_chan(${$chan}) :unban [lindex $bl 0] $chan"
  1151. }}}}
  1152.  
  1153.  
  1154. bind KICK - * protec_kick
  1155. proc protec_kick { nick uhost hand chan target reason } {
  1156. global cibledeop niubot_chan niubot_pass
  1157. if {[isbotnick $target]} {
  1158. putquick "PRIVMSG $niubot_chan(${$chan}) :invite $passbot $chan"
  1159. set cibledeop "$nick"
  1160. }}
  1161.  
  1162.  
  1163.  
  1164. ###########################################
  1165. ###############Auto-Unban##################
  1166. ###########################################
  1167.  
  1168. #set log "#Op-Trip"
  1169. #bind MODE - "* +b" unban_niubot
  1170. #proc unban_niubot { nick uhost hand chan mc target } {
  1171. #global niubot_chan niubot_pass botnick log
  1172. #if ("$nick"=="")||("$chan"=="$botnick") {return 0}
  1173. #if (![isbotnick $nick]) {
  1174. #if {[string match -nocase niubot?? $nick]} {
  1175. #putquick "PRIVMSG $niubot_chan(${chan}) :unban $target $chan"
  1176. #} else {
  1177. #set hostmask "[split [getchanhost $nick $chan] @]"
  1178. #set hostmask "*!*@[lindex $hostmask 1]"
  1179. #putquick "mode $chan -ob+b $nick $target $hostmask"
  1180. #putquick "kick $chan $nick :Ban interdit passer par le bot merci !"
  1181. #putserv "PRIVMSG $log :\0033\[\0034Anti-Ban\0033\] \0032Par $nick \0031Refusé na pas d'accés banni du salon !"
  1182. #}
  1183. #}
  1184. #}    
  1185.  
  1186.  
  1187. ###########################################
  1188. ###############Notice-Chan#################
  1189. ###########################################
  1190.  
  1191. set log "#Op-Trip"
  1192. bind notc - * nonotice_chanoff
  1193. proc nonotice_chanoff { nick uhost hand text dest } {
  1194. global botnick log
  1195. if ("$nick"=="")||("$dest"=="$botnick") {return 0}
  1196. if [validuser [finduser $nick!*@*]]&&[matchattr $hand |o $dest] {return 0}
  1197. if [isop $nick $dest]||[isvoice $nick $dest] {return 0}
  1198. if ![botisop $dest] {return 0}
  1199. if [string match -nocase niubot?? $nick] {return 0}
  1200. set host [lindex [split $uhost @] 1]
  1201. putquick "mode $dest +b *!*@$host"
  1202. putquick "kick $dest $nick :~ Exp/Notice-Chan ~ Pas de notice salon svp"
  1203. putserv "PRIVMSG $log :\0033\[\0034Chan-Notice\0033\] \0032Par $nick \0031Refusé na pas d'accés banni du salon !"
  1204.  
  1205. }
  1206.  
  1207.  
  1208. ###########################################
  1209. ############ Anti-Spam XyLoO ##############
  1210. ###########################################
  1211.  
  1212.  
  1213. bind MSG - spam proc:xyloo_spam
  1214. proc proc:xyloo_spam { nick uhost hand text } {
  1215. global backroom type_chan botnick
  1216. if [string equal XyLoO $nick] {
  1217. set type [lindex $text 0]
  1218. set salon [lindex $text 1]
  1219. set pseudo [lindex $text 2]
  1220. set host [lindex $text 3]
  1221. if ("$pseudo"=="$botnick") {return 0}
  1222. foreach chans [channels] {
  1223. if [matchattr [finduser $pseudo!*@*] |m $chans] { return 0 }
  1224. if ("$type_chan(${chans})"=="back") {
  1225. putserv "PRIVMSG $chans :SPAM $type : Invite de\0032 $pseudo \003\sur $salon !"
  1226. } else {
  1227. if [botisop $chans] {
  1228. putquick "mode $chans +b *!*@$host"
  1229. if [onchan $pseudo $chans] {
  1230. putquick "kick $chans $pseudo :~ Exp/Spam ~ Spam interdit !"
  1231. } else {
  1232. putserv "PRIVMSG $chans :Ban préventif ANTI-SPAM ($pseudo) !"
  1233. }
  1234. }
  1235. }
  1236. }
  1237. }
  1238. }
  1239.  
  1240.  
  1241.  
  1242. ##################################################################
  1243. #################### Idle deop/devoice ###########################
  1244. ##################################################################
  1245.  
  1246. bind MSG - idleop proc:idleop
  1247. proc proc:idleop { nick uhost hand text } {
  1248. global botnick
  1249. if [string match -nocase $nick XyLoO] {
  1250. putserv "mode [lindex $text 0] -oooooo [join [lrange $text 1 end]]"
  1251. putserv "PRIVMSG #Op-Trip :\0033\[\0034Idle-Deop\0033\] \0032Par $botnick \0031Idle trop importante auto-deop Effectué !"
  1252. foreach listdeop [lrange $text 1 end] {
  1253. puthelp "NOTICE $listdeop :Votre idle sur [lindex $text 0] est trop important : Vous venez d'être deop !"
  1254. }
  1255. }
  1256. }
  1257.  
  1258.  
  1259. bind MSG - idlev proc:idlev
  1260. proc proc:idlev { nick uhost hand text } {
  1261. global botnick
  1262. if [string match -nocase $nick XyLoO] {
  1263. putserv "mode [lindex $text 0] -vvvvvv [join [lrange $text 1 end]]"
  1264. putserv "PRIVMSG #Op-Trip :\0033\[\0034Idle-devoice\0033\] \0032Par $botnick \0031Idle trop importante auto-devoice Effectué !"
  1265. foreach listdeop [lrange $text 1 end] {
  1266. puthelp "NOTICE $listdeop :Votre idle sur [lindex $text 0] est trop important : Vous venez d'être devoice !"
  1267. }
  1268. }
  1269. }
  1270.  
  1271.  
  1272.  
  1273. ##################################################################
  1274. ########################## Blackliste ############################
  1275. ##################################################################
  1276.  
  1277. set log "#Op-Trip"
  1278. bind JOIN - * bljoin
  1279. proc bljoin { nick uhost hand chan } {
  1280. global botnick niubot_chan
  1281. if [isban $nick!*@* $chan]||[isban $nick|*!*@* $chan] {
  1282. if [string match -nocase *|* $nick] {
  1283. set idpseud [string first | $nick]
  1284. set idpseudo [expr ($idpseud - 1)]
  1285. set pseuok [string range $nick 0 $idpseudo]
  1286. set nb $pseuok
  1287. } else {
  1288. set nb $nick
  1289. }
  1290. newchanban $chan *![getchanhost $nick] $botnick "Pseudo Blacklisté ($nb) !" 0
  1291. putquick "PRIVMSG $niubot_chan(${chan}) :ban *![getchanhost $nick] $chan"
  1292. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0031Accés sur le salon refusé pseudo Blacklisté !"
  1293. }
  1294. }
  1295.  
  1296. set log "#Op-Trip"
  1297. bind PUB - .+blacklist +bl
  1298. proc +bl { nick uhost hand chan text } {
  1299. global auth botnick log
  1300. if [validuser [finduser $nick!*@*]] {
  1301. if ("$auth(${hand})"=="$uhost") {
  1302. if [matchattr $hand |m $chan] {
  1303. if {$text != ""} {
  1304. if [string match -nocase *!*@* [lindex $text 0]] {
  1305. newchanban $chan [lindex $text 0] $nick {Pseudo Blacklisté !} 0
  1306. putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0] !"
  1307. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Blacklist ajouté !"
  1308. } else {
  1309. newchanban $chan [lindex $text 0]!*@* $nick "Pseudo Blacklisté ([lindex $text 0]) !" 0
  1310. newchanban $chan [lindex $text 0]|*!*@* $nick "Pseudo Blacklisté ([lindex $text 0]) !" 0
  1311. putquick "NOTICE $nick :Blacklists ajoutés : [lindex $text 0]!*@* !"
  1312. putquick "NOTICE $nick :Blacklists ajoutés : [lindex $text 0]|*!*@* !"
  1313. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Blacklist ajouté !"
  1314.  
  1315. }
  1316. } else {
  1317. putquick "NOTICE $nick :Syntaxe incorrecte ! ( .+blacklist <pseudo/host> ! )"
  1318. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  1319. }
  1320. } else {
  1321. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur $chan requis) !"
  1322. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Refusé Master inconnu !"
  1323. }
  1324. } else {
  1325. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1326. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1327. }
  1328. } else {
  1329. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  1330. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Na aucun accés !"
  1331. }
  1332. }
  1333.  
  1334.  
  1335. set log "#Op-Trip"
  1336. bind PUB m|o .-blacklist -bl
  1337. proc -bl { nick uhost hand chan text } {
  1338. global auth botnick niubot_chan log
  1339. if [validuser [finduser $nick!*@*]] {
  1340. if ("$auth(${hand})"=="$uhost") {
  1341. if [matchattr $hand |m $chan] {
  1342. if {$text != ""} {
  1343. if [isban [lindex $text 0] $chan] {
  1344. killchanban $chan [lindex $text 0]
  1345. putquick "PRIVMSG $niubot_chan(${chan}) :unban [lindex $text 0] $chan"
  1346. putquick "NOTICE $nick :Blacklist supprimé : [lindex $text 0] !"
  1347. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Blacklist supprimé !"
  1348. } else {
  1349. if [isban [lindex $text 0]!*@* $chan] {
  1350. foreach bbl [banlist $chan] {
  1351. if [string match -nocase ([lindex $text 0]) [lindex [lindex $bbl 1] 2]] {
  1352. killchanban $chan [lindex $bbl 0]
  1353. putquick "PRIVMSG $niubot_chan(${chan}) :unban [lindex $bbl 0] $chan"
  1354. putquick "NOTICE $nick :Blacklist supprimé : [lindex $bbl 0]"
  1355. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Blacklist supprimé !"
  1356. }
  1357. }
  1358. } else {
  1359. putquick "NOTICE $nick :Ce ban ne figure pas dans la Blacklist de $chan !"
  1360. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Erreur pseudo inconnu dans la Blacklist !"
  1361. }
  1362. }
  1363. } else {
  1364. putquick "NOTICE $nick :Syntaxe incorrecte ! ( .+blacklist <pseudo/host> ! )"
  1365. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Mauvaise syntaxe !"
  1366. }
  1367. } else {
  1368. putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur $chan requis) !"
  1369. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Refusé Master inconnu !"
  1370. }
  1371. } else {
  1372. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1373. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1374. }
  1375. } else {
  1376. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  1377. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Na aucun accés !"
  1378. }
  1379. }
  1380.  
  1381.  
  1382. set log
  1383. bind PUB - .blacklist blist
  1384. proc blist { nick uhost hand chan text } {
  1385. global auth botnick nb log
  1386. if ("$auth(${hand})"=="$uhost") {
  1387. if [matchattr $hand |m $chan] {
  1388. if {[llength [banlist $chan]]==0} {
  1389. putserv "NOTICE $nick :Aucune entrée dans la blacklist de $chan !"
  1390. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Erreur aucune Blacklist sur le salon demander !"
  1391. } else {
  1392. putquick "PRIVMSG $nick :\002\0032\[\0031Liste des Blacklists sur \0034$chan \0032\]"
  1393. foreach bl [banlist $chan] {
  1394. if [isbotnick [lindex $bl 5]] {
  1395. set nb $botnick
  1396. } else {
  1397. if [string match -nocase *|* [lindex $bl 5]] {
  1398. set idpseud [string first | [lindex $bl 5]]
  1399. set idpseudo [expr ($idpseud - 1)]
  1400. set pseuok [string range [lindex $bl 5] 0 $idpseudo]
  1401. set nb $pseuok
  1402. } else {
  1403. set idpseud [string first | [lindex [getuser [lindex $bl 5] HOSTS] 1]]
  1404. set idpseudo [expr ($idpseud - 1)]
  1405. set pseuok [string range [lindex [getuser [lindex $bl 5] HOSTS] 1] 0 $idpseudo]
  1406. set nb $pseuok
  1407. }
  1408. }
  1409. set raison [lindex $bl 1]
  1410. if [string equal ! [lindex $raison 2]] {
  1411. putserv "PRIVMSG $nick :\[Non défini\] : [lindex $bl 0] (Ajouté par $nb)"
  1412. } else {
  1413. putserv "PRIVMSG $nick :[lindex $raison 2] : [lindex $bl 0] (Ajouté par $nb)"
  1414. }
  1415. }
  1416. putserv "PRIVMSG $nick :\0033\[\0031Fin des Blacklists sur \0034$chan \0033\]"
  1417. }
  1418. } else {
  1419. putquick "PRIVMSG $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master requis) !"
  1420. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031Refusé Master inconnu !"
  1421. }
  1422. } else {
  1423. putquick "PRIVMSG $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1424. putserv "PRIVMSG $log :\0033\[\0034Blacklist\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1425. }
  1426. }
  1427.  
  1428.  
  1429. ###########################################
  1430. ################### Help ##################
  1431. ###########################################
  1432.  
  1433. set log "#Op-Trip"
  1434. bind PUB - .help help
  1435. proc help { nick uhost hand chan text } {
  1436. global auth botnick log
  1437. if [validuser [finduser $nick!*@*]] {
  1438. if ("$auth(${hand})"=="$uhost") {
  1439. puthelp "PRIVMSG $nick :\002\0032\[\0031Liste des commandes disponibles\0032\]\002"
  1440. puthelp "PRIVMSG $nick :\002\0032\[Owner\] \0031: \0034\[\0031Addmaster\0034\]\0031\002 - /msg $botnick addmaster <pseudo> <#salon>"
  1441. puthelp "PRIVMSG $nick :\002\0032\[Owner\] \0031: \0034\[\0031Delmaster\0034\]\0031\002 - /msg $botnick delmaster <pseudo> <#salon>"
  1442. puthelp "PRIVMSG $nick :\002\0032\[Master\] \0031: \0034\[\0031Addop\0034\]\0031\002 - /msg $botnick addop <pseudo> <#salon>"
  1443. puthelp "PRIVMSG $nick :\002\0032\[Master\] \0031: \0034\[\0031Delop\0034\]\0031\002 - /msg $botnick delop <pseudo> <#salon>"
  1444. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Auth\0034\]\0031\002 - /msg $botnick auth <pass>"
  1445. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Access\0034\]\0031\002 - /msg $botnick access <#salon>"
  1446. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Op\0034\]\0031\002 - .op <pseudo(s)> - /msg $botnick op <#salon> <pseudo(s)>"
  1447. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Deop\0034\]\0031\002 - .deop <pseudo(s)> - /msg $botnick deop <#salon> <pseudo(s)>"
  1448. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Voice\0034\]\0031\002 - .voice <pseudo(s)> - /msg $botnick voice <#salon> <pseudo(s)>"
  1449. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Devoice\0034\]\0031\002 - .devoice <pseudo(s)> - /msg $botnick devoice <#salon> <pseudo(s)>"
  1450. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Kick\0034\]\0031\002 - .kick <pseudo> <raison> - /msg $botnick kick <#salon> <pseudo> <raison>"
  1451. puthelp "PRIVMSG $nick :\002\0032\[Opérateur\] \0031: \0034\[\0031Ban\0034\]\0031\002 - .ban <pseudo/host> (sur le salon concerné)"
  1452. puthelp "PRIVMSG $nick :\002\0032\[\0031Fin de la liste\0032\]\002"
  1453. putserv "PRIVMSG $log :\0033\[\0034Help\0033\] \0032Par $nick \0031Réussi !"
  1454. } else {
  1455. putquick "NOTICE $nick :Veuillez vous identifier au préalable ! ( /msg $botnick auth <pass> )"
  1456. putserv "PRIVMSG $log :\0033\[\0034Help\0033\] \0032Par $nick \0031N'est pas Authentifier !"
  1457. }
  1458. } else {
  1459. putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
  1460. putserv "PRIVMSG $log :\0033\[\0034Help\0033\] \0032Par $nick \0031Na auncun accés !"
  1461. }
  1462. }
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468. ######### TESTS #########
  1469.  
  1470. bind pub - .insultes proc:insultes
  1471. proc proc:insultes { nick uhost hand chan text } {
  1472. set ::temp [open insultes.txt "RDWR"]
  1473. foreach rtemp [read $::temp] {
  1474. lappend ltemp $rtemp
  1475. }
  1476. putserv "PRIVMSG #op-trip :$ltemp"
  1477. close $::temp
  1478. }
  1479.  
  1480.  
  1481. bind pub - .+insulte proc:addinsultes
  1482. proc proc:addinsultes { nick uhost hand chan text } {
  1483. set ::temp [open insultes.txt "RDWR APPend"]
  1484. puts $::temp "$text"
  1485. close $::temp
  1486. }
  1487.  
  1488.  
  1489. bind pub - .-insulte proc:delinsultes
  1490. proc proc:delinsultes { nick uhost hand chan text } {
  1491. set ::temp [open insultes.txt "RDWR"]
  1492. foreach rtemp [read $::temp] {
  1493. lappend ltemp $rtemp
  1494. }
  1495. set idmot [lsearch $ltemp [lindex $text 0]]
  1496. set ltemp [lreplace $ltemp $idmot $idmot ""]
  1497. puts $::temp "$ltemp"
  1498. close $::temp
  1499. }
  1500.  
  1501.  
  1502. ###########################################
  1503. ################### Help ##################
  1504. ###########################################
  1505.  
  1506. set aidechan "#Trip"
  1507. set back "#Op-Trip"
  1508. bind pub - .sos pub:sos
  1509. proc pub:sos {nick host hand channel arg} {
  1510.      global botnick aidechan back
  1511.      if {$channel!="$aidechan"} {
  1512.      if {$channel!="$back"} {
  1513.     return 0
  1514.     }
  1515.     }
  1516.      set msg [lrange $arg 0 end]
  1517.      if {$msg == ""} {
  1518.      return 0
  1519.      }
  1520.      putquick "NOTICE $back :\0034Appel .sos de \00312<$nick>\0031 $msg"
  1521.      putserv "PRIVMSG $back :\0033\[\0034Sos\0033\] \0032Par $nick \0031Effectuer !"
  1522.      return 1
  1523. }
  1524.  
  1525. ############
  1526. # Infoline #
  1527. ############
  1528.  
  1529. bind join - "*" infoline
  1530. proc infoline { nick uhost hand chan } {
  1531. set info1 "alias_angelius"
  1532. set info2 "Socom"
  1533. set info3 "LilieChou"
  1534. if {$nick=="$info1"} {
  1535.   putserv "PRIVMSG $chan :\2\[$info1\]\2 \0034Avec IRC... J'ai pas la quote avec les filles... Pourtant je m'habille a la /mode... j'ai pas d' /ame... je fume des /join... la /list est longue... Alors !kick que tu sois , respecte moi :)"
  1536.   return 0
  1537. }
  1538.  
  1539. if {$nick=="$info2"} {
  1540.   putserv "PRIVMSG $chan :\2\[$info2\]\2 \002\0032Beaucoup de réflexion et non beaucoup de connaissances, voilà à quoi il faut tendre."
  1541.   return
  1542. }
  1543.  
  1544. if {$nick=="$info3"} {
  1545.   putserv "PRIVMSG $chan :\2\[$info3\]\2 \002\00313J\0031e suis un ange et dieu m'a condamné à la plus belle sanctions. Je suis condamnée à t'aimer pour l'éternité..!!\002"
  1546.   return
  1547. }
  1548. }
  1549.  
  1550. putlog "Gestion.tcl chargé !"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement