106
lemmyverse: search lemmy communities from the command-line. Thanks to the data HTTP API from lemmyverse.net! This is not really as polished as I like but, hey, in the interest of having a lively Lemmy I thought I'd share anyway :)
Usage
lemmyverse
searches community names and descriptions using a regular expression:
lemmyverse pattern
Find communities about motorcycles:
$ lemmyverse motorcycle
[email protected] All Things motorcycles
[email protected] All Things motorcycles
[email protected] All Things motorcycles
[email protected] Community for BMW motorcycles. A place to share
[email protected] A community to discuss all things BMW cars & motorcycles.\nFeel free to show off your new vehicle/parts
[email protected] A discussion area for Buell motorcycles.
[email protected] A community for pictures and videos of people using motorcycles to transport things in a creative manner.\n\nThis includes
[email protected] This community is for all things motorcycle related. At a later point and with enough traction gained
...
Find communities for the Plan 9 operating system:
$ lemmyverse '(plan9)|(Plan 9)'
[email protected] Discussions on the Plan9 operating system.
Why?
I run relatively slow hardware and I'm travelling in Bali, Indonesia at the moment. Loading lemmyverse.net in a web browser takes ages and gets the laptop fans spinning (it's hot here!). So I had some fun creating a tiny command-line program to find Lemmy communities using classic UNIX tools awk(1), tr(1), grep(1) etc.
More info
See the man page:
LEMMYVERSE(1) General Commands Manual LEMMYVERSE(1)
NAME
lemmyverse - find lemmy communities
SYNOPSIS
lemmyverse pattern
DESCRIPTION
lemmyverse finds Lemmy communities indexed by lemmyverse.net using the
given regular expression as interpreted by grep(1). Both the names and
descriptions of the communities are searched.
On first run, a local community database must be generated. The full
community index is downloaded from https://lemmyverse.net using curl(1),
transformed, then stored in the user cache directory. To regenerate the
database, remove the file and run lemmyverse again.
FILES
communities
Community database from lemmyverse.net.
ENVIRONMENT
lemmyverse uses the following environment variables:
XDG_CACHE_DIR
The directory to store the community database. If unset,
$HOME/.cache/lemmyverse is used.
EXAMPLES
Find communities for the Plan 9 operating system:
lemmyverse '(plan9)|(Plan 9)'
List all communities from the instance lemmy.sdf.org:
lemmyverse '@lemmy.sdf.org'
EXIT STATUS
The lemmyverse utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
grep(1), curl(1), https://lemmyverse.net
Oh that's interesting - nice spotting.
Indeed. Looks like it's just a matter of a big for loop over each community ID,
POST /community/delete
with bodycommunity_id=1234
. Maybe I'll try to see if it's possible to get some action on removing them by sending over some Python script or something that does the job. Quick count shows almost 14%(!) of all communities indexed by lemmyverse are those junk communities:You can probably also delete them directly in the instance database with simple sql. Unless there are dependencies that will cascade delete things that are not wanted. :)
Yeah that's another way. I'm pretty terrible with relational databases, though! I've sent over a Python script which does the job via the HTTP API. Hopefully the admins of lemmy.world will see the post: https://lemmy.world/post/1720870