this trips off when you get sent the file, Although it might be better if u really did this when you have recieved the file intacked.
ctcp *:DCC SEND *file.dxm *:?:{
if (*file.dxm iswm $nopath($filename)) {
var %number = $left($nopath($filename),-8)
.... jam %number into your hash table here how ever you want to ...
}
}
^^ thats untested but looks right, i double check the filename becuase im kinda open matching for filename, in the On event, ie someone might send a file called "big dump of all file.dxm files in text format.txt" and it would match, but the later check on $filename would fail.
this might be what you want really, it goes off after the file is recieved.
on *:FILERCVD:*file.dxm:{
var %number = $left($nopath($filename),-8)
.... jam %number into your hash table here how ever you want to ...
}