Never read Rift chat again, have RiftSay talk to you instead.
You can download the latest version of Riftsay here: RiftSay.zip
RiftSay uses Text to Speech (TTS) to say what goes into the log file from the Rift game. It require the log file exists before you run the program so please /log in the game before starting this program for the first time. I tried to make it so it would handle most of the type of chat you would like to hear, and not hear. Given the amount of text that the game generated, saying it all would be a wall of sound, and not terribly useful. Thus the program lets you select most of the common text the game generates so you can selectively pick what you want to hear. I am open to suggestions as well, so do not be shy.
Simply unzip the file to any directory. Run the RiftSay.exe and off you go. I normally copy the contents to: C:\Program Files (x86)\RiftSay but you really can run it from anywhere on your PC.
The riftsay.ini keeps the program settings so once you have it how you like it you can just run it. The riftsay.ini file has to be in the same directory as RiftSay.exe
The default riftsay.ini has the setting I normally run with.
There is mouse over help for each control to help you learn the features.
Most of the entries are toggles True or False. Set the value on the right hand side to what you want (True or False).
Achievements are nice but they can end up with 5 minutes of them when the guild does raiding.
Channels are chat channels like Trade, etc.
Shorten is good if you get a lot of chatter and it gets too backlogged. It strips the line down to the content removing the source.
Raid warning are when the boss is doing nasty things. It needs more entries, but I've not raided enough.
The rest of the settings are hopefully obvious.
Volume is from 1-100. That is kind of standard. If it is too loud or soft check your master volume on your pc.
Rate is from -10 (slowest) to +10 (fastest). This is how fast it will speak. 0 is a "normal" speech rate. Anything over +3 is cartoonish to listen too, amusing, but not terribly useful.
Adjust the setting to your liking and listen to Rift talk to you.
Raid warning, ignore and log file location are not currently in the GUI and will be added in a later release.
Change the ignore to your character names (from YourNameHere) so you do not have to listen to yourself. The \A means at the start of the line since actions you do will normally start with your name. For other names it basically looks for the name in . Otherwise if someone says in Guild chat Kodiak, you might not get it if you just filtered on Kodiak instead of [Kodiak]. ] and [ are special characters so they need the \ to tell the engine that we want the characters  not the operation . Set the line to nothing if you want to hear yourself talk and not ignore any one. Set it to (\[jerks_name\]) to ignore a jerk by name. You can have more than one name with a |. () are used to enclose a name. For example to ignore Big_epen and Brags_a_lot: (\[Big_epen\])|(\[Brags_a_lot\])
Raid warnings is there to allow folks to customize announcing important raid events. The format is a Python regular expression. Basically to add a new warning put a | then enclose the text to find in (). For example to add Malcolm is a noob add this to the end of the RaidWarnSearch line:
|(Malcolm is a noob)
Raid warnings and ignores are case sensitive.
Setting the Log file is for special cases mostly. The program will look for the log file in common places if the one given is not valid. This is more for folks running the game from their D drive etc.
All the source code is included in the source.zip file.
riftsay.py is the main code, rsshare.py contains the global variables and riftsay.ini is the permanent storage of settings on your hard drive.
The program uses pyinstaller, pywin32 and wxPython components. pyinstaller 2.0 was used to make it into a single .exe file for distribution. It uses the default windows SAPI text to speech engine.
Feel free to use the source code that is provided freely and without conditions as you see fit. If you find bugs, please let me email@example.com