Good morning sober peeps!!

We may be anonymous strangers on the internet, but we have one thing in common. We may be a world apart, but we’re here together!

Welcome to the 24 hour pledge! I’m pledging myself to not drinking today, and invite you to do the same.

Maybe you’re new to c/stop drinking and have a hard time deciding what to do next. Maybe you’re like me and feel you need a daily commitment or maybe you’ve been sober for a long time and want to inspire others.

It doesn’t matter if you’re still hung over from a three day bender or been sober for years, if you just woke up or have already completed a sober day. For the next 24 hours, let’s not drink alcohol!

    • Zerlyna@lemmy.worldOPM
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      I have a blemish on my Calendar as I succumbed to trying it out with some new meds to see how it affected my sleep. I don’t know why I Do it to myself, it never works out in a positive favour.

      • ChaoticNeutralCzech@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        I was talking about the wrong date in the post title. You can still fix this, Lemmy allows editing post titles (and links).

        There is no shame in scheduling posts you were going to make anyway, prominent poster @MentalEdge@sopuli.xyz does it and I do that on my @ChaoticNeutralCzech@lemmy.one account. The easiest way is to write a Python script with the pythorhead library, and automating it with a cron job or Windows’ Task Scheduler, or run manually if you wish to do that. Your username and password, as well as what the previous post was (for unpinning in the community), can be stored in your OS’s environment variables.

        In your case, it’s just a matter of something like

        # warning: untested
        from pythorhead import Lemmy
        import datetime
        import os
        
        todays_date = datetime.now().strftime("%A %B %d")
        
        post_title = "The Daily Checkin for" + todays_date + " - Just For Today, We Are Not Drinking!"
        post_body = "Good morning sober peeps!!\n\nWe may be anonymous strangers on the internet, but we have one thing in common. We may be a world apart, but we’re here together!\n\nWelcome to the 24 hour pledge! I’m pledging myself to not drinking today, and invite you to do the same.\n\nMaybe you’re new to c/stop drinking and have a hard time deciding what to do next. Maybe you’re like me and feel you need a daily commitment or maybe you’ve been sober for a long time and want to inspire others.\n\nIt doesn’t matter if you’re still hung over from a three day bender or been sober for years, if you just woke up or have already completed a sober day. For the next 24 hours, let’s not drink alcohol!"
        
        community_id = 5759 #lemmy.world/c/stopdrinking for lemmy.world users
        previous_post = os.getenv("STOPDRINKING_PP")
        post = ""
        
        lemmy_username = os.getenv("STOPDRINKING_UN")
        lemmy_password = os.getenv("STOPDRINKING_PW")
        lemmy = Lemmy("https://lemmy.world") 
        
        def retry_login():
            if not lemmy.log_in(lemmy_username, lemmy_password):
                print("Failed to log in")
                exit(1)
        
        def retry_post():
            global post
            post = lemmy.post(community_id, post_title, body=post_body,)
            if post:
                print(f"Successfully posted ({post['post_view']['post']['ap_id']})")
            else:
                print("Failed to post")
                exit(1)
        
        def retry_refeature():
            global previous_post
            global post
            post.feature(true)
            if (previous_post):
                previous_post.feature(false)
            previous_post = post
            os.environ["STOPDRINKING_PP"] = previous_post
        
        def retry: #this structure allows retrying in the interactive shell
            retry_login()
            retry_post()
            retry_refeature()
            input("Press Enter to exit...")
            os._exit(0)
        
        retry() 
        

        This command makes the script run in interactive mode, so you can see error output if problems happen, change variables and type retry() commands to retry:

        py -i stopdrinkingtoday.py
        

        I haven’t tested the code but it should not be too hard to get it working. Feel free to ask for help.

        • MentalEdge@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          3
          ·
          2 months ago

          I would use a file instead of ENVs so that the state actually survives a reboot. Otherwise, a system restart will screw your setup…

          That, or you could make the script actually check what’s currently pinned.

          That said, like already pointed out by @Zerlyna@lemmy.world, not everyone is a coder.

          So I’d suggest looking at https://schedule.lemmings.world

        • Zerlyna@lemmy.worldOPM
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 months ago

          ummmm yeah. Not a coder. I don’t think the other mod here is either. Just take turns posting, whomever is awake first. They are on the other side of the pond from me, usually them.

          • ChaoticNeutralCzech@feddit.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            You could make the script check the latest posts for yesterday’s date and decide whether to take action but that makes it more difficult of course, and I’m not going to finish it if you’re OK without it.

            • Zerlyna@lemmy.worldOPM
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 months ago

              I asked the other mod. When Lemmy first started, the original mod did have a script that worked for a while. But the problem with the script is that you don’t get the notifications of responses. Maybe I’m just old-school.

              • ChaoticNeutralCzech@feddit.org
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                2 months ago

                You do get notifications if you configure the script to use your account. However, it is a security risk unless it’s running on your computer and you store the password responsibly.

              • MentalEdge@sopuli.xyz
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 months ago

                You would, if you use the script so that it posts using your account.

                That’s what I do, exactly so that any comments appear in my inbox, since I do often want to respond.

                That said, if you don’t have any programming experience, there is: https://schedule.lemmings.world

          • rosamundi@lemmy.worldM
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            Not really, but I’m on my phone in an airport hotel so it might make more sense when I’m back home 😁