Shoutbox

[Preview / Alpha] Who Sent It 0.7.1 - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Thread: [Preview / Alpha] Who Sent It 0.7.1 (/showthread.php?tid=82114)

[Preview / Alpha] Who Sent It 0.7.1 by Dempsey on 03-04-2008 at 04:54 PM

Well I eventually got around tidying up Who Sent It a bit and am now at a stage where it would be useful to get more people to test it.

It's a received file organiser, that by default just moves files into folders of the email address of the sender, but you can hard-code names instead.

In the future tags will be supported, eg for mongth etc.

Can't remember if file type filters are working, I'll test them later.

It's still an early version but let me know what you think.

Feedback/ideas etc etc welcome.

EDIT:  Updated to version 0.7.1

ChangeLog
0.7.1

  • Moved code from Initalise to SigninReady, should fix problems for some users.
  • Updated to use CreateHardLink API

Download Who Sent It 0.7.1

Previous Downloads
0.7    -    63

RE: [Preview / Alpha] Who Sent It by mynetx on 03-04-2008 at 05:05 PM

Fehler: 'xniff' ist Null oder kein Objekt (Code: -2146823281)
       Datei: FileTransferLib.js. Zeile: 54.
Funktion OnEvent_SigninReady meldete einen Fehler. Code: -2147352567

--

Who Sent It? Debug
loading new xniff
new xniff success
GetIP
IP:  192.168.0.254
FileTransferInitialize
xniff.Start
Error in xniff.Start():   [object Error]

Sorting doesn't work here, no folders created, files still all in main folder.


RE: [Preview / Alpha] Who Sent It by Dempsey on 03-04-2008 at 05:23 PM

quote:
Originally posted by mynetx
Who Sent It? Debug
loading new xniff
new xniff success
GetIP
IP:  192.168.0.254
FileTransferInitialize
xniff.Start
Error in xniff.Start():   [object Error]
Hmm that's weird, are you using Vista by any chance?  I've only tested on XP so far
RE: [Preview / Alpha] Who Sent It by mynetx on 03-04-2008 at 05:27 PM

Not at all.
I'm using Windows XP Home Edition SP2, 5.0.2600, and a version of Messenger Plus! Live bigger than 4.50.312 (public forums ;)).


RE: [Preview / Alpha] Who Sent It by vikke on 03-04-2008 at 05:32 PM

mynetx: Register the Xniff.dll using regsvr32.


RE: [Preview / Alpha] Who Sent It by mynetx on 03-04-2008 at 05:37 PM

Xniff.ocx, you mean? Done, but after next script restart:

quote:
Originally posted by Debug
Who Sent It? Debug
loading new xniff
new xniff success
GetIP
IP:  192.168.0.254
FileTransferInitialize
xniff.Start
Error in xniff.Start():   [object Error]

RE: [Preview / Alpha] Who Sent It by Dempsey on 03-04-2008 at 06:15 PM

quote:
Originally posted by vikke
mynetx: Register the Xniff.dll using regsvr32.
It doesn't need registering, the script tries that itself if it has an error loading xniff.

mynetx - are you using a wireless or wired connection?
RE: [Preview / Alpha] Who Sent It by matty on 03-04-2008 at 06:18 PM

Is it a wireless network card you are using?


RE: [Preview / Alpha] Who Sent It by Quantum on 03-04-2008 at 06:21 PM

Its working fine here and i'm using windows vista. Suggestion: Know the viruses that say:

Check out my new pc.

Then sends a file?

Well what would be great is a protection that cancels all files that has one of the phrases before that.


RE: [Preview / Alpha] Who Sent It by mynetx on 03-04-2008 at 06:22 PM

Yes, wireless card => router => cable modem => web


RE: [Preview / Alpha] Who Sent It by Dempsey on 03-04-2008 at 06:27 PM

quote:
Originally posted by john-t
Suggestion: Know the viruses that say:

Check out my new pc.

Then sends a file?

Well what would be great is a protection that cancels all files that has one of the phrases before that.
yea thats a good idea, maybe for a different script though.

quote:
Originally posted by mynetx
Yes, wireless card => router => cable modem => web
Hmm well I think packet sniffing on wireless connections is a bit dependent on the drivers etc, as it works for me on my wireless connection

RE: [Preview / Alpha] Who Sent It by Ezra on 03-04-2008 at 06:40 PM

code:
Script is starting
Script is now loaded and ready
Function called: OnEvent_Initialize


Who Sent It? Debug
loading new xniff
Error in new xniff:   [object Error]
Error registering xniff:   [object Error]
GetIP
Error in GetIP:   [object Error]
DoInit Returned Errors

Who Sent It Startup Failed
Function called: OnGetScriptMenu

Vista 32bit with Wireless Network
RE: [Preview / Alpha] Who Sent It by aNILEator on 03-04-2008 at 06:54 PM

xniff... so this won't work with wireless networks then


RE: [Preview / Alpha] Who Sent It by Dempsey on 03-04-2008 at 07:23 PM

quote:
Originally posted by aNILEator
xniff... so this won't work with wireless networks then
Yea it can do, depends on if its built-in or external and drivers used etc, my wireless works
RE: [Preview / Alpha] Who Sent It by Quantum on 03-04-2008 at 07:32 PM

quote:
Originally posted by Dempsey
quote:
Originally posted by aNILEator
xniff... so this won't work with wireless networks then
Yea it can do, depends on if its built-in or external and drivers used etc, my wireless works

Same, great script.
RE: [Preview / Alpha] Who Sent It by Ezra on 03-04-2008 at 07:48 PM

I have a built-in wireless card

code:
Intel(R) Wireless WiFi Link 4965AGN

RE: [Preview / Alpha] Who Sent It by Spunky on 03-04-2008 at 09:02 PM

I'll test it when I get back within the next 2 hours. I'm on wired now, but I'll retest my wireless as I'm pretty certain it works with Xniff. Got some ideas to try out on it as well, but I'll just post this here to remind me what they are, and then I'll D/L this version to try them out in


RE: [Preview / Alpha] Who Sent It by riahc4 on 03-10-2008 at 12:33 AM

We have to add each contact?

It would be nice if this plugin is activated, it does it itself.


RE: [Preview / Alpha] Who Sent It by Spunky on 03-10-2008 at 12:49 AM

No, it does one action by default, but you can still specify per contacts sorting methods if desired.


RE: [Preview / Alpha] Who Sent It by CookieRevised on 03-10-2008 at 01:27 AM

Xniff? ai...  :(

It has troubles with Vista and it contains a big bug where it will internally crash Plus!/Messenger on exit. See notes: CookieRevised's reply to [Release] Xniff (ActiveX Packet Sniffer) - Examples inside

And it does crash Messenger/Plus! internally when you try to update Plus!.

Also, when people have other scripts with Xniff, they can even get in trouble when they simply uninstall some of those scripts (since you can only register one file at the time. All other scripts will start using that file in the new location. Removing that file means that all other scripts will stop working and will produce errors).

And, what about: CookieRevised's reply to Protocol (Using Xniff)?

anyways, background reading material for people having problems:
Packet sniffer that supports all wirelless connections.


-----------------



As for the script (not considering the problems with Xniff itself).

The method for starting up is a faulty. So even if the rest of the script works 100% already, it wouldn't even start properly...

The error checks you do in OnEvent_Initialize aren't done in OnEvent_SignInReady. However, the checks in OnEvent_Initialize are not executed when the user starts Messenger (since he didn't signed in yet). For example DoInit is never called (unless the user installs or actually restarts the script while he is signed in), which is the most crucial function for this script.

Maybe you better put everything (all the error checking and initializing and calling DoInit) in OnEvent_SignInReady and simply direct OnEvent_Initialize to OnEvent_SignInReady (or don't even use OnEvent_Initialize since it makes no sense to use this script while you're signed out anyways).

thus:

quote:
Originally posted by Dempsey
quote:
Originally posted by vikke
mynetx: Register the Xniff.dll using regsvr32.
It doesn't need registering, the script tries that itself if it has an error loading xniff.
It was intended to do that, but unfortunatly it doesn't.

-----------------

PS: though, I very much like it that you don't force the file to be registered (eg: by using ScriptInfo.xml) and first try to initialize the ActiveX in case it is already present somewhere and already registered in another location (y). Everybody should do this in their scripts since it will partially prevent some problems talked about above



PS: the hardlink creation is a nice touch, although I would personally rather see this as an option.

It can create difficulties/confusions when the user decides to remove a file and later decides to place it back, or move a file or something, expecting the link to be intact, which it wouldn't.

Or device a scheme where the hardlink is only there as long as the conversation window is open or something. In that way the user doesn't loose the ability to open the file from the conversation window, and his recieved folder doesn't get cluttered with filenames (wasn't that one of the goals of this script in the first place? To releave the folder of cluttered files)... or something.

;)

And I dunno how 3rd party programs like some file schredders for example react on removing a file which is hard linked; maybe some will actually overwrite the file contents even if the reference count is not 0, leaving the other copy link useless, while the user thinks he has still a perfect copy of the file. Such 3rd party programs are not the problem of this script, but something to consider when your program makes use of hard links and such stuff...

And IIRC hard links can only be created on the same volume. So if the user decides to have directories on another volume (to save space?) than Messenger's recieved files folder, the link can't be created

(plus it is not supported on fat32 of course).


EDIT: Oh, and the Windows API for creating a hardlink is CreateHardlink(). It works  as easy (if not easier) than using a DOS Shell to FSutils. ;)


RE: [Preview / Alpha] Who Sent It by Dempsey on 03-10-2008 at 08:44 AM

quote:
Originally posted by riahc4
We have to add each contact?

It would be nice if this plugin is activated, it does it itself.
There is the default settings at the top of the preferecnes which is to move into folders by email, but you can then add contact specific rules, eg bob@hotmail.com goes into My Rec Files\Bob etc
quote:
Originally posted by CookieRevised
Maybe you better put everything (all the error checking and initializing and calling DoInit) in OnEvent_SignInReady and simply direct OnEvent_Initialize to OnEvent_SignInReady (or don't even use OnEvent_Initialize since it makes no sense to use this script while you're signed out anyways).
Ah ok, will change that later :)
quote:
Originally posted by CookieRevised
PS: the hardlink creation is a nice touch, although I would personally rather see this as an option.
Yup, it will be optional :)  I like options.
quote:
Originally posted by CookieRevised
Or device a scheme where the hardlink is only there as long as the conversation window is open or something.
yea it doesn't do it at the moment, but the plan is for it to keep track of the hardlinks created and remove them on convo close/wlm close.
quote:
Originally posted by CookieRevised
And IIRC hard links can only be created on the same volume. So if the user decides to have directories on another volume (to save space?) than Messenger's received files folder, the link can't be created
Well as it currently is it only supports moving to sub-folders within the Received Files folder, so this isn't currently a problem.
quote:
Originally posted by CookieRevised
(plus it is not supported on fat32 of course).
will make a note of that, ideally disabling the option if I can detect if the drive is Fat32.
quote:
Originally posted by CookieRevised

EDIT: Oh, and the Windows API for creating a hardlink is CreateHardlink(). It works  as easy (if not easier) than using a DOS Shell to FSutils.
Ah thanks, didn't know there was an API for it :D
RE: [Preview / Alpha] Who Sent It by CookieRevised on 03-10-2008 at 11:45 AM

:D Already loving it (besides the use of Xniff)

Maybe another suggestion for the interface:

When the user wants to add a contact, instead of having users to select one contact, and then showing another window to set/change the preferences for this contact, why not make it both in the same window: the list of contact and underneath the options. Much like how other similar stuff is done in Windows itself.

In that way you can also allow users to select multiple contacts and set/change their preferences all at once (eg: showing three-state checkboxes, etc) in one window. And then you don't need to present multiple windows to the user either (which is always a bit clumsy). And thus the script gets a bit shorter too. KIS (keep it simple).


RE: [Preview / Alpha] Who Sent It 0.7.1 by V@no on 03-23-2008 at 03:56 AM

Hello!
This is second script I've tried of this sort and it also worked only ONCE - meaning it only "move" files to a newly created folder and will not move anything to previously  created folder, which creates two identical files in "My Received  Files" folder. (user A@A.A sends a file (blah.txt), a new folder "A@A.A" created and hardlink created in that folder - good. After that user A@A.A sends second file (blah2.txt), however no hardlink inside folder "A@A.A" is being created, instead hardlink created inside "My Received Files" folder (blah2.txt and blah2(1).txt)
Anyone has this issue?

P.S. IMHO creating hardlinks is absolutely useless, what's the point? Besides it will "scare" most of the people who doesn't know that its hardlinks and not physical copy of the files. And finally if one want to see all files in all subfolders, simply search for *


RE: [Preview / Alpha] Who Sent It 0.7.1 by CookieRevised on 03-23-2008 at 12:30 PM

The registration and use of Xniff is indeed very buggy in this script, which can partially explain why it only works once. After some heavy modifications, it works nicely here (for as far as anything with Xniff can work nicely of course).

Remember that this script is still in alpha stage....


RE: [Preview / Alpha] Who Sent It 0.7.1 by Spunky on 03-23-2008 at 03:12 PM

quote:
Originally posted by CookieRevised
The registration and use of Xniff is indeed very buggy in this script, which can partially explain why it only works once. After some heavy modifications, it works nicely here (for as far as anything with Xniff can work nicely of course).

Remember that this script is still in alpha stage....

The method I've been using works well, but sometimes misses the first connection with each contact
RE: [Preview / Alpha] Who Sent It 0.7.1 by CookieRevised on 03-23-2008 at 03:26 PM

Believe me, it really does not. I have looked into Xniff quite a lot and how it is often used in scripts. I can give a whole list of issues with it and issues with how it is often implemented/initialized in scripts.


RE: [Preview / Alpha] Who Sent It 0.7.1 by Spunky on 03-23-2008 at 03:38 PM

I know about the errors etc and the fact it actually crashes Plus! IIRC, but the results I get are quite promising, if I can fin an alternative to xniff :p


RE: [Preview / Alpha] Who Sent It 0.7.1 by CookieRevised on 03-23-2008 at 03:42 PM

I'm not talking about the crashes now, I'm talking about how Xniff is actually used in scripts and how that quite often leads to Xniff only working for some time (eg: until you sign out for whatever reason, eg: hybernation) and not anymore afterwards (eg: when you've signed back in). ;)


RE: [Preview / Alpha] Who Sent It 0.7.1 by V@no on 03-23-2008 at 09:06 PM

so, what is so "special" about xniff? why is so needed in this particular script?
I thought it would be simple enough to monitor wlm events and after it received a file just move it to a needed folder...isn't plus! provide such events?


RE: [Preview / Alpha] Who Sent It 0.7.1 by CookieRevised on 03-23-2008 at 10:26 PM

quote:
Originally posted by V@no
so, what is so "special" about xniff? why is so needed in this particular script?
It is a ActiveX packet sniffer, which is the only way to retrieve filesent events.
quote:
Originally posted by V@no
I thought it would be simple enough to monitor wlm events and after it received a file just move it to a needed folder...
That's exactly what it does.
quote:
Originally posted by V@no
isn't plus! provide such events?
No.