Hi, I’m learing python and I was thinking about createing Lemmy bot.

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

    I’ll reply first on more general grounds. In my opinion, bots…

    • should only reply to posts/comments when explicitly requested to, through a standard approach.
    • should be properly tagged as bots, not just their username but also some interface element. And they should never behave in a way that mimics human beings.
    • should have short, succinct output, that doesn’t force other users to scroll past a lot of junk.
    • should only have a descriptive output (it gives you info), not prescriptive (it doesn’t tell you what to do).

    Now, actually answering your question:

    • a bot that links manga, anime and LN references to MyAnimeList, MangaUpdates etc. pages, like u/Roboragi does in Reddit.
    • an unit conversion bot, like @iorale@lemmy.fmhy.ml said, that also works for cooking units. (Specially when Americans say stuff like “half cup of onions”, for me it’s the same as “a random amount of onion”). I volunteer myself to help out gathering units for that.
    • a simple Wikipedia link bot, that gives you a short excerpt of the Wikipedia link.
    • Geronimo Wenja@agora.nop.chat
      link
      fedilink
      arrow-up
      13
      ·
      1 year ago

      I was thinking of running an instance which houses just bots. In theory, that’d make it easy to have an easy to remember URL and usernames, like !bgg@bot.pls or something. If I can get a URL that makes sense I might consider something like this. It’d keep it small enough to call, and make sure they’re always 100% intentional.

      This is mainly because I don’t want to be a source of annoyance for anyone, and I’ve seen too many people annoyed at the “natural response” bots that pop in all the time on reddit.

      If they’re on their own instance, a whole instance can block that instance if they don’t want bots, or block specific bots if they prefer.

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        Or even better - what if they need to request specific bots? That is: the bot needs human consent to act on first place. That means that bots will be only used if they’re clearly useful for the instance, community or the user, not just a “yeah this bot is annoying and adding noise but why bother?”

        • Geronimo Wenja@agora.nop.chat
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          1 year ago

          I need to do some experiments to find out what happens if a bot is tagged in a community they’re not subbed to. It may be that this is exactly what I can do - it’d be a request by a user, then the mod can ban it if they want. I don’t know whether I can do something where only a mod can invite, I’ll have to see if there’s anything that might help there

      • kopper [they/them]@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        mastodon already has botsin.space, depending on how well lemmy & masto interoperate (in theory they’ll be fine because AP, but these kinda things tend to mess up in practice. lemmy still doesn’t do authorized fetch afaik) hosting bots there & calling them from lemmy should work.

      • Evkob@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        That’s actually a really bright idea. Makes bots easier to identify, and easier to avoid if preferred.

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

        …wow.

        I just installed it. I was expecting something like "ah, it knows that a cup should be a certain amount of mililitres, but what if I ask it in grams? Then I put “1 cup sugar”, “grams”… and it returned 200g. It couldn’t find flour so I used butter, 226g. It works!

        Checking /usr/share/units/definitions.units, the devs had the insight to add a lot of cooking stuff to it. Also a way to define your own units. The syntax is an arse but I guess that the bot could handle it.

        This would be great as the “guts” of a really good conversion bot.

    • Neopolitan@lemmy.comfysnug.space
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      r/fanfiction and r/HPfanfiction have a fanfic link summary bot. you do linkffn(STORYID) or linkao3(STORYID) and it posts a summary. was useful.

      • Lvxferre@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        1 year ago

        I would have never guessed how to request the bot, if you didn’t show it. That’s another reason why I think that there should be a standard way to request bots, it increases discoverability. For contrast, Roboragi:

        • {this} looks for anime
        • <this> looks for manga
        • ]this[ looks for light novel
        • |this| looks for visual novel

        You probably wouldn’t guess it from the fanfic link summary bot either.

        I think that a simple common syntax that could be used is @!bot-name [options] [“]data to process[”], at least when users are requesting it regardless of community. It’s hard to hit it by accident, but still easy to type, and flexible enough to allow multiple bots to follow it. So for example:

        • @!fanfic-link-bot ao3 STORYID // looks for STORYID in Archive of Our Own
        • @!animanga-bot ln “story name” // looks for a light novel called “story name”
        • @!units-converter-bot grams “five cups of flour” // converts five cups of flour into grams
        • etc.

        Then if community moderators are allowed to call bots to perform functions automatically, without the user requesting them, they could also set up synonyms as shorthands. for example people in c/fanfiction could simply type “ffao3 STORYID” instead, less keystrokes for the same result.

          • Lvxferre@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            And you made me realise something: why the hell are the FanfictionBot, roboragi, wiki linking bot and the likes different bots, if they perform the same underlying task (provide link and summary)? We could have one bot to rule them all.

            (Sadly I know why. Because Reddit never bothered to provide users with functionality. So they developed this functionality in parallel, wasting their development time with unnecessary redundancy.)

    • Deebster@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      should only reply to posts/comments when explicitly requested to

      I assume you mean somelike like !remindme 4 days but then one of your examples is “half a cup of onions” and I can’t see your fictional American thinking to trigger the bot - which means someone would have to reply to that person to request a bot conversion.

      Similarly, there’s a music IDing bot on reddit that responds to human-language questions like “whats the song” which is 100% ok with me (and the users have always been pleasantly surprised from what I’ve seen).

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I can’t see your fictional American thinking to trigger the bot - which means someone would have to reply to that person to request a bot conversion.

        I think that they would, given enough community encouragement to do so; things like “OP, please add @!cookunitsbot to your post” go a long way. Roboragi in r/manga for example works well in this way.

        Alternatively, if my “I think” above is wrong: then “requested” could also include “explicitly set up by the mods”, not just “triggered by the user”. For me it already solves the main issue, that is bots chasing you across communities to boss you around or vomit trivia.

        Similarly, there’s a music IDing bot on reddit that responds to human-language questions like “whats the song” which is 100% ok with me (and the users have always been pleasantly surprised from what I’ve seen).

        Frankly I think that having a standard way to request bots is better for everyone (including the bot developers) than having it reply human questions. Even then, as long as it doesn’t do this thing outside of its own “turf” (music communities), it should be fine.

      • fruitywelsh@lemmy.ml
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        Tracking upvotes and good not/bad not replies is helpful feed back to, capturing that seem like a good idea