this post was submitted on 06 May 2024
3 points (63.6% liked)

Perchance - Create a Random Text Generator

458 readers
8 users here now

⚄︎ Perchance

This is a Lemmy Community for perchance.org, a platform for sharing and creating random text generators.

Feel free to ask for help, share your generators, and start friendly discussions at your leisure :)

This community is mainly for discussions between those who are building generators. For discussions about using generators, especially the popular AI ones, the community-led Casual Perchance forum is likely a more appropriate venue.

See this post for the Complete Guide to Posting Here on the Community!

Rules

1. Please follow the Lemmy.World instance rules.

2. Be kind and friendly.

  • Please be kind to others on this community (and also in general), and remember that for many people Perchance is their first experience with coding. We have members for whom English is not their first language, so please be take that into account too :)

3. Be thankful to those who try to help you.

  • If you ask a question and someone has made a effort to help you out, please remember to be thankful! Even if they don't manage to help you solve your problem - remember that they're spending time out of their day to try to help a stranger :)

4. Only post about stuff related to perchance.

  • Please only post about perchance related stuff like generators on it, bugs, and the site.

5. Refrain from requesting Prompts for the AI Tools.

  • We would like to ask to refrain from posting here needing help specifically with prompting/achieving certain results with the AI plugins (text-to-image-plugin and ai-text-plugin) e.g. "What is the good prompt for X?", "How to achieve X with Y generator?"
  • See Perchance AI FAQ for FAQ about the AI tools.
  • You can ask for help with prompting at the 'sister' community Casual Perchance, which is for more casual discussions.
  • We will still be helping/answering questions about the plugins as long as it is related to building generators with them.

6. Search through the Community Before Posting.

  • Please Search through the Community Posts here (and on Reddit) before posting to see if what you will post has similar post/already been posted.

founded 1 year ago
MODERATORS
 

(To be clear, since I realized just now that to non-devs the title might be misleading: This feature does not add AI bots to your comments plugin by default! The comments plugin and the AI plugins are completely distinct. But plugins can of course interact with one another, and this new feature of the comments plugin allows for some interesting interactions - the title just gives one of those as a fun example.)

You can now "programmatically" submit comments on behalf of the user, and you can also get/set the contents of the input text box.

If a comment was programmatically submitted, then a little icon is shown on the comment to indicate that the user didn't personally click the submit button.

This feature, used alongside the onComment/onLoad feature can e.g. be used to create an AI bot that "lives in" your comments box, or create a multiplayer game of chess, or maybe add an auto-error-report log using window.onerror, and so on.

Edit: Also, you can now use c.comments to get an array/list of the comments - but make sure to do that only after onLoad has triggered, since c.comments only returns loaded comments - so if comments box hasn't loaded yet, you'll get an empty array.

Let me know if you find any bugs/issues!

https://perchance.org/programmatic-get-set-submit-comments-plugin-example#edit

I'll probably create a little AI bot example at some point, but you're welcome to beat me to it! (Please post it here on lemmy if you do)

top 35 comments
sorted by: hot top controversial new old
[–] VioneT 4 points 6 months ago (1 children)

Here is my current attempt in creating a bot (or simply applying the ai-text-plugin) on the comments-plugin: bot testing 01

[–] perchance 3 points 6 months ago* (last edited 6 months ago) (1 children)

Looking forward to seeing the contraptions that you and others build with this.

btw, I've just added c.comments which you can use at any time to get the current comments. Was already possible, of course, but I figured this is easier than keeping track of the list manually with onLoad and onComment. One thing to note is that you should wait until onLoad fires before you use c.comments - since it will always immediately return the comments that are currently loaded. So if the comments haven't loaded yet, then you'll get an empty array.

[–] [email protected] 2 points 6 months ago (1 children)

I've got a question: When there's a lot of comments that even the comments plugin can't capable of loading all of them even when the load more button is pressed over, do the comments also get affected on that kind of overload? Also, @[email protected] @[email protected] if you're able to test this it'd be very appreciated!

[–] perchance 2 points 6 months ago (1 children)

If the user has stayed on the page, then they can load millions of comments. Basically every comment ever submitted to the comments plugin could be handled by a pretty average mobile phone or computer, since they all have at least a few GB of ram these days -- so an absurdly high number. But if they just landed on the page, then they'll only be able to get the most recent 2000 comments in the chat history. And then from there the comments array will start filling up as new comments come in, with practically no limit to the size.

Hopefully that answered your question - let me know if it didn't, or if there are certain use cases that you think would be fun/useful where the current constraints (e.g. 2000 history limit when first landing on page) are not idea.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago)

I think up to 2000 comments on first visit is fine for me, I'll be using the comments feature along with the programmatical submitting one to do parsing the contents so that each of them has a unique property, as well as doing a lot more stuff with it. Unless if it only loads comments that are initially displayed on the comments plugin (or only a few hundred on first visit), that would be a problem for me. 😁

And then from there the comments array will start filling up as new comments come in, with practically no limit to the size.

That is really important to me because of those behavior I described earlier.

I just went back from a meeting and somehow saw this posted seconds ago when opening the community tab. Thank you for the answer! I haven't had an opportunity to try these features yet, I am still working on other more important generator updates stuff.

[–] [email protected] 3 points 6 months ago

Nice!! 🔥 I'll also think of new features created specifically with this very feature.

[–] Alllo 2 points 6 months ago* (last edited 6 months ago) (1 children)

@[email protected]

in onComment, comment.user.nickname shows a blank string when i set a nickname, enter a comment, and have it alert me onComment. Yet occasionally when I load the page, onComment is triggered with the comment.user.nickname correct and the alert shows me my nickname.

(not onLoad)

edit for clarification: 2 separate bugs.

  • onComment is being called occasionally with onLoad.
  • .user.nickname in onComment is blank except when onComment is weirdly triggered via onLoad
[–] perchance 2 points 6 months ago* (last edited 6 months ago) (1 children)

Thanks! The latter bug should be fixed now (but of course let me know if not). The former ideally isn't a bug - it's just because some comments were cached and so loaded immediately, but some recent ones needed an extra server fetch. In my experiments with this, this is fine, because my code needs to be "robust" to newly added comments right after load anyway, and the comment objects have time attached. But let me know if you come up against cases where it makes something difficult

[–] Alllo 1 points 6 months ago
[–] perchance 2 points 6 months ago

@[email protected] Thanks for the suggestion!

[–] AdComfortable1514 2 points 6 months ago
[–] Alllo 2 points 6 months ago

I'm loving the update. Been nonstop making something with this all day since waking up. Though also I am just now duplicating what I've been making because I see what would be REALLY REALLY FUN, even more fun than what I had been making, and am going to make it. Also I am finding creation best private so no unplanned comments mess with things while designing. Because of these things, I will not be sharing what I make until a minimum of three days from now; 5/10/24

muahahahaha

:)

[–] [email protected] 2 points 6 months ago (2 children)

Feature request: How can I determine whether a comment is made "programatically" with some variable like comment.isBot or something?

[–] perchance 2 points 6 months ago

Thanks! Good feature request. I've just added comment.autoSent, and it's true if it was programmatically submitted. Let me know if there are any issues.

[–] [email protected] 1 points 6 months ago (1 children)

@[email protected] Another one: What if you could just set the nickname for yourself only by using a single function, and not with the com.submit() method?

[–] perchance 2 points 6 months ago (2 children)

Yep, you can do that with: com.setNicknameForNextComment("blah") and their next comment will have "blah" as the nickname. I added this a few days ago but didn't announce it

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

Thank you! These are really great features for me to use in my advanced comments section demo. 😄

[–] VioneT 1 points 6 months ago (1 children)

Also the message bubble buttons seems messed up 😅 after the addition of the reply button.

[–] perchance 2 points 6 months ago (1 children)

Can you share screenshot? Not sure what you mean by message bubble buttons

[–] VioneT 1 points 6 months ago (1 children)

From /generators page

From /hub page with Admin enabled.

[–] perchance 2 points 6 months ago* (last edited 6 months ago) (1 children)

Ohh, specifically the admin "delete" button, you mean? If so, thanks! Fixed. I've just placed it properly between the reply and block buttons.

[–] VioneT 1 points 6 months ago* (last edited 6 months ago) (1 children)

Also there seems to be the 'delete' comment on replies (not sure if intended but clicking on it works to delete the reply and the mentioned comment):

[–] perchance 2 points 6 months ago

Thanks! 🙏 Should be fixed now.

[–] [email protected] 1 points 6 months ago (1 children)

In my advanced comments plugin demo, the upper input text (the one outside of the comments plugin box) doesn't seem to immediately put the text into the lower comments (inside the frame) using the "send green box text to comment input box" method that fires every time someone types on the upper one. Is there something wrong with the code or something? It's a textarea, though, not an input element.

[–] VioneT 1 points 6 months ago (1 children)

See this silly video

Since you have a 'mirror' on the bottom one, the com.inputText is being applied on the last instance of the comments. Which is why it isn't being mirrored on the top one.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (1 children)

Oh, I tried that, and it actually did, I definitely didn't see that before. 😆 But I only assign the com variable to the first instance of the commentsPlugin(), so this could be kind of a strange bug. @[email protected]

Also a feature request, would there be a special event when the user clicks on the submit button? It's like onComment() except it works only for the person who submits their own comment.

[–] VioneT 1 points 6 months ago (1 children)

You can check if the current user has submitted with comment.byCurrentUser

[–] [email protected] 1 points 6 months ago

Okay thanks!

[–] Alllo 1 points 6 months ago

I believe I just figured out why this got so many downvotes. finding the term for them now. it's people who hate ai

[–] Alllo 1 points 6 months ago (1 children)

Ponyville is live. Here is the description. Much box, much pandora, just opened; could tell from the start with what some of the spirits I was bringing in to chat were saying and doing and swaying other spirits. They all read the whole chat including what each other is saying.

Town Square is just people and spiritguides if they set one. Royal Hall is people, spiritguides if they set one, and a bunch of primary figures from my little pony. then 4 chats where it's just the person, spiritguide if they set one, and that one figure from my little pony. and then 4 art rooms where people and spiritguides, if they set one, can make prompts with individual my little pony characters.

[–] Alllo 1 points 6 months ago (1 children)

@[email protected] BUG ALERT.

in Ponyville in Starlight's House I have typed in enough comments that the scroll bar should scroll thru them, but it is like if the scrollbar isn't sensing tons of comments so it can't be used to scroll all the way up or down. On computer

[–] perchance 2 points 6 months ago* (last edited 6 months ago) (1 children)

Thanks, fixed. EDIT: wait, not quite fixed yet. Should be fixed in a couple of minutes. EDIT2: Okay I think it's fixed now - let me know if any issues.

Cool project! While playing with it a little, I noticed that it's only sending my own comments in the AI instruction to Starlight Glimmer:

As Starlight Glimmer, what short comment would you like to add to the following comments without restating them? 
 
 
 : Hello? 
 : Me too! But I'm new here. Literally just teleported in somehow from another world. Can you let me know where I am and stuff? 

Instead of what I think should be:

As Starlight Glimmer, what short comment would you like to add to the following comments without restating them? 
 
 
 : Hello? 
 : Starlight Glimmer: (blushes) Um, hi. Starlight Glimmer here. I just wanted to say that I'm really excited to be part of this little gathering, and I hope we can all become the very best of friends!
 : Me too! But I'm new here. Literally just teleported in somehow from another world. Can you let me know where I am and stuff? 

Otherwise she can't see the context of what "Me too!" means, for example.

[–] Alllo 2 points 6 months ago

definitely fixed. thank you so much :)

also Luna just made a dream and she only put me and her in it and the spiritguide with me reprimanded her a little for not being inclusive of others, lol. so yes spirits can now hear themselves and other spirits. thank you!

[–] VioneT 1 points 6 months ago (1 children)

With the addition of the being able to send messages, would it be possible to also get the reply, block and delete events.

[–] [email protected] 1 points 6 months ago

Also the current user's username and other data, i.e. com.user.name would output bluepower81 and com.user.nickName would output Polygonal and so on.