Someone’s started a Python wrapper around the lemmy API
https://github.com/db0/pythorhead (@db0)
Could make writing bots and other tools easier and quicker.
Hey everyone, “someone” here, AMA :D
Is there some api doc, or is it rtfs? :-)
We have quite a few examples and the code is statically typed and well commented. I hope we can figure out an automatic doc creation system
Do you like garlic bread?
very
Where does the name come from and what’s going on on that logo?
Python + Motörhead and what do you mean?
Where … for those who don’t know … Motörhead was band headed by a fellow named … “Lemmy” (who’s partly responsible for the name of this place!)
I’d love to write a bot for my own community. I used to use praw, when reddit was a thing.
Can you see your wrapper being used this way? If so, is it ready for this yet? If so, is there any example code or docs on this?
Thanks for your work, it’s very much appreciated.
Yes there isn’t a reason not to use it as a bot. We don’t have all the API endpoints yet as we add them usually as we need them, but if you need one we don’t have, just open a PR or send an issue and we’ll handle it.
I use it in https://lemmy.world/c/workingclasscalendar !workingclasscalendar@lemmy.world
I have problems when I use a lemmy.ml bot account: most of the posts are not shown outside lemmy.ml: https://lemmy.ml/c/workingclasscalendar@lemmy.world but I’m not sure if the problem comes from pythorhead, my code or the mess between lemmy versions.
(Sorry for repeating myself, my instance had a minor rollback)
Where does the name come from and what’s going on on that logo? It looks like a snake with sunglasses, but I can’t locate it’s head or tail.
The late singer of the legendary metal band named Motörhead was called Ian Fraser Kilmister, but he was known by his nickname “Lemmy”. That’s where the name comes from, Python combined with Motörhead.
Thanks for the wrapper :)
Two questions:
-
Where can I find the relation between languages and the languages_id ints?
-
When I log in into a lemmy instance I check the protected member
_requestor.nodeinfo
to detect if the problem it’s the connection or the user/password:lemmy = Lemmy(instance) if not lemmy.log_in(user, password): if not lemmy._requestor.nodeinfo: raise LemmyException(f"Sorry, cannot connect to lemmy instance {instance}.") raise LemmyException( f"Sorry, cannot login {user} into {instance}. Bad user or wrong password." )
There is a better way to validate it?
-
I think that this question from my non bot account has not reached you:
@carlesmu@lemmygrad.ml wrote:
Thanks for the wrapper :)
Two questions:
-
Where can I find the relation between languages and the languages_id ints?
-
When I log in into a lemmy instance I check the protected member _requestor.nodeinfo to detect if the problem it’s the connection or the user/password:
lemmy = Lemmy(instance) if not lemmy.log_in(user, password): if not lemmy._requestor.nodeinfo: raise LemmyException(f"Sorry, cannot connect to lemmy instance {instance}.") raise LemmyException( f"Sorry, cannot login {user} into {instance}. Bad user or wrong password." )
There is a better way to validate it?
I believe pythorhead writes a specific log when you try too login to a non python instance. The node info likewise has a function to retrieve it
-
There is also plemmy https://github.com/tjkessler/plemmy
“someone”
@maegul @db0@lemmy.dbzer0.com @fediverse @fediversenews I’m also on hachyderm.io as well ;)