On https://chat.stackoverflow.com/ and https://chat.stackexchange.com/, chat rooms will freeze after some two weeks of inactivity. While this is fine and status-bydesign, some rooms are worth keeping around for a longer time for various reasons; for example, some communities have rooms which are useful for infrastructure, but which don't typically, or often, receive actual messages from live humans. You don't want those to be frozen.
A common workaround is to (try to remember to) manually write something in the room from time to time, but this is obviously tedious and error-prone.
Enter Sloshy the Thawman, a simple bot which logs in once per night (by way of a dead simple Github Action) and checks a list of rooms for activity, and writes something in those which are close to the freezing point.
Sloshy's activity is logged in his own chatroom, with any thawing messages also logged in the SOBotics room, here is a recent sample:
This bot is a simple Python script, currently operated by tripleee1; for details, please refer to the bot's Github project page.
The bot does not particularly need the StackExchange API for anything, and so this post is merely an FYI and/or publicity stunt. (Technically, it just fetches the static chat transcript for the latest day for each room using requests
and parses it with BeautifulSoup like any run of the mill Python scraper.)
Sloshy does not support secret rooms, for semi-obvious reasons. A closed-source configuration file could perhaps be deployed if there is a real need, but it's really not clear how that could be maintained without a separate project and then perhaps a separate bot identity.
1 In the spirit of providing this service as infrastructure, they will be happy to make you a co-owner if you can convince them that you are interested in co-ownership out of care for the sites in the network.
Being able to debug Python code is an obvious plus; the bot itself is simple, and mainly relies on the ChatExchange Python library, but there will probably be times when it helps if you can understand what it's doing.