Actually, I have something that may be better & is almost done. What I've got is a script that you can paste a chat log into, and it will extract the name of every unique player who participated in said chat. That gets saved to a map, which we could then iterate through or build upon with other chat logs, and throw tp & everyone found. Will post shortly.
EDIT:
Attached are two scripts. Here's my instructions:
parse_names.ash
When you call this script, it will prompt you for a string to parse. What you want to do is open up a chat log (saved under the KoLmafia "chats" directory, if you have chat logging enabled) in a text-editor that allows you to view the source (not in a browser). Copy the whole thing, and paste it into the prompt you get when running parse_names.ash. Note that you'll have to know your operating system's keyboard command for "paste," as you won't have a right-click (or similar) menu in KoLmafia. I'm not entirely sure what the limits are for the length of a string that can be input this way, nor the limits on your copy - paste storage, so it may be necessary to do it in parts for really large chat logs.
The script will loop through this massive string of chat log data, extracting the name of each player it finds as a poster (players mentioned in someone's chat text are ignored). Then, if the player isn't you (you don't want to throw stuff at yourself, I'm guessing) and the player has not yet been added to your list, it will do so. When it's done parsing all of the text, it will save any previous data as well as the list parsed during this function call to a file in your KoLmafia "data" directory called "SavedNames.txt," and end by telling you how many names are currently in said file.
Note that you can call this function as many times as you'd like, pasting new chat log data every time, and it will simply build up your list (it doesn't start from scratch). If for any reason you wish to start a new list, you'll need to move or delete the "SavedNames.txt" file. Also, just in case, you may want to back up said file once in a while if you plan on parsing a ton of chat logs.
throw_at_people.ash
This is the file that does the actual item-throwing. It will prompt you for two things; first, the quantity of items to throw. Then it will prompt you for the item to throw. If this item doesn't match the hard-coded list of curse items, the script will abort & tell you so. If the quantity you specify is greater than the quantity of said item that you have on-hand (it ignores your closet, hangk's, and DC in case you'd like to save some elsewhere), it will abort and tell you so.
Once that all checks out, it will loop through your saved list of names as many times as needed until you've used the specified number of items.
Enjoy!
Edit 2:
Oops, removed the inclusion of mod announcements in the list, which broke everything; all better now (?).