this post was submitted on 28 Aug 2024
2 points (100.0% liked)

Perchance - Create a Random Text Generator

408 readers
15 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
 

hi. nuublet here.

`let x = "PerchanceListA"

[x]`

how do i have it retrieve PerchanceListA instead of a list named x?

I bet it's something simple like some evaluateScript thing but i don't know because I'm a noob :)

top 8 comments
sorted by: hot top controversial new old
[–] VioneT 2 points 1 month ago* (last edited 1 month ago) (1 children)

It should retrieve the list directly with:

// Perchance
PerchanceListA
  a
  b
  c
***
// HTML
<script>
let x = PerchanceListA
// if you want a more 'understandable code'
// let x = root.PerchanceListA // since all Perchance lists are under the 'root' variable.
// also with this, you would overwrite the value of list 'x' if you have one.
</script>
[x]
[–] Alllo 1 points 1 month ago* (last edited 1 month ago) (1 children)

ty tho maybe i missexplained.

let xx = "Bright"; alert(root[xx])

in normal javascript, this would access root.Bright. (interesting about 'root'. didnt kno that)

The above is what I'm trying to do. I have the word for the name of the list on a variable. Hao access list from variable?

I have the variable xx storing the string "Bright". Hao maek alert say a list item from the list named "Bright"?

[–] VioneT 2 points 1 month ago (1 children)

For example on the /minimal generator we have the list:

listnames
  animal
  adjective
  verb
  location

then on the javascript:

let x = listnames; // you can also use listnames.selectOne, if you only want it to have a single item and you have to reload the page to randomize it again.
// This would get a 'random' value from the `listnames`.
alert((y = x.selectOne) + ':' + root[y]);
// would give a random item from any of the list 
[–] Alllo 1 points 1 month ago

Thank you! the root thing worked. turns out i had a capital letter where there shouldnt have been one and that's why my list wasn't being translated from the string correctly. silly and my fault and nothing about language. thanks for the help tho!

[–] wthit56 2 points 1 month ago (1 children)

Don't have the quotes, and it will retrieve a variable by the name perchanceListA. So then referencing x will reference whatever value perchanceListA had.

Where are you putting the code let x...?

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

edit: oops. was cuz i had a wrong capitalization of a list lol. totally my fault and nothing to do with language syntax! :) thanks. very much works

what i had typed about the specifics before solving

you and vionet so smart but i think none of those work for this.

i have my style buttons that i want to be like, for the Bright style for example: <button onclick="genimgs(this)">Bright</button> a little more complicated but basically a bunch of buttons exactly like this, but with different stylenames, all pointing to genimgs(button)

genimgs(button) is then, in it's simplified form, this: `

function genimgs(buttonobject){

let promptData = {

prompt: prompt + " " + root[buttonobject.innerHTML],

negativePrompt:"bad",

resolution: 768x512,

guidanceScale: 7,

seed: 100,

}

document.getElementById("imgs").innerHTML = image(promptData).evaluateItem

}

`

in genimgs, buttonobject.innerHTML does indeed equal "Bright". So I want it to pull a line from the Perchance list called Bright, like the Anime button should go to this function, be translated in to the string Anime, and pull a line from the Perchance list Anime. But see how I can't just type out the word Bright or Anime with no quotes like you and vioneT suggest. It is a string I am getting from a button. It could be tons of different strings. I then need to convert the string in to it's relevant Perchance List. I believe, in normal JS, if root.Bright were my list, root[buttonobject.innerHTML] would retrieve it since in normal JS they are equivalent. But not here and nor do I know the Perchancian way to do it.

[–] wthit56 2 points 1 month ago

That should work just fine. But I think you need to use $root to access it. Because JS and everything all use with(root) { ... }. Which means if you use just root you're actually accessing root.root--which I'm guessing doesn't exist. And that's why you're not getting any value.

But $root always goes back to the root of the perchance main list object. So that might work for you.

If it still doesn't, you can give us the link to the generator and we can look at the code for you and figure out a solution.

[–] wthit56 2 points 1 month ago

Oooh, sorry I understand your comment now. Glad you got it working 👍