Accueil > > > UN BOT XDCC EN MIRC
UN BOT XDCC EN MIRC
Information sur la source
Description
Bon voila c'est mon tout premier code en irc, il permet d'etre soi meme un bot xdcc qui reagit aux commandes xdcc list, send #pack, remove , donc pour le faire marcher il faut creer un fichier c:\program files\mirc\xdcc.mrc et taper /load -rs xdcc.mrc ds une fenetre qqconque
donc tout n'est pas parametrable (le nb de slot et la liste d'attente) mais j'attend toutes vos suggestions pour pouvoir ameliorer mon code
Source
- on *:LOAD:{ echo Script Loaded!
- write -c pack.txt
- dialog -md xdcc_ xdcc_
- }
- ;=================================================================================
- menu channel,menubar {
- XDCC bot
- .gestion du xdcc:dialog -md xdcc_ xdcc_
- }
- ;=================================================================================
- On *:CONNECT: { write -c list.txt }
-
- On *:TEXT:!list:*:{
- notice $nick $me (XDCC) 2 slots d'envoie, liste d'attente de max 10 personnes, $lines(pack.txt) fichiers partagés
- }
-
- On *:TEXT:*xdcc*:?:{
- if ( $2 == list ) { listpack $nick }
- elseif ( $2 == send ) {
- if ( $3 <= $lines(pack.txt) ) addtoqueu $nick $3
- else notice $nick pack non existant
- }
- elseif ( $2 == remove ) { remfrqueu $nick }
- }
-
- On *:SENDFAIL:*: {
- var %lign = 1, %nblines = $lines(list.txt)
- while ( %lign <= %nblines && $gettok($read(list.txt,%lign),1,32) != $nick ) {
- inc %lign
- }
- if ( %lign <= %nblines ) {
- notice $nick transfert de $deltok($read(pack.txt,$gettok($read(list.txt,%lign),2,32),1,124) interrompu ... dsl :(
- write -dl %lign list.txt
- dcc send $gettok($read(list.txt,2),1,124)) $gettok($read(pack.txt,$gettok($read(list.txt,2),2,32))),1,124)
- }
- }
-
- on *:FILESENT:*: {
- var %lign = 1, %nblines = $lines(list.txt)
- while ( %lign <= %nblines && $gettok($read(list.txt,%lign),1,32) != $nick ) {
- inc %lign
- }
- if ( %lign <= %nblines ) {
- notice $nick transfert de $deltok($read(pack.txt,$gettok($read(list.txt,%lign),2,32)),1,124) accompli
- write -dl %lign list.txt
- dcc send $gettok($read(list.txt,2),1,124)) $gettok($read(pack.txt,$gettok($read(list.txt,2),2,32))),1,124)
- }
- }
-
- alias listpack {
- var %lign = 1, %nblines = $lines(pack.txt)
- notice $1 anime-team's XDCC, 2 slot d'envoie , liste d'attentes $calc( 12 - $lines(pack.txt) )/12
- notice $1 pour avoir un pack, tapez /msg $me xdcc send numero_du_pack
- while ( %lign <= %nblines ) {
- notice $1 pack %lign : $deltok($read(pack.txt,%lign),1,124)
- inc %lign
- }
- notice $1 %nblines fichiers partagés
- }
-
- alias addtoqueu {
- if ( $lines(list.txt) < 12 ) {
- if ( $read(list.txt, w, $1) != $1 ) {
- write list.txt $1 $2
- notice $1 vouz avez été ajouté en position $lines(list.txt)
- if ( $lines(list.txt) < 3 ) {
- notice $1 envoi du pack : $deltok($read(pack.txt,$2),1,124)
- dcc send $1 $gettok($read(pack.txt,$2),1,124)
- }
- }
- else { notice $1 vous ete deja present dans la liste d'attente }
- }
- else { notice $1 liste pleine }
- }
-
-
- alias remfrqueu {
- var %lign = 1, %nblines = $lines(list.txt)
- while ( %lign <= %nblines && $gettok($read(list.txt,%lign),1,124) != $1 ) {
- inc %lign
- }
- if ( %lign <= %nblines ) {
- write -dl %lign list.txt
- notice $1 vous avez bien été enlevé de la liste d'attente :)
- }
- else { notice $1 dsl zetes pas dans la liste d'attente :( }
- }
-
- ;========================================================================================
- dialog xdcc_ {
- title "Xdcc"
- size -1 -1 412 129
- option dbu
- button "Ajouter un fichier", 2, 334 11 65 15
- list 1, 9 11 312 105, size
- box "Gestion de votre Xdcc", 7, 3 4 405 116
- button "Supprimer un fichier", 3, 334 32 65 15
- button "Move Up", 5, 334 75 65 15
- button "Modifier une description", 4, 334 53 65 15
- button "Move Down", 6, 334 97 65 15
- }
-
- On *:DIALOG:xdcc_:*:*: {
- if ( $devent == init ) {
- var %lign = 1, %nblines = $lines(pack.txt)
- while ( %lign <= %nblines ) {
- did -a xdcc_ 1 $read(pack.txt,%lign)
- inc %lign
- }
- }
- elseif ( $devent == sclick ) {
- if ( $did == 2 ) {
- var %nam = $sfile(C:\,Ajouter un fichier,Ajouter)
- if ( %nam ) {
- write pack.txt %nam
- did -a xdcc_ 1 %nam
- }
- }
- elseif ( $did == 3 ) {
- if ( $did(1).sel ) {
- write -dl $did(1).sel pack.txt
- did -d xdcc_ 1 $did(1).sel
- }
- }
- elseif ( $did == 4 ) {
- if ( $did(1).sel ) {
- var %temp = $read(pack.txt,$gettok($did(1).sel,1,124))
- write -l $did(1).sel pack.txt $+(%temp,|,$?=" $+(entrez une description pour le fichier,$chr(32),%temp) ")
- did -o xdcc_ 1 $did(1).sel $read(pack.txt,$did(1).sel)
- }
- }
- elseif ( $did == 5 ) {
- if ( $did(1).sel ) {
- if ( $calc( $did(1).sel - 1 ) > 0 ) {
- var %temp = $read(pack.txt,$did(1).sel) , %did_ = $did(1).sel , %didm_ = $calc( $did(1).sel - 1 )
- did -o xdcc_ 1 %didm_ %temp
- did -o xdcc_ 1 %did_ $read(pack.txt,%didm_)
- write -l %did_ pack.txt $read(pack.txt,%didm_)
- write -l %didm_ pack.txt %temp
- }
- }
- }
- elseif ( $did == 6 ) {
- if ( $did(1).sel ) {
- if ( $calc( $did(1).sel + 1 ) <= $lines(pack.txt) ) {
- var %temp = $read(pack.txt,$did(1).sel) , %did_ = $did(1).sel , %didm_ = $calc( $did(1).sel + 1 )
- did -o xdcc_ 1 %didm_ %temp
- did -o xdcc_ 1 %did_ $read(pack.txt,%didm_)
- write -l %did_ pack.txt $read(pack.txt,%didm_)
- write -l %didm_ pack.txt %temp
- }
- }
- }
- }
- }
on *:LOAD:{ echo Script Loaded!
write -c pack.txt
dialog -md xdcc_ xdcc_
}
;=================================================================================
menu channel,menubar {
XDCC bot
.gestion du xdcc:dialog -md xdcc_ xdcc_
}
;=================================================================================
On *:CONNECT: { write -c list.txt }
On *:TEXT:!list:*:{
notice $nick $me (XDCC) 2 slots d'envoie, liste d'attente de max 10 personnes, $lines(pack.txt) fichiers partagés
}
On *:TEXT:*xdcc*:?:{
if ( $2 == list ) { listpack $nick }
elseif ( $2 == send ) {
if ( $3 <= $lines(pack.txt) ) addtoqueu $nick $3
else notice $nick pack non existant
}
elseif ( $2 == remove ) { remfrqueu $nick }
}
On *:SENDFAIL:*: {
var %lign = 1, %nblines = $lines(list.txt)
while ( %lign <= %nblines && $gettok($read(list.txt,%lign),1,32) != $nick ) {
inc %lign
}
if ( %lign <= %nblines ) {
notice $nick transfert de $deltok($read(pack.txt,$gettok($read(list.txt,%lign),2,32),1,124) interrompu ... dsl :(
write -dl %lign list.txt
dcc send $gettok($read(list.txt,2),1,124)) $gettok($read(pack.txt,$gettok($read(list.txt,2),2,32))),1,124)
}
}
on *:FILESENT:*: {
var %lign = 1, %nblines = $lines(list.txt)
while ( %lign <= %nblines && $gettok($read(list.txt,%lign),1,32) != $nick ) {
inc %lign
}
if ( %lign <= %nblines ) {
notice $nick transfert de $deltok($read(pack.txt,$gettok($read(list.txt,%lign),2,32)),1,124) accompli
write -dl %lign list.txt
dcc send $gettok($read(list.txt,2),1,124)) $gettok($read(pack.txt,$gettok($read(list.txt,2),2,32))),1,124)
}
}
alias listpack {
var %lign = 1, %nblines = $lines(pack.txt)
notice $1 anime-team's XDCC, 2 slot d'envoie , liste d'attentes $calc( 12 - $lines(pack.txt) )/12
notice $1 pour avoir un pack, tapez /msg $me xdcc send numero_du_pack
while ( %lign <= %nblines ) {
notice $1 pack %lign : $deltok($read(pack.txt,%lign),1,124)
inc %lign
}
notice $1 %nblines fichiers partagés
}
alias addtoqueu {
if ( $lines(list.txt) < 12 ) {
if ( $read(list.txt, w, $1) != $1 ) {
write list.txt $1 $2
notice $1 vouz avez été ajouté en position $lines(list.txt)
if ( $lines(list.txt) < 3 ) {
notice $1 envoi du pack : $deltok($read(pack.txt,$2),1,124)
dcc send $1 $gettok($read(pack.txt,$2),1,124)
}
}
else { notice $1 vous ete deja present dans la liste d'attente }
}
else { notice $1 liste pleine }
}
alias remfrqueu {
var %lign = 1, %nblines = $lines(list.txt)
while ( %lign <= %nblines && $gettok($read(list.txt,%lign),1,124) != $1 ) {
inc %lign
}
if ( %lign <= %nblines ) {
write -dl %lign list.txt
notice $1 vous avez bien été enlevé de la liste d'attente :)
}
else { notice $1 dsl zetes pas dans la liste d'attente :( }
}
;========================================================================================
dialog xdcc_ {
title "Xdcc"
size -1 -1 412 129
option dbu
button "Ajouter un fichier", 2, 334 11 65 15
list 1, 9 11 312 105, size
box "Gestion de votre Xdcc", 7, 3 4 405 116
button "Supprimer un fichier", 3, 334 32 65 15
button "Move Up", 5, 334 75 65 15
button "Modifier une description", 4, 334 53 65 15
button "Move Down", 6, 334 97 65 15
}
On *:DIALOG:xdcc_:*:*: {
if ( $devent == init ) {
var %lign = 1, %nblines = $lines(pack.txt)
while ( %lign <= %nblines ) {
did -a xdcc_ 1 $read(pack.txt,%lign)
inc %lign
}
}
elseif ( $devent == sclick ) {
if ( $did == 2 ) {
var %nam = $sfile(C:\,Ajouter un fichier,Ajouter)
if ( %nam ) {
write pack.txt %nam
did -a xdcc_ 1 %nam
}
}
elseif ( $did == 3 ) {
if ( $did(1).sel ) {
write -dl $did(1).sel pack.txt
did -d xdcc_ 1 $did(1).sel
}
}
elseif ( $did == 4 ) {
if ( $did(1).sel ) {
var %temp = $read(pack.txt,$gettok($did(1).sel,1,124))
write -l $did(1).sel pack.txt $+(%temp,|,$?=" $+(entrez une description pour le fichier,$chr(32),%temp) ")
did -o xdcc_ 1 $did(1).sel $read(pack.txt,$did(1).sel)
}
}
elseif ( $did == 5 ) {
if ( $did(1).sel ) {
if ( $calc( $did(1).sel - 1 ) > 0 ) {
var %temp = $read(pack.txt,$did(1).sel) , %did_ = $did(1).sel , %didm_ = $calc( $did(1).sel - 1 )
did -o xdcc_ 1 %didm_ %temp
did -o xdcc_ 1 %did_ $read(pack.txt,%didm_)
write -l %did_ pack.txt $read(pack.txt,%didm_)
write -l %didm_ pack.txt %temp
}
}
}
elseif ( $did == 6 ) {
if ( $did(1).sel ) {
if ( $calc( $did(1).sel + 1 ) <= $lines(pack.txt) ) {
var %temp = $read(pack.txt,$did(1).sel) , %did_ = $did(1).sel , %didm_ = $calc( $did(1).sel + 1 )
did -o xdcc_ 1 %didm_ %temp
did -o xdcc_ 1 %did_ $read(pack.txt,%didm_)
write -l %did_ pack.txt $read(pack.txt,%didm_)
write -l %didm_ pack.txt %temp
}
}
}
}
}
Conclusion
donc y'a pê des erreurs etc et j'attend vraiment vraiment vraiment vraiment impatiemment toutes vos suggestions pour l'ameliorer , l'optimiser etc ...
merci infiniment pour tout vos commentaires !
Historique
- 21 août 2005 17:15:38 :
- eu j'av oublié un truc lol dsl
- 21 août 2005 18:37:08 :
- code eclairci
variable locale ds certain remote
- 21 août 2005 18:54:16 :
- remplacement des variables inutiles par des arguments pour fonction
- 21 août 2005 21:22:03 :
- des optimisations ds les boucles
- 22 août 2005 20:19:33 :
- ajout d'un dialogue pour parametrer les fichiers partagées !
- 22 août 2005 22:10:42 :
- correction de bugs / mise sous forme *.mrc / ajout d'un zip & d'un apercu
- 23 août 2005 00:00:24 :
- rajout du !list
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
installer un bot sur son canal [ par BlackWizzard ]
salut! tt le monde!je voudrais savoir comment instaler et administrer un bot sur un channel (le mien C #hackz sur irc.respublica.fr)...G deja un bot m
créer un bot sous quakenet [ par benlesurvivant ]
est-ce que kkun pourrais m'epliquer comment créer un bot sous quakenet. Merci d'avance :-)
Améliorer un bot pour un chan de clan counter-strike [ par JeKto ]
Salut !Je voudrai améliorer mon bot pour mon clan j'ai dejà quelsues commandes TEXT mais je voudrai par exemple que le bot guarde en memoire le nick d
Serveur IRC [ par Delirium ]
Hello :)J'ai crée un nouveau petit reseau IRC dont le but est^la convivialité !!pour le moment il n'est pas encore "super" fréquanté mais avec des gen
BoT Tid@m (NB s'abstenir ;) [ par Tidam ]
Voila C tre simple meme la reponse doit etre simple mais j'arrive po a trouver Tout ce que je ve c'est que quand qq'un me dit qqe chose le bot crée un
bot pickup [ par Goofa ]
Salut, je souhaite creer ou trouver un bot irc afin d'organiser des pickup , si qqn pouvais m'expliquer comment faire, thx.
xdcc [ par usher ]
bonjour je voudrais savoir comment on pourrais prendre des xdcc abandonnés si vous savez merci bien de me repondre
-= Access à un Bot =- [ par Nancy ]
Salut la gang! Bon, j'ai un tit probleme :( J'aimerais faire une ligne de commande à mon bot pour ajouter quelqun automatiquement à mon Bot .Qqn pourr
voila wandoo bot www.demande-gev.fr.st [ par HatMan ]
vous avez fait une demande d'irix mais il ne veut pas de votre salon sur sont whoisfaite une demande de Gevwww.demande-gev.fr.stvoila alors si vous vo
Un léger problème de $ial [ par KaRiLLe ]
Bonjour tout le monde :))Je me permets d'écrire parce que j'ai un léger problème dans une de mes lignes de code mirc pour mon bot! En fait, je voudrai
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
RE : AIDERE : AIDE par Nico26000
Cliquez pour lire la suite par Nico26000 RE : AIDERE : AIDE par WorldDMT
Cliquez pour lire la suite par WorldDMT AIDEAIDE par Nico26000
Cliquez pour lire la suite par Nico26000
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|