TonyV (from over at ParagonWiki) created something special for us:
Hey all, in light of the
imminent deletion of some of our private messages, and because I have so durn many of them (501, to be exact) and don't feel like spending hours saving them individually and don't want to delete them, I wrote a little widget to pull them from the City of Heroes forum site. It struck me as something that you all could use too, so I've user-friendlied it up a little and posted it, along with the source code, for you to use if you want.
If you just plain trust me implicitly and don't want to bother with all the whys and wherefores, here are the links:
PM Capture Setup.msi, a Windows installer package
PM Capture.zip, the executable and SQLite component, if you don't want to use the installer
PM Capture Source.zip, the complete source code to compile yourself if you wish or want to make sure I'm not trying to hack your account.
If you use the installer, remember where you installed it, because it doesn't add any start menu items or desktop icons. You'll have to launch it from Windows Explorer or using Start / Run.
Now, the whys and wherefores. Well, the whys are obvious, so let's talk about wherefores...
Please keep in mind that I threw this together over the course of yesterday, so if it doesn't meet your criteria of being glorious, it's because I was trying to focus on getting it out there, not making it terribly pretty or loading it up with uberfeatuers. If I put my mind to it for a few more days, I could probably add some more stuff, but hey, it serves its base purpose (i.e. archiving your PMs) pretty well for now, so it'll do.
It does ask for your forum login information. Yes, I know that's kind of scary, coming from a third party. If it makes you uncomfortable, don't use it. I'm paranoid about things like that myself, but the practical matter of the situation is that it cannot access your PMs without logging in as you to the forums. However, I have also distributed the source code, so if you want to use it, feel free to download the code and, if you have Visual Studio, compile it yourself after checking it out to make sure it's not doing anything stupid. Feel free to run a
network trace while it's running, and see for yourself that the only server it's talking to is the forums server and that it is not transmitting anything anywhere else. It does not store your account information anywhere, so every time you use it (do you really need to do a capture more than once?), you'll have to re-enter it.
I'm releasing this as a totally public domain utility, so feel free to copy, modify, upload to other places, tweak to use with other UBB systems, improve, sell, or whatever you want to do with it. I dont' even care if you credit me with it or not. My only caveat is that if you take it and do something evil with it, or if god forbid the code is broken in some way I haven't foreseen, that's your problem, not mine. It's offered stictly as-is, your mileage may vary, no warranty is offered at to suitability of purpose, yadda yadda yadda.
When you save your PMs to a file, it saves them as an
SQLite database in a table named "messages." If you're a development wonk, SQLite is built into Perl, most distributions of PHP, has a standalone command-line utility (downloadable at the SQLite site), and I'm using Robert Simpson's
SQLite.NET component in C#, also public domain software, with "zero licensing restrictions for private or commercial use." Once you save the file, if you want write your own utility to export it into some other format or do whatever with it, it should be easily accessible. Why didn't I use [insert other format or storage mechanism here]? Because I'm familiar with SQLite, and it seemed like a good tool to use in the 16 seconds I considered the question of how to store the messages. Maybe also worth noting is that the tool stores the original HTML taken from the page in that database, so if my parser is broken or you want to reparse it and render the messages differently and you're capable of writing a better interface, by all means, the opportunity is there for you.
Speaking of which, you might notice some rendering artifacts, like random <blockquote> or <font> tags inserted. My parser makes some assumptions that aren't always true, because UBB has this nasty habit of not actually checking messages for validity, such as making sure that all quote tags are closed and such. Oh well, such is life. Like I said, if I get time, maybe I'll update the parser to account for that. Like I said, the original HTML is stored in the file, which is the most important part to keep from losing your messages. Oh, and currently, the parser only tries to reverse-engineer the BBcode from the tags. Maybe someday I'll work on actually rendering bold text in bold and such, but again, this was thrown together quickly.
If you're a Eurpoean forums user, it should, in theory, work with the European boards, too. I say in theory because I haven't tested it because I don't have a European boards account, but my observation is the relative paths are all the same, only differing in server name to access the site, which I've accounted for. Don't be fooled by the French and German skins on the European forum site, they all hit against the same database, so whatever European country you call home, it should still work if you pick EU.
Please don't be stupid with it. The utility will hit against the forums server once for every PM you have, plus three more times. (Once to log in, and twice to retrieve your sent and received message lists.) While it shouldn't bring down the forums server or anything, if you're like me have have a crapton of PMs, it doesn't take long to get your messages, but it does make a lot of web requests in a short period of time. Get your messages, save them, and open them from the file if you want to see them. Don't repeatedly download them all over and over. If you get in trouble for denial of service or something because you're not doing it right, it's your own durn fault, not mine.
Once the forums change over to the new forums, there's a very high probability that the capture function will simply stop working. You'll still be able to open your messages from a file and read them, though. No, I don't have a vBulletin version of it. Will I make one? I don't know, maybe, depending on whether I think it's worth the time and effort to do so. Likewise, will I ever improve this tool to add features or fix any bugs that might crop up? I don't know, maybe, depending again on whether I think it's worthwhile.
Last, but not least, this tool is meant just to help. If the mods ask me to take it down, I'll take it down. There are rules about accessing the game with bots, but to my knowledge, there are none about accessing the forums in an automated manner. Given that it's a constructive use of an automated tool to avoid negatively impacting customers, I'm hoping that it will pass muster if judged. If you write to me and gripe about it, it will probably fall on deaf ears because first and foremost, I wrote it for myself. If you like it and want to shower me with gifts, don't sweat it. Donate to the
Paragon Wiki if you feel like you just have to do something.
Edit: I re-read the post about PM deletion, only those older than two years will be wiped, not all of them. Still, I have well over a hundred PMs since before July 2007, so it's still a handy tool. And besides, I feel better knowing that even through the forum changeover, if something goes wrong and the PMs are wiped, I still have copies of them.