- Nov 2, 2007
- 409
- 117
Chat logs found here: http://caffeinesystems.com/TF2Mappers
Well, to make this easy on everyone, I think from now on I will put the latest info up here in the top post.
My original hope when starting this project was that Valve would add Text logging onto Steam community rather rapidly, and therefore allow me to concentrate more on the Text->HTML aspect. As time has gone on and more problems arose with my Steam Chat Room->Text part of the equation the focus of the program shifted.
So, at the moment this is where the project stands. I would say I am on version 3 of the program, working on version 3.1.
Version 1:
----- Old post below ------------
Well, I may not be a mapper, but instead of mapping I do other stuff. Like when someone suggests that it would be a good thing for us to be able to somehow reference old chats I got to thinking.
How hard would it be to write a chat logger?
So with trusty AutoIt3 at my side I wrote a simple script that goes to the chat window, copies all the text out of it, and then saves it to a text file.
Part B of this plan involves a companion program written in VB.net. The companion program runs the script every 30 minutes to grab the text and posts an alert in the chat every 60 minutes that the chat is being logged and where to find the chat log.
Features of the program include:
If anyone really wants a copy of the program / AutoIt script I dont have any problems sharing it but you will probably have to do some tweaking to get it to run properly on your own computer and unless you have a secondary computer that nobody is physically using I dont recommend using it because the program essentially will take over the user interface every 30 minutes.
p.s. Seriously thanks to Swift for help getting the CSS up and running.
Well, to make this easy on everyone, I think from now on I will put the latest info up here in the top post.
My original hope when starting this project was that Valve would add Text logging onto Steam community rather rapidly, and therefore allow me to concentrate more on the Text->HTML aspect. As time has gone on and more problems arose with my Steam Chat Room->Text part of the equation the focus of the program shifted.
So, at the moment this is where the project stands. I would say I am on version 3 of the program, working on version 3.1.
Version 1:
- Was a simple, balanced match between AutoIt3 and VB.net coding.
- Very little logic, simple ran the AutoIt3 script every 30 minutes, then converted the text to HTML.
- Problems: Due to the lack of logic, it was high maintenance and not that stable. If anything did not happen as expected, it would get stuck.
- Was an attempt at creating a Database driven version of the program
- Used the same logging script as Version 1, but instead of rendering into HTML it inserted the data into a database.
- This database was then read by an ASP.net 2.0 program which could dynamically display the chat logs.
- Problems:
- Just converting the entire first week of logging created over 28,000 rows in the messages table.
- Its been 3+ years since I played with ASP.net and database driven websites, and I could not get a reliable website running
- Did not have the time or motivation to figure out a user search for the program.
- Hosting off my home computer + database data being sent over the internet + dynamically created pages = long loading times that where really, really annoying.
- Overall the final verdict was that I just did not have the time or motivation at this moment to do the job properly, so it has been put off.
- Has been a near complete re-write of the code now that I have a better understanding of how everything is working.
- I have been able to trim down the AutoIt3 script to just the basics, this makes it faster and more reliable.
- The VB.net program handles creating new HTML pages for each day and appending HTML onto the existing HTML page for the current day.
- Extensive user options added making configuration MUCH easier where I had been using hard coded values that required re-compiling the program when something needed to be changed.
- This is more of a continuation of 3 than any major changes.
- I am looking into adding FTP support to the program so I can move the HTML files automatically onto a hosted website, rather than running stuff off my personal web / file server.
- I noticed that in IE7 (have not checked 6) and when you have a lower resolution the navigation bar on the current log is not wide enough and ends up with a horizontal scroll bar, that is in the pipeline to be fixed.
- Check to see if steam Community is disconnected ("Your connection blah blah...") and if I am disconnected, kill steam + restart it.
- You start SteamLogger.exe
- Timer starts counting down from 30 minutes (this is the default and can be changed in the settings)
- Timer reaches 0 seconds
- Program checks to see if there is a process named Steam.exe started
- If the process is not found
- it runs an AutoIt3 script that launches steam (steam://run)
- then the script waits until steam has finished launching before exiting.
- If the steam Launcher script has run for 60+ seconds, kill the steam launcher script, log an error, then go back to #2.
- Run the steam Logger AutoIt3 script.
- Try to find the Steam Group Chat window (based off the set group name)
- If the Chat window is not open, open it
- This uses a handy dandy (steam://friends/joinchat/#######) command
- find the x, y for the chat window (top left corner)
- rt-click at x+15, y+115, aka just inside the top-left corner of the chat window area.
- click select all
- click copy
- close the chat window / open chat window (with the same handy steam://friends/joinchat/##### command)
- This is done to clear the chat window of any text.
- Exit the script
- If the script has been running for 60+ seconds, kill the script, log an error, go back to step #2
- Now, grab the text from the clip-board and store it into a string.
- Check to see when the last log time was, if the new log time is on a different day than the last log time:
- Create a new HTML file based off the saved text.
- Update the navigation bar
- Save the new HTML files into the set directory
- Create / save a new text backup file in the set directory.
- If the new log time is on the same day as the last log
- Read in the old HTML file, and trim off the ending tags.
- Render the saved chat log into HTML and append it to the end of the old HTML (along with the ending tags)
- Save the new HTML text into the old HTML file.
- Append the previous text backup with the new chat log text.
- Set previousLogTime = current Log time
- Return to step 2
- The heart of the program is a script so it hijacks control of my server computer for intervals of about 4-5 seconds
- Yeah... unfortunately this is still valid and will remain valid until one of two things happen: 1. Steam implements a logging feature 2. Another logging method is found by me.
- It requires steam to function perfectly for long periods of time
- Not so true anymore, I added some logic in to restart steam if it dies, and some other logic has gone into the AutoIt3 script to keep steam problems to a minimum. As I find a problem I write some code to handle it.
- Its pretty specific to my computer setup.
- Not so true anymore either, I have added an extensive options panel to handle other computers with relative ease.
- Logs are currently saved to my personal server therefore upload speeds will be slow and no guarantees are made to the servers uptimes (Unless I am not home and something goes wrong it should be up)
- Working on this one also with the FTP upload to my hosted web server.
- It still needs to have a ReadMe written for it, believe me, you will need it. I have made the program MORE user friendly, but it still requires some setup (mostly how to set the settings).
- I aint at home, and its not actually uploaded anywhere.
----- Old post below ------------
Well, I may not be a mapper, but instead of mapping I do other stuff. Like when someone suggests that it would be a good thing for us to be able to somehow reference old chats I got to thinking.
How hard would it be to write a chat logger?
So with trusty AutoIt3 at my side I wrote a simple script that goes to the chat window, copies all the text out of it, and then saves it to a text file.
Part B of this plan involves a companion program written in VB.net. The companion program runs the script every 30 minutes to grab the text and posts an alert in the chat every 60 minutes that the chat is being logged and where to find the chat log.
Features of the program include:
- Saves all contents of the chat window every 30 minutes
- Posts a link to the logs every 60 minutes along with an alert that the chats are being logged
- Logs are re-written by the companion program into HTML with formatting.
- Amazing page layout courtesy of Swift
- The heart of the program is a script so it hijacks control of my server computer for intervals of about 4-5 seconds
- It requires steam to function perfectly for long periods of time
- Its pretty specific to my computer setup.
- Logs are currently saved to my personal server therefore upload speeds will be slow and no guarantees are made to the servers uptimes (Unless I am not home and something goes wrong it should be up)
If anyone really wants a copy of the program / AutoIt script I dont have any problems sharing it but you will probably have to do some tweaking to get it to run properly on your own computer and unless you have a secondary computer that nobody is physically using I dont recommend using it because the program essentially will take over the user interface every 30 minutes.
p.s. Seriously thanks to Swift for help getting the CSS up and running.
Last edited by a moderator: