this post was submitted on 13 Jun 2025
583 points (97.9% liked)

Lemmy Shitpost

32373 readers
4316 users here now

Welcome to Lemmy Shitpost. Here you can shitpost to your hearts content.

Anything and everything goes. Memes, Jokes, Vents and Banter. Though we still have to comply with lemmy.world instance rules. So behave!


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means:

-No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...

If you see content that is a breach of the rules, please flag and report the comment and a moderator will take action where they can.


Also check out:

Partnered Communities:

1.Memes

2.Lemmy Review

3.Mildly Infuriating

4.Lemmy Be Wholesome

5.No Stupid Questions

6.You Should Know

7.Comedy Heaven

8.Credible Defense

9.Ten Forward

10.LinuxMemes (Linux themed memes)


Reach out to

All communities included on the sidebar are to be made in compliance with the instance rules. Striker

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 6 points 23 hours ago

The nesting is insane on that code, please use early returns ๐Ÿ˜ญ

[โ€“] [email protected] 3 points 1 day ago

For someone not knowing that game: ELI5?

[โ€“] [email protected] 6 points 1 day ago (2 children)

Good. I don't think I have seen anyout actually have fun playing that game.

[โ€“] [email protected] 5 points 1 day ago

Thats not true!! I used to have fun! At least 4 games in 2000+ over 12 years were definitely fun!!

[โ€“] [email protected] 4 points 1 day ago

Arenas was fun because it took the worst parts of league out and is a 2 player team gamemode

Too bad they took it away

[โ€“] [email protected] 163 points 2 days ago (1 children)

Needs smaller blurrier code. I can still read half of it.

[โ€“] [email protected] 99 points 2 days ago (1 children)

For your viewing pleasure:

for entry in entries:
    if entry['time'] + 1800 < time():
        guild = self._bot.get_guild(int(entry['guild_id']))
        member = guild.get_member(int(entry['user_id']))
        if member is not None:
            if member.activity.name is not None:
                if member.activity.name.lower() == "league of legends":
                    await member.send("The 30 minutes has elapsed and you are still playing league, get banned.")
                    await member.ban(delete_message_days=0, reason='playing league')
[โ€“] [email protected] 61 points 2 days ago (1 children)

Bruh. I said I wanted it worse.

[โ€“] [email protected] 107 points 2 days ago (2 children)

Here's it in 1x1 resolution:

.

[โ€“] [email protected] 35 points 2 days ago
[โ€“] [email protected] 2 points 1 day ago

That's not code, that's a picture of a sheep! This code is most dark!

[โ€“] [email protected] 48 points 2 days ago (1 children)

I had a roomie that played lol. After a month of not having a job and looking very scruffy he emerged from his filthy bedroom and gave me a grocery list. We were on good terms until I told him he had an addiction.

[โ€“] [email protected] 5 points 1 day ago (1 children)

I tried playing it while unemployed. Did not click with me. At all. I just don't get it.

[โ€“] [email protected] 6 points 1 day ago

It's got a very high barrier to entry. You kinda have to suffer through it for a while before you get it. And then you unlock a totally different kind of suffering.

[โ€“] [email protected] 10 points 2 days ago

Should be: if you play LoL at all you get banned.

[โ€“] [email protected] 36 points 2 days ago (2 children)

lmao discord bots can be that intrusive?

[โ€“] [email protected] 92 points 2 days ago (4 children)

Discord has a feature that broadcasts games you play to your friends at all times, and many people leave the feature on.

[โ€“] [email protected] 3 points 1 day ago* (last edited 1 day ago)

I turned em off when my boss at the time noticed I was always playing FFXIV. I wasn't always actually playing, I used to leave it open almost all the time. Why was my boss and I in the same discord? This was early COVID and we used a discord to shoot the shit. Also almost all of us gamed, including said boss, and I probably wouldn't have really gotten in trouble anyway, but I just explained I leave it open a lot and he accepted that without qualm.

[โ€“] [email protected] 6 points 2 days ago (1 children)

I would not even let other user even know my username.

[โ€“] [email protected] 8 points 1 day ago (1 children)

I think that's called Omegle.

[โ€“] [email protected] 1 points 23 hours ago

Sadly, it's joever

[โ€“] [email protected] 1 points 1 day ago* (last edited 1 day ago) (1 children)

Oh, this is more people showing what they're playing than actually playing the game. Lol

[โ€“] [email protected] 2 points 1 day ago (1 children)

Yes. Discord does have a screen-sharing feature but the one I was talking about is more of a "now playing"

[โ€“] [email protected] 1 points 1 day ago

I fixed it. I have mine disabled to not be bothered lol.

load more comments (1 replies)
[โ€“] [email protected] 12 points 2 days ago

If the server owner gives the bot access to those permissions and the users have activity sharing enabled, yep.

[โ€“] [email protected] 31 points 2 days ago (4 children)

nested lonely ifs?

someone execute this man at once

[โ€“] [email protected] 3 points 1 day ago* (last edited 1 day ago)

Not only nested ifs. It's not even correct (doesn't check for activity existing). And it's not even pythonic (ask for forgiveness, not for permission). Just access the thing, catch the exception and be done with it.

[โ€“] [email protected] -1 points 1 day ago* (last edited 1 day ago)

I worked with chatgpt since I'm not a python dev, and this is what I came up with

from time import time

class PlaySession:
    def __init__(self, data: dict):
        self.guild_id = int(data['guild_id'])
        self.user_id = int(data['user_id'])
        self.timestamp = data['time']

    def is_longer_than_half_hour(self) -> bool:
        return self.timestamp + 1800 < time()

    async def resolve_member(self, bot) -> "discord.Member | None":
        guild = bot.get_guild(self.guild_id)
        return guild.get_member(self.user_id) if guild else None

    @staticmethod
    def is_playing_league(member) -> bool:
        activity = getattr(member, 'activity', None)
        name = getattr(activity, 'name', None)
        return name and name.lower() == "league of legends"

async def ban_for_league(member):
    await member.send("The 30 minutes has elapsed and you are still playing league, get banned.")
    await member.ban(delete_message_days=0, reason="playing league")

async def process_entries(bot, entry_dicts):
    sessions = [PlaySession(d) for d in entry_dicts if PlaySession(d).is_longer_than_half_hour()]
    for session in sessions:
        member = await session.resolve_member(bot)
        if member and PlaySession.is_playing_league(member):
            await ban_for_league(member)
[โ€“] [email protected] 21 points 2 days ago* (last edited 2 days ago) (5 children)

There are two types of programmers.

// comment
if(condition) {
  // comment1
  if(condition1) {
    // comment2
    if(condition2) {
      printf("hello, world\\n");
    }
  }
}

and

// comment
if(!condition) {
  return;
}

// comment1
if(!condition1) {
  return;
}

// comment2
if(!condition2) {
  return;
}

printf("hello, world\\n");

And one is objectively correct.

[โ€“] [email protected] 31 points 2 days ago (1 children)
if (condition && condition1 && condition2)
[โ€“] [email protected] 6 points 2 days ago (2 children)

The problem with this in the OP is the first 'if' checks if the object exists and the second gets a property of said object only if the original object exists.

I'm not saying the OP is good code, but chaining them like this would result in exceptions.

[โ€“] [email protected] 4 points 1 day ago

The language is python and it has short circuiting aka in an and condition, if the first block isn't fulfilled the second one isn't tested because it's unnecessary.

Same with or and the reverse.

[โ€“] [email protected] 11 points 2 days ago (1 children)

Not in a language with short circuiting.

[โ€“] [email protected] 2 points 2 days ago (1 children)

Could've sworn I've had this issue before! Maybe not with python

[โ€“] [email protected] 5 points 2 days ago

Yeah not all languages do it. I find it rather convenient though

[โ€“] [email protected] 3 points 1 day ago

Add the else branches to the nested version and log the failed conditions (to make it more obvious).

[โ€“] [email protected] 8 points 2 days ago (2 children)
// comment
if(x < 10) {
  // comment1
  if(x < 20) {
    // comment2
    if(x < 30) {
      printf("hello, world\\n");
    }
  }
}
[โ€“] [email protected] 11 points 2 days ago

"Yeah x might be less than 10 but just in case check if it's less than 30."

[โ€“] [email protected] 4 points 2 days ago* (last edited 2 days ago)

This is the cursed case when you case the forbidden scroll of the ancients: switch (true) { }

edit: on second thought I'm not sure now I'll have to think about how fall through cases work

[โ€“] [email protected] 5 points 2 days ago

Iโ€™m so the latter. The former drives me fucking crazy.

load more comments (1 replies)
load more comments (1 replies)
[โ€“] [email protected] 23 points 2 days ago (1 children)

It's especially spicy when you consider that one single normal League match can easily extend beyond 30 minutes. Hell, even a lighter mode (ARAM) can be 30-35+ minutes at times.

[โ€“] [email protected] 2 points 1 day ago

Brawl is 15 minutes. Get it while you can.

[โ€“] [email protected] 32 points 2 days ago* (last edited 2 days ago) (2 children)

30 minutes? Seems lenient. Can Discord detect if League is installed?

[โ€“] [email protected] 21 points 2 days ago (5 children)

No but maybe it can detect if >0 minutes are played or if there's a Riot Games account installed (but this would also ban valorant players)

[โ€“] [email protected] 28 points 2 days ago (1 children)

this would also ban valorant players

Good.

load more comments (1 replies)
load more comments (4 replies)
load more comments (1 replies)
load more comments
view more: next โ€บ