• ximtor@lemm.ee
      link
      fedilink
      arrow-up
      4
      ·
      9 hours ago

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

    • Baguette@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      4
      ·
      14 hours 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

    • Sjmarf@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      98
      arrow-down
      1
      ·
      2 days ago

      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')
      
  • Pnut@lemm.ee
    link
    fedilink
    arrow-up
    48
    ·
    2 days ago

    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.

    • Alteon@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      20 hours ago

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

      • Kogasa@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        10 hours 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.

    • CannedYeet@lemmy.world
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      3 hours 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)
      
    • Tja@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      17 hours 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.

    • Jankatarch@lemmy.world
      link
      fedilink
      arrow-up
      23
      arrow-down
      3
      ·
      edit-2
      2 days ago

      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.

        • kernelle@0d.gs
          link
          fedilink
          arrow-up
          5
          ·
          1 day ago

          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.

          • Fushuan [he/him]@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            4
            ·
            15 hours 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.

        • underscores@lemmy.zip
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          1 day 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

    • REDACTED@infosec.pub
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Correct me if I’m wrong, but the script works faster with nested IFs since if it fails at the first one, it won’t bother reading next ones, unless you kill/return from function.

      All in all, this feels like readibility argument, not correctness or efficienty argument

  • Dicska@lemmy.world
    link
    fedilink
    arrow-up
    23
    arrow-down
    1
    ·
    2 days ago

    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.

    • Cenotaph@mander.xyz
      link
      fedilink
      English
      arrow-up
      91
      ·
      2 days ago

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

      • chatokun@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        19 hours 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.

      • Nindelofocho@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        I think its called Discord Rich Presence? If anyone is looking to turn it off. I think you can turn it off for specific games too

    • TheSambassador@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      2 days ago

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

    • felsiq@lemmy.zip
      link
      fedilink
      arrow-up
      11
      ·
      2 days ago

      It seems to match the discord bot api from python and that’d be a more logical choice for a bot lol

      • NONE@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 days ago

        That bot can recognize GDScript? Or can confuse it with Python? (Since both languages are very similar in some respects)

        • felsiq@lemmy.zip
          link
          fedilink
          arrow-up
          3
          ·
          2 days ago

          Gonna state all my assumptions cuz I don’t think we’re talking about the same thing here:

          The bot I’m referring to is the discord bot that mod made, that monitors discord activities and bans discord users who play league for >30min. The code shown matches what I’d expect for that bot’s programming if python was used to create it, and doesn’t have anything to do with GDScript other than the mostly shared syntax between the two languages. I don’t think GDScript is likely outside a godot environment, and this bot is running on the discord side and not the game side.

          Sorry if this is still a shitty explanation of how I read the meme, brain isn’t braining right now lol

    • OsrsNeedsF2P@lemmy.ml
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      2 days ago

      GDScript is heavily inspired by Python’s syntax, but has a few differences with typing and string formatting. This code is Python but tbh would probably run on Godot

      Source: I code in Godot and Python