what features would you like to see in fedibooks?
things i'm definitely doing:
. customisable post frequency
. multiple bots
. bots learn from multiple accounts
. edit name, profile picture, etc. from fedibooks
things i'm probably doing:
. misskey support
things i'm not doing:
. patreon exclusive features
. different types of bots
the source code (what little there is so far, anyway ;3) is at https://github.com/Lynnesbian/FediBooks
here's the bot edit page so far, it looks pretty gross i know
are there any options that seem missing? there are some other options not pictured here, such as turning off replies, banning given words, or changing the profile picture
i don't want to overwhelm the user with options but i don't want it to be too limiting either
this is by the people (henlo) for the people (you!) so if there's anything at all you'd like to see, let me know!
what do you want in an ebooks bot? what annoys or disappoints you about the current ones? if you could program, what custom functionality what you give your own one? what do you like or hate about webapps (like mastodon and gmail) that could apply here? what is your favourite breed of rabbit?
the more hardcore lynnesbian fans may note that fedibooks looks rather similar to curious greg (no not , i mean https://cg.lynnesbian.space)
i did take inspiration from that design, which in turn took inspiration from mastodon's web UI. however, i made a few changes, most noticeably to the buttons, to give it its own unique identity. i also decided to go a little bit brutalist (and i really do mean a little bit) by leaving everything with sharp, square edges, flat colours, monotone icons, and so on.
who says programmers can't design frontends?
you may also notice that fedibooks used to be a different project. i've abandoned the old fedibooks and moved to this one instead. in retrospect, the old fedibooks concept was way too ambitious. it was around the time i was considering how to create a simple UI for displaying complex decision trees that i realised i was in too deep.
if you can't wait for fedibooks and really want your own bot now, you can try following the mstdn-ebooks setup guide: https://cloud.lynnesbian.space/s/jozbRi69t4TpD95
i've tried to make it as easy to follow as possible but it's not exactly intuitive
why create fedibooks? (long)
I've been working on ebooks bots for a long time. My first project, mstdn-ebooks, dates back to October 2018. It's a much less ambitious project than FediBooks, but maintaining and developing it has still been a formidable undertaking. It's changed a lot since the initial version, and has worked very well for a long time.
Using mstdn-ebooks is nowhere near as easy as using FediBooks. There's a long guide you'll need to follow, and you'll have to install some programs like Python and possibly Git to get working. It runs on your own computer, meaning that if you put it into sleep mode, it stops working. Updating it to the latest version is also your responsibility, and the error messages it gives aren't exactly user friendly.
To help with this issue, I decided to create a Patreon where I offered a $2.50 per month tier to host up to three bots for you. I would take care of configuration, maintenance, updating, et cetera. This worked pretty well up until recently.
A new change in Mastodon and Pleroma adds something called authenticated fetches. Reffered to as "authorised mode" by Mastodon, this new feature prevents unauthorised instances and programs from accessing the API. In other words, if instance A blocks instance B, then instance B won't be able to see instance A's public posts anymore. However, this also means mstdn-ebooks can't see your posts. This can be fixed, however, by requesting permission from instance B. So what's the problem?
I would need to ask every single person I run a bot for to click a link I send to them, and then send me back the authentication code they received. This is messy and annoying, and greatly tedious. Furthermore, mstdn-ebooks' code base is starting to show its age (I used to be even worse at programming, believe it or not), and I thought this gave me a good motivation to create a new project.
When FediBooks needs permission from instance B, all you need to do is click "authorise". No copy and pasting codes and sending them in a Patreon DM. This is much cleaner and easier for the end user, which is what this is all about!
FediBooks is one of the biggest projects I've ever taken on, and it's been wonderful working on it. I hope you enjoy it!
hmm what if someone tries to make a bot that learns from someone with #NoBot in their profile
when you ask me a question like "why pour all this time and energy into creating a free service" the answer always boils down to "i want to make people happy"
that's all there is to it really. my current dream job (not that i'm really capable of working) is a computer science lecturer, because i've seen how dry and boring compsci lectures are and i think i can do better. i want people to learn and have a good time doing it!
if i'm making other people happy, i'm almost always happy! i just need to remember to not let that get in the way of my own health.
looking over this SQL is writing is making me feel very Powerful
i could change fedibooks to only allow one user per instance and all it would take is a single word
i could cause privacy issues and wasted disk space by just deleting one rule
i could change a single column's data type and break pleroma compatibility
- I want randomly generated posts using a specific source.
- Occasionally they can be a bit too nonsensical here and there, and adjusting their frequency can be a bit weh. Also wish I could customize 'em more easily
- Honestly dunno. Some ideas I have are a poll to adjust posting rates, or using the time delay between posts to think of a better AI-related solution other than Markov Chains
- honestly the UI, that's basically it tbh
- lynne
@calm me??
@lynnesbian ye
@calm also having something better than markov chain text generation would be great, but i don't know of any other options besides machine learning, which isn't really feasible
@lynnesbian there could be some other kind of procedural generation as well, hmm
@lynnesbian i want the bot to tell me it loves me and I want to believe it is being sincere.
@lynnesbian I want the bot to feel existential despair. y’know, to take up some of the slack.
@lynnesbian The "hide media" button covers the first two letters of "class", so it's 'ass="large"' for me
@lynnesbian lynne i am legit excited, this looks like a super cool project
@burgin thank you so much 0u0
@lynnesbian the_disappearance_of_hatsune_miku dot mp3
@lynnesbian the analysis loop.
@lynnesbian are you using an ORM lib, or just sql-ing directly?
@halcy oh i completely forgot about ORM
i'm just using mysql.connector and writing the SQL myself since i'm fairly familiar with it and the queries shouldn't be too complex
@lynnesbian hhh fair yea
@lynnesbian oh no, it can only support more than half the world's population
@autistikai @lynnesbian hmm that's assuming one account per person. i have like eight alts, but imagine if the womenarestupid guy got a hold of this lmao. still a lot of capacity, like holy shit
@burgin @autistikai i can actually make it a lot higher than 4bn by changing the column type from INT to BIGINT but it doesn't really feel necessary ;3
@burgin @lynnesbian yeah but that's assuming at least one account per person. most people probably aren't doing ebooks of themselves
@autistikai @lynnesbian most people aren't even on mastodon! imagine, honestly
@lynnesbian
Mods are asleep. Connect your accounts
@lynnesbian "ID (varchar PK)" is wisdom.
@benhamill did i do it wrong?
@lynnesbian Nono. I mean a less experienced Ben would have made all my ID primary keys ints (or some number), but now I have realized that IDs should almost always be some kinda string. It is _incredibly_ more flexible.
@benhamill ohhh, right
@lynnesbian why is there a contacts settings table? why isn't part of the user table? just curious :)
@21stio you're right, that doesn't really need to be a separate table
i'll merge the two together
@lynnesbian I think that's a good move, will simplify things.. as far as I know there are barely any good reasons for 1:1 relations other than performance enhancements in some edge cases
@lynnesbian That's awesome dude. I've always enjoyed people who love their subject and know how to communicate it to others.
@lynnesbian the economy needs to be like this!
@lynnesbian also can you point me to what an ebook bot is? Sounds pretty interesting.
@acdw it's a bot that learns from your posts and then makes posts "simulating" yours, in the same way your phone keyboard can predict what you want to type
@lynnesbian That sounds amazing!
allowing users to get their bot to post once every five minutes is probably a bad idea, right