this post was submitted on 18 Jul 2023
207 points (100.0% liked)

Lemmy.world Support

3218 readers
55 users here now

Lemmy.world Support

Welcome to the official Lemmy.world Support community! Post your issues or questions about Lemmy.world here.

This community is for issues related to the Lemmy World instance only. For Lemmy software requests or bug reports, please go to the Lemmy github page.

This community is subject to the rules defined here for lemmy.world.

To open a support ticket Static Badge


You can also DM https://lemmy.world/u/lwreport or email [email protected] (PGP Supported) if you need to reach our directly to the admin team.


Follow us for server news 🐘

Outages 🔥

https://status.lemmy.world



founded 1 year ago
MODERATORS
 

I recently wrote a command-line utility lemmyverse to find communities indexed by Lemmy Explorer. A quick count shows almost 14%(!) of all communities indexed by lemmyverse are junk communities created by a single user @LMAO (reported here):

% lemmyverse . | wc -l
  30376
% lemmyverse enoweiooe | wc -l
   4206

Here's a python script, using no external dependencies, which uses Lemmy's HTTP API to delete all communities that @LMAO moderates:

#!/usr/bin/env python

import json
import urllib.parse
import urllib.request

baseurl = "https://lemmy.world"
username = "admin"
password = "password"

def login(user, passwd):
	url = baseurl+"/api/v3/user/login"
	body = urllib.parse.urlencode({
		"username_or_email": user,
		"password": passwd,
	})
	resp = urllib.request.urlopen(url, body.encode())
	j = json.load(resp)
	return j["jwt"]

def get_user(name):
	query = urllib.parse.urlencode({"username": name})
	resp = urllib.request.urlopen(baseurl+"/api/v3/user?"+query)
	return json.load(resp)

def delete_community(token, id):
	url = baseurl+"/api/v3/community/delete"
	params = {
		"auth": token,
		"community_id": id,
	}
	body = urllib.parse.urlencode(params)
	urllib.request.urlopen(url, body.encode())

token = login(username, password)
user = get_user("LMAO")
for community in user["moderates"]:
	id = community["community"]["id"]
	try:
		delete_community(token, id)
	except Exception as err:
		print("delete community id %d: %s" % (id, err))

Change username and password on lines 8 and 9 to suit.

Hope that helps! :) Thanks for the work you all put in to running this popular instance.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 13 points 1 year ago (1 children)

I've managed to create an entire career (almost 10 years in now) out of the transparency in the tech community. Especially in open source. I'm hoping that paying it back like this inspires and provides the same opportunity to others!

[–] [email protected] 5 points 1 year ago (1 children)

Stuff like this makes me really happy.

Sometimes, people call me naïve or overly optimistic for being hopeful for change, but I'm not expecting us to be able to fix all the problems; I'm excited because we're taking steps towards transmuting our current set of problems into a different set that will put us closer to a hypothetical ideal world. I can't imagine what this ideal world would look like, but I don't need to as long as I maintain a sense of "towards" and be clear on what values are worth striving towards.

It's helpful for my morale to remember that we're not building an ideal world from scratch, we're iterating upon what already exists. This means that people like you exist, and the domain knowledge you possess is far from a new thing, but will continue to grow and adapt as the rest of the world changes around it. There's a lot of smart and wise people working on making things better :)

(And I include myself in the "smart" category at least, it's just that protein structure isn't too relevant to social media (well... aside from the game Fold-it... or the fact that Meta and Google research is very relevant to BioInformatics ¯\(ツ)/¯ )

[–] [email protected] 3 points 1 year ago

This comment really spoke to me; thanks for replying.

we’re iterating upon what already exists

Absolutely. Do I think Lemmy, Python, ActivityPub or any of this web stuff is ideal? Personally: no. But that ability to make a little gesture like this, maybe have it accepted (or not!), and make it all a bit easier to work is worth any sort of personal compromise and frustration I feel. That optimism that you mention is really powerful.