I've just released v0.2.0 of mastotool, a little command-line helper that lets you search for toots and display statistics about your Mastodon account.

Check it out:

@meldrian, schau mal, ich glaube das das du kürzlich gesucht hattest. Leider hab ich heute keine Zeit um es mal auszuprobieren.

@fribbledom Nice and promising tool!

One thing I encountered is while testing on my own account is: when rate limitation is enforced (I guess pretty much everywhere) the fetching phase pauses but does not show the reason, so one thinks it has frozen.



The simplest solution would be to analyze the rate-limit-related error message, find out when the limit will be lifted, and wait until that time (all the while informing the user on what is going on).



Should I go ahead and open an issue, or do you prefer that people provide PRs? Not that I have one ready, mind you, but I could try my hand at the simple solution I described.



Both, issues and PRs, are always welcome! ❤️


I agree, the situation isn't ideal. I think the API actually returns the timestamp at which the limit will be lifted, but I'm not sure go-mastodon already parses / handles that correctly:

we will probably need to patch that library before we can implement that in mastotool correctly.


Thanks for your quick analysis of the issue! I'll go and check go-mastodon sometime today and see what it does.

I've cloned your repo and will open an issue in my clone to serve as patch development history/notes/doc, then when I'm done I'll do a PR to your repo.

BTW, is there already any developer-oriented documentation? Something like generic info on the software's architecture, feature implementation notes, etc.?


I'm afraid there isn't much. I've basically just slapped it together. It's not horrible design by any means, though, so I'm sure you'll find it easy enough to work on it.

If not, I'm just a toot away 😄


Alright, then -- as I'm going to put together "reverse-engineering" notes anyway, I could synthethize them in a simple "" file with general architecture and feature design info -- if that's alright with you, that is.


I'm not sure there's much to reverse-engineer, but you should you find anything worth taking note of, by all means, I certainly appreciate it! 😊


Seems like go-mastodon has some crude retry behavior wrt status 429 wich I believe is the one about rate-limiting. I think best option is to allow the doAPI() caller to specify whether to go with this existing mechanism or just return immediately and let the app handle the 429 status.

@fribbledom I see you as the Sindre Sorhus of #Go.

You do amazing work. 👏🏽

I'm envious of you in a good way :)

@fribbledom its not simply a compliment. Your GitHub profile with the 'Sources' filter reflects it.

And the amount of releases you make - I'm almost tempted to say that you should start thinking of setting up a separate bot account to track your releases like Sindre does with 😹

Keep up doing the amazing work you do. 🤓

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!