Using Python, How can I create a bot/script that let’s me re-post a subreddit’s post to Lemmy?

Just wanted to do a simple little project to practice my programming skills.

I just need to know the outline/backbone of things I should know to do this project.

        • jjjalljs@ttrpg.network
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Really? You hate python but recommend typescript? All the problems you cited about python are there, too!

          Garbage stack traces that go through a hundred lines of node modules.

          Dependency hell. Peer deps. Npm or yarn? An ecosystem where packages have a half life of weeks. A new major version of node comes out literally every six months. SIX MONTHS. MAJOR VERSION CHANGE. And you complained about python2 vs 3!

          Typescript also has a garbage debugger compared to python.

          There’s also just too many ways of doing things because the standard lib is thin. How many ways to loop over an object are there? For in, for each, object keys, lodash, underscore, object.entries, what am I forgetting?

          Newer versions have stuff in the standard lib like Array.at, but if you’re targeting an older browser that won’t work unless you enter the wonderful world of transpiling and polyfills. And you thought virtualenv was bad??

          And let’s not forget the language’s obsession with being async, even when you don’t expect or want it. How many hours have been lost because someone forgot to await response.json()?

          Oh right and remember how there’s like six ways of declaring a function. The function keyword, when it’s in a class, and like four variations on arrow function syntax. And arrow functions are different than ones with the function keyword.

          And lots of other little weird gotchas like

          const foo = "hello";
          const bar = { foo: "world"};
          

          Go on. What do you think that object key is? The syntax is insane . You need to do { [foo]: “world”} to reference a variable as a key. Which looks like a list. Because typescript/javascript is kind of bad.

          Typescript is used in the browser because that’s the only thing really supported there for front ends. It’s a horrible tool for anything else.

          • Rooki@lemmy.worldM
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago
            1. Yeah BECAUSE THEY ARE NOT DEAD PACKAGES LIKE 90% pip packages.
            2. Yeah at last we have different declarations
            3. its simple we USE THE GOD DAMN STAMDARD. { myvar:string } and we dont have to use any LIBRARIES FOR THAT
            4. typescript is just a language that transcompiles to js so you dont have any experience with js or ts them dont fucking talk bad thx
            • jjjalljs@ttrpg.network
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              There are far more dead packages on npm than pip.

              Why is having multiple different ways of declaring a function a good thing??

              The standard in JavaScript for object declaration "is stupid*. It is a bad standard that is unintuitive and error prone. This has nothing to do with libraries. And JavaScript is notorious for "oh get a library for that*. Why do you think momentjs became mega popular? And momentjs is dead now! Move to datefns! The JavaScript ecosystem is full of that nonsense! Underscore got big because the standard library was kind of bad, but then people moved to lodash.

              I don’t know what you’re responding to with point four. Honestly I don’t think you’re actually that familiar with python, and you ignored a lot of my points, so this probably isn’t a very fruitful conversation.

              • Rooki@lemmy.worldM
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                Sadly i work with it 35 hours a day ( and i hate it every millisecond ). And we both know you and the other cant convince me that python is good and i cant convince you ( all ) that python is bad.

    • counselwolf@lemmy.fmhy.mlOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      I can’t speak for everybody, but I found python easier to understand than the other language I tried (C++).

      Also, python has Pandas which was really good because my initial track was related to data scientist.

    • minnieo@kbin.social
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      i started learning it bc i was told it was easy, and it was, but i switched to JS because I had no practical uses for python, but i can say it did help me understand JS better

      • Rooki@lemmy.worldM
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Ohh you got python3 installed but this script is only for python2. Oh no you want a specific version of a package you gotta create a fucking venv for it! And hope that you dont forget next time you start :) Oh you renamed a variable of a class. You gotta catch them all! With the (sorry) worst error messages i have ever seen. You can still delete system32 with it.

        • zumi@lemmy.sdf.org
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          I have such mixed emotions about Python. I have to concede its uses. Especially when working with data and data scientists. A lot of people use it. There is a good amount of existing code floating around that can be re-used, etc. Its never the first language I reach for, but I have to accept that a lot of people use it.

          But OMG, I have had to re-install my OS more than once due to python versioning issues. Not recently sure, I think I have it figured out now with virtualenv and pyenv, but it literally has caused me to reformat twice after getting too deep into dependency version mismatch hell.

          • Rooki@lemmy.worldM
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            You are the first who understand those issues. And yeah Data scientists use it.

            The only one thing i really like in python are the decorators. Those are neat.

          • jjjalljs@ttrpg.network
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            How on earth did you bork your os? Were you running stuff with sudo?

            But yes, you should install deps in a virtualenv, or use something like docker.

        • jjjalljs@ttrpg.network
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          Almost every language has versions. Python’s is fairly stable. Python2 has been end of life for a few years now, and I don’t think there’s a python 4 even on the horizon.

          Almost every language has dependency management. Use an IDE.

          Use an IDE with refactor->rename. I’ve never had a problem with renaming. Right now when I went to see what it would do, it suggested correctly “did you mean [correct variable name]?”. But even without that it just says my class has no attribute with the incorrect name, which is about what I would expect. If you think these are bad error messages you should stay away from JavaScript.

          Most languages running as admin can delete files. I don’t see how that’s a relevant critique of python.

          • Rooki@lemmy.worldM
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago
            1. Yeah ok ig
            2. IDE doesnt have anything to do with pip, it can install it sometimes, but for version controll its uterly garbo
            3. IDE is sometimes impossible to catch the variable. ( VS Code, Pycharm )

            You wont change my mind about that pile of trash named python.

            I would cite some cool dude ;)

            Python is an immature language that was populated because the academic computer science business is immature and does not have a definition for “best practices”

            • jjjalljs@ttrpg.network
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Just use a virtual environment and let your ide manage it. Or a docker container if you’re doing production work.

              Any language may have trouble if you willy-nilly rename things by hand. That’s not specific to python.

              • Rooki@lemmy.worldM
                link
                fedilink
                arrow-up
                0
                ·
                1 year ago

                Like said IDEs work 90% of the time not or there are 50 packages with the god damn same name ( mostly malicious )

      • Rooki@lemmy.worldM
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        1 year ago

        easy to learn yeah ig. But for anything more than a simple 1 file organized script is not (easily) doable. I dont even want to start with the indentations. Yeah many packages :) But why? Because like half of vanilla stuff from other languages cant be done without it. Most known? Most started to learn language. Those “script” kiddies count in there too. I have to work with it everyday and i dont know how such bs could ever been created from a sane person.

        Most of it is personal opinion and will spark like html is not a programming language some heated discussions here.

        • CAPSLOCKFTW@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          A project that is seperated in different files is as difficult as in C(++), Java or Rust. Regarding the itendation I agree, but that’s personal preference. What ‘vanilla’ stuff can’t you do without libs?

          • Rooki@lemmy.worldM
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            1 year ago

            Typing, Interfaces, enums, abstract classes ( i didnt meant 3rd party libs ). I dont statet those difficult but stable programming languages. Java is simple and is organized. the default JSON encoder is not good implemented too. As it is f*cked when there is not a build in type like date, dateTime etc. as date and datetimes are still build in types.

            • squirmy_wormy@lemmy.world
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              1 year ago

              Python 3 has all those things built-in, and datetime has been there forever:

              import abc
              Import typing
              Import enum
              Import datetime
              

              What’s wrong with the json encoder?

            • CAPSLOCKFTW@lemmy.ml
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              1 year ago

              What can you do in C without including stdio.h? Almost nothing. Far less than with python. Ignoring built in libraries is no fair criticism imo. Also all that you listed can be done without importing anything, just with oop (yes, in a turing complete language you can already anything but I meant it is not even that complicated to implement these things with basic python)

              I think it is an mediocre language if you’re into compiter science or dev, but for scientific programming and simple tasks it is great. So for some it is the best beginner programming language.