A script that posts topics to Tildes, designed to be run on a schedule.
https://gitlab.com/hungariantoast/taps So yeah, this took a bit longer to get out than it should have, but that's because my summer classes are eating up all my free time. Tildes Automated Posting...
So yeah, this took a bit longer to get out than it should have, but that's because my summer classes are eating up all my free time.
Tildes Automated Posting Script, or TAPS, is a Python script that, when properly configured, will post a topic to Tildes under the account credentials, to the group, with the title, comment, link, and tags that you set. I created it because every Monday and Friday around 11:00 AM I post a topic to ~talk, but that can be a problem for someone who is forgetful like me, so I wrote a program that posts the topic for me, and now I can just run it on a schedule with something like cron.
The documentation should explain enough for you to get started with it, but I should have time tonight to answer questions and discuss feedback or suggestions.
Some features I might add in the future:
- [Done] An argument that posts all the topics defined in
config.pyinstead of having to name them individually
- Check that topics defined in
config.pyhave all the necessary values and fail if they don't
- Check that the username and password variables are set, fail if they aren't
- Check that the link, title, or tags of a topic will be accepted by Tildes and fail if not
- Add an "interactive mode" where the program just prompts the user to answer a couple of questions then posts a topic using the provided answers
- Add the ability to post comments to topics (maybe)
- Add a config option that waits a certain amount of time between posting topics to avoid the rate limit
Some quick thoughts about this approach to automating interactions with Tildes:
I'd much rather drive a text based browser, but I haven't found anything (yet) with Python bindings
I'd much rather just send HTTP requests, but I don't know how to do that (yet)
I'd much rather Tildes just have an API, but I don't know how to build one (yet)