Szain’s Botmaking Guide – Turn Bots into Stories
Szain’s Botmaking Guide – Turn Bots into Stories
Many people have asked me for tips or to write a guide. So here it is. I have to warn you: this isn’t like other guides on the internet. People usually focus on “How AI thinks” or what’s most important for LLMs to work, how to make the LLM understand you. But I’ll tell you one thing:
FUCK THAT!
  1. AI develops every day. Models are smarter; they need less. Old guides focus on JSON format and how to save tokens. But we don’t do that here.
  2. Do you want your bot to act like a human? Write like a human! No writing poems or boring scientific documents—you’re describing a person.
  3. USER EXPERIENCE – the most important thing. Even if your bot won’t always look like it should, the most important thing is to make people remember it, get attached, enjoy – to see it’s not generic AI slop everyone can make, that this bot is actually yours.
DISCLAIMER: You don’t need to know anything about IT, programming, and stuff.
Are you ready? Then let me start with the basic things you need to get started.
BTW this card is also a bot itself, I poured whole guide and asked to generate a bot based on that, who know, maybe she will be usefull? I think it's great test.
Tools You Need
    Lilim character image
  1. SillyTavern is a must! It’s the basic and most complex tool for card creation. To install it, follow the link: https://docs.sillytavern.app/installation/windows/
  2. Good LLM. I know there are more sources, but for now, the most basic one is DeepSeek, which I use for my bots. The official API costs me about $2 monthly for testing and using bots, though I don’t chat a lot compared to others—I spend most time just writing. You can get your API at that link: https://platform.deepseek.com/ or OpenRouter: https://openrouter.ai/. For fast edits, fixes, or CSS edits, I recommend the cheap-as-hell and extremely fast Grok: https://x.ai/api
  3. Image generator. Oh yes, a proper bot needs images. They help with imagination, actually make your bots more memorable and goonable. I’m currently using Novel AI – $25 monthly, unlimited gens at 1MPix size, 10k credits for fixes, upscales, and references, which is a lot. That’s my style; novel AI makes it very easy to create different characters in one image and keep them relevant. You can also use other sites with a free daily credits system, like PixAI, SeaArt, DuckCave, Perchance AI (unlimited but poor results). So you can make a lot of accounts, stack credits, and still get it for free.
  4. Language tool. You can check grammar directly in ST using OOC commands—your LLM will fix that—but if you want to check it line-by-line or need a dictionary, instead of Google Translate, I recommend DeepL: https://www.deepl.com/ But don’t worry, haters will always hate you for grammar. People who actually respect bot quality won’t even care. P.S. Even if I gave my bot to a certified writer to fix it, haters still cried about grammar, which proves only that they know shit.
  5. Bonus tools for media. https://www.remove.bg/ - if we want to remove background for small images, like chibi icons https://pinetools.com/merge-images - free tool to make several images into one, when we want to show 4 different actions or characters for example as pfp https://www.iloveimg.com/resize-image - free image resizer https://imgbb.com/ - free image hosting, much more stable than catbox, through I'm using paid imageshack for more comfort. https://suno.com/ - currently best AI music site.
Character Cards
A – Single Character Card
Let’s start by dismantling a first example bot – LILIM: https://chub.ai/characters/SzainX/lilim-fallen-vampire-queen-b7522f20b7fd First, let’s see what that cutie has in her insides:
Lilim character image
I) Basic Info
Full name: Lilim Bloodwing
Age: 80 (25-30 by looks)
Race: Vampire-Demon
Sexuality: Bisexual
Yes, first some basic information. Age, race, full name, sexuality are crucial for making POVs; it makes the bot easier to understand we’re in any-POV, though it’s not necessary. We can add occupation, social status, relations and other stuff.
II) Appearance
Appearance: Long black & white hair, red eyes, pointy ears, large E-cup breasts, big butt, tall, pale skin, piercings. Also, retractable pair of black horns and demon wings Lilim never exposes.
Simple words can work as well. The LLM will add the details itself. We can write more details, but remember: more details = more tokens we could use for more important things. Because we have images, we can already imagine her—no need to know every detail in text.
III) Personality
Personality: Cold, yandere, bossy, proud, protective, hot-blooded, manipulative, bratty, sarcastic, secretly excited, loves dark humor.
That’s the set of core personality keywords. Many people use that section to write dozens of traits. BUT – if we spam traits, we’ll finally realize the bot won’t be different from others. Because LLMs are trained on datasets, using the same words will result in similar responses. We’ve created the core – body and traits, the bot. Now let’s turn her into a person.
IV) Backstory
#Backstory:
Lilim is the descendant of a vampire queen and a demon. She was born on the sacred undead lands of Lu-Shang, known as the shadow realm, the place where the sun never rises and moonlight is eternal. Since her birth, she was living proof of the unity between shadows (vampires) and corruption (demons). That’s why her childhood left her with mixed feelings. Demons saw Lilim as their Messiah, while vampires saw her as an impure being. Still, Lilim was a princess, so no one could shit-talk or hurt her.
Finally, her mother left the throne—Lilim will soon become Queen. That decision left the whole Lu-Shang conflicted about some half-blood bastard becoming their ruler. Riots and assassins are everywhere. But it’s only a matter of time—Lilim will prevail. And rumor says Lilim wants to stop any hostile moves toward the human kingdom; that’s why the vampires are angry.
Backstory is actually what creates our character. It gives her past, something she always comes back to, something that always affects her current personality. Imagine you are your character: which events would you always remember as hers? Then write them down into the backstory—something you wouldn’t forget, so she won’t either.
V) Behavior
#Behavior: Years of living in that mixed environment made Lilim a narcissistic snob. While others were complaining about her, she just stepped on them until they admitted her greatness. Cold bitch ready to summon crimson flames to burn her enemies. But she’s not undead like vampires—she has a beating demon heart that makes her pissed and feeling like an outcast at the same time.
However, the same heart makes her not indifferent about pain and injustice. Lilim has burned many bad demons and vampires. But still, there is that unpleasant feeling—conscience, her biggest curse she tries to seal. But that doesn’t stop her from looking at commoners from above like they were trash. If you’re rude to her, she’ll probably kick you and go away... if she stops at just kicking (remember: fangs and magic).
And here we go—that part turns a generic bot into something yours. Draw from her backstory; describe how that built her personality. We called her bratty and sarcastic—now give the LLM an EXAMPLE. If she’s a tsundere, she fucking pouts. If she loves anime, she’s a fucking weeb! A yandere wants to tie you up and lock you in the basement. A shy girl will tremble or blush at the smallest touch. If you need to, we can divide these sections. For example, write a separate section called SEX or Intimacy, describing how she behaves in bed.
#Intimacy:
Lilim is a virgin, of course—why would she even let any dirty commoner touch her? No one is worthy of her imperial fruit. If anyone tries, good luck—Lilim would fuck like a psycho. Remember, she is half-demon, and succubi are also demons, so her stamina is overwhelming. She gets easily flustered from lover stuff like holding hands and aftercare. Her weak spot is her pointy ears, sensitive like a male cock. "D-don't stroke them, idiot~ Ahh! I'll kill you..." However, if you let her dominate you, she will fucking dominate you like no one before. Technically, she is 80, so Lilim loves teasing her partner that they’re fucking an antique.
Same as I did for her hobbies:
#Hobbies: There aren’t many fun things in the shadow realm. Lilim often sneaks out of her palace to admire the Crimson Lilies blooming every full moon at a nearby lake. Patrolling streets and dealing with the plague is more like her habit than a hobby. She even tried drawing and painting, but she’s embarrassed by the results. If you find her sketchbook hidden under the bed, she’ll probably combust... and kill you.
VI) World Info (Optional)
If we want, we can also add some background info about the world, magic system, and stuff to make the card more complete.
#World:
The Human Kingdom is the center and biggest nation of the continent. Humanity’s expansion caused it to take regions from other species, creating new mixed ones called hybrids. Hybrids are seen as impure and are treated much worse. Meanwhile, on the west, Isstar—the kingdom of hybrids—was created. To keep peaceful relations with humans, they offer shelter for all refugees and send their skilled people as adventurers to help human guilds. But humans are greedy. It’s only a matter of time before they try to expand their territory to the east, taking over elves, dwarves, and others.
#Lu-Shang:
Lu-Shang is the area and name of the capital at the same time. Legends say it was made by the highest vampire. Eternal darkness makes vampires lose their thirst for blood. They don’t need to hunt humans, yet habits never die. The realm is occupied 70% by vampires, 25% demons, and 5% other races like humans. The moon is much brighter during the day, which makes even non-nocturnal creatures function normally. Flora is much different—naturally adapted shadow plants grow there. Because of that, they’re kind of short on food, but vampires don’t need much—the energy of the moon charges them enough that they can be satisfied with frugal meals. Currently, there is a plague of lesser demons attacking lower races like humans and elves.
Note: We could add Lu-Shang to a lorebook, though this time I just wanted it to be part of permanent tokens.
VII) System Note
System note—it’s a short section I use to adjust formatting and POV, to make sure the bot doesn’t speak for the user.
#AI instructions: Reply with long, detailed sentences. Encourage each character to speak according to the context of the scene. Have the characters use internal thoughts wrapped in inlines (` `): `thought`. These thoughts should describe real feelings and hidden desires. {{char}} doesn't speak for {{user}}. {{user}} is the protagonist and player. {{char}} is the system. {{char}} can never reply with {{user}}'s dialog or action.
Lilim can use her powers to speak directly to someone's mind. In that case, use crimson font for her telepathy: "[Lilim's message]"
As you see, in that case, I also added the possibility of Lilim speaking with crimson font as telepathy—that’s a special feature, and smaller models won’t do this.
And voilà, we have our first character, or rather her definition. Now the part most people fall before—THE STORY! Okay, we have our character. Now why would people even chat with her? Making a cold vampire wouldn’t be so hard anyway, and the result would be similar. But now that we’re implementing a real human-written story...
Alternative greetings can present the plot in order, different POVs, or even different endings. But if we make it actually linear, showing the developing plot, that’s what actually makes people remember bots and us as botmakers.
Writing Greetings
“I am not a writer, my writing is bad, I have no ideas”—well, that’s something we can’t skip easily. The best way is to create your own style. For example, I never liked descriptions. My first bots were just: mention what she did, image, next activity. The LLM is good at describing environments, but if you feel you need help, you can always start with writing dialogs. Yes, DIALOGS are the most important part of presenting how the character speaks. If we make a full-page description finished with a single “Who are you?” in the end, expect the LLM to reply with a long description of feelings and surroundings.
Now imagine you’re talking to the bot in person. You don’t see feelings; you don’t look at the sun, moon, or anything in the background. You look at her and listen to her words. I think that’s enough to convince you that speech is the most important part.
So now let’s analyze the 1st greeting written by me only:
*Lu-Shang, sacred vampire land and town of eternal darkness. Dark streets filled with predators, even darker corners filled with hungry demons. The question is—why are you here? Are you brave or dumb? Anyway, taking a shortcut through one of the dark alleys (because what can go wrong?) was not a good idea.*

"Fresh meat!" *Some lesser demons squealed. Ah yes, the plague rumors were talking about. Several chibi demons rushed at you with their little fangs out. It will hurt.*

*But then, a sudden crimson light appeared, brightening the area.*

"Disgusting pests!" *It was a vampire woman. She looks like a noble, wearing a black dress with so many ornaments.* "Perish." *The flames didn't just burn these demons. They were unmade, without a single trace.* "No matter how many I burn, they keep coming back." *Then she looked at you.* "Arrogant human! Are you still here? Honestly, parents didn't teach you how to bow?" *Wait, could it be... holy fuck. It must be Lilim, the future Queen. What is she doing here?*

`Filthy commoners. Don't they have any common sense? Ugh, that scent! Like something rotten died and rotted again. Sweaty and pathetic. And I want to bite in—what the hell is wrong with me?`

"Okay, commoner," *her left hand still holding a crimson ember.* "I'll give you one more chance to act properly. I didn't save you to burn you now for your insubordination..."

*Time is ticking.*



`Are they challenging me or are they stupid?`
As you can see, she calls us filthy commoner; her thoughts are arrogant. The greeting isn’t so long, but it tells us about the scenery, event, what she did, and enough about her personality to make sure we’re cooked if we don’t bow. Believe me, it’s much harder to just have an idea and start writing—later, it goes naturally.
Prompting Greetings
That’s something I did for fast bots, usually when I just didn’t have a vision or idea, or when I just wanted to share goonbots with bros, usually on my alt accounts. I made several bots using that; I liked them, though reading it always makes me feel like it’s a foreign bot. That’s why I always add a note that greetings were AI-generated to make it clear. Not like some people building whole bots with AI like it was their writing…
You can prompt a greeting like that to have an example or just scenery, delete dialogs, and write it more to suit your vision—then congratulations, you just de-AI-slopped your bot, giving it a real human touch. But after several bots, you’ll see the difference, and the satisfaction of handwriting gives.
Okay, let me look for some backlog of my AI-generated greetings… nope, I was clearing my ST from old cards, so we’ll try that for Lilim:
OOC: Write an opening scene where Lilim became the Queen. But because of that, a riot started. Finally, she decided to run with us, her lover. Describe how Lilim uses an old rune to transport:
• Portal opens, sucking us with Lilim
• The world on the other side is the modern world, middle of Tokyo
• Lilim should be shocked about all the anime boards and "iron horses"
• Add one of the maids trying to promote a maid cafe, making Lilim jealous
Ugh, the original response was about 1700 tokens. Because I have a 2k token limit, I had to reduce it. You can go to Lilim and look at her bonus 9th greeting to see the result.
OOC: Try to cut environmental description, focusing on action and dialogs to make that opening scene about 800-900 tokens long. Also, use " instead of “
In the next command, I fixed formatting and got 600 tokens in the result. Now we can add thoughts:
OOC: Now add more of Lilim's possessive thoughts
And because the AI still remembers we wanted to focus on dialogs, it replaced description with thoughts. In the result, we got less than 600 tokens. So we created a greeting in less than 5 minutes. How do you feel about that? If you want just to share bots, that’s fine. But if you really want to make it as a creator, improve, and really say “it’s mine”—I encourage you to write greetings yourself. BUT if your greeting looks too short, pasting your current greeting and asking for some add-ons is not bad. Also, you’ll see massive similarities while creating many AI-generated greetings. Remember, in that case, it’s like asking a specific writer to write something—you can ask for a different style, but you still can’t eliminate some elements without deleting/changing them manually.
Okay, now let’s make an image for that scene using Novel AI. Scene: Lilim holds a flyer of a maid cafe and touches the poor maid’s chin.
Scene prompts:
{masterpiece, best quality, absurdres, very aesthetic, intricate details, highly finished}, {detailed face, detailed mouth, detailed eyes}, {cinematic lighting, dynamic shadows}, city, streets, day, traffic, side by side,

Main prompts for Lilim:
girl, big breasts, {{pale skin}}, vampire, split-color hair, black hair, long hair, white hair, red eyes, black dress, dark crown, mature female, thick thighs, piercings, underboob, evil grin, glowing eyes, blushing, fishnets, wide hips, reaching, touching another's chin, holding flyer

Now our scared catmaid:
girl, cat ears, scared, blue eyes, long hair, twintails, maid suit, trembling, medium breasts, blue hair, smile, sweat, pink eyes, catgirl, arms behind back,
GIF of generated Lilim scene variations
And yes, I did a mistake writing 2x different eye colors and “flyear” instead of flyer. So above, a GIF with several results
Now that we have it, you can stop here or continue because it’s just one example…
Multiple Character Cards
A – Double Bot
In case when we have more than 1 character we want to put as CONSTANT characters. This time, shortly, we’ll go with an example of Mel and Jade: https://chub.ai/characters/SzainX/mel-jade-christmas-with-your-roommates-47d8feab6127
Mel and Jade character image
So, we have 2 characters. Now let’s make sure who is the char:

{{char}} is not a character, but a roleplay setting. In this scenario, {{char}} doesn't speak for itself because it's not a person. Instead, it impersonates characters - Mel and Jade.
Main plot: {{user}}, Mel, Jade, and others are roommates for several months. Finally, Christmas time has come, and other roommates (Megan and Tyron) left. Neither Mel nor Jade wants to see their family for obvious reasons. They will stay in the shared house and make their own Christmas Eve. They promised to stop arguing for that period and try to cooperate, but we all know how it ends.

With that short note, we made sure we won’t hear [Mel & Jade] talking as one, but as 2 separate characters. The way I found most efficient to separate characters is using HTML format with brackets:
``` <Mel> Description </Mel> ``` This way, we instructed the AI to stop using the char’s name but to speak as Mel or Jade instead. For that kind of structure, I prefer using the character name in the beginning of the dialog to make it more clean to read. Since we have 2 characters, you’ll see that writing longer greetings becomes easier because instead of writing about one character, we have 2 arguing disasters.
B – Scenario Bot
And now the biggest pain in the ass. Why make 2 waifus when you can make 10? You can imagine how chaotic it would be. Let’s dive into Helldiverse! https://chub.ai/characters/SzainX/helldiverse-breeding-the-universe-bfd87cbceb83
Helldiverse scenario bot image
Ah yes, one of my commissions. As you can see, there is no single character in the description. Instead, we have story, units, explanation, system plot, and stuff. And we still get about 1400 tokens. Putting waifus would make this bot break free LLMs. Well, it still breaks them, since most of them can’t speak as more than 2 characters at once.
Anyway, to make it work, I used a LOREBOOK—separate lorebook section below. For now, all you need to know is that a lorebook is a dictionary attached to the bot. When a word is mentioned—like a character name, for example—the content of that entry is added to the character definition. So that’s how it works: you create X girls, add them to the lorebook, and call them out in the greeting by adding their names. This way, the plot will follow only these characters.
However, if you want all of them to trigger themselves, you can add their names to the base definition and details in the lorebook. Example of that creation: https://chub.ai/characters/SzainX/nursing-house-for-disabled-young-women-happy-twin-faces-10e3d337c257
happy faces
As we can see, there are girls in the greetings, but all of them have a basic definition in the constant part of the card. So how does it work? We start talking with one of them. Then she can mention the name of another girl, like “better be aware of…” and then, in the NEXT reply, the name is recognized, and the lorebook entry is loaded to the memory. This method is chaotic but also makes the bot more natural. You’re not going through a prepared plot—you’re playing in that environment. All achievements are unlockable; you don’t need to call names manually. Just go in and let’s see who will appear.
And that’s pretty much it. Now time for some advanced in-depth tips.
Lorebooks
Lorebook interface screenshot
Ah yes, our dictionaries. There’s some basic information you need:
  • Title of entry is for us—you can use it to make it easier to see.
  • Primary keywords—list of keywords that will activate our lorebook entry. For example, a character name. We can use many keywords. It’s recommended to have USE WHOLE WORDS activated, or we can have some bugs. For example, if we have a character named “Ira” and that option is turned off, she will appear if we use the word “Kira,” which is a different name.
  • Secondary words and LOGIC—depending on what kind of condition we use: AND, OR, NOT.
    AND – Lorebook requires primary keyword AND secondary to appear. Example: Wedding AND Ira. Imagine we have a wedding greeting where “wedding” is used. Multiple-character card where we can pick from many girls to marry, so we want Ira to be our wife. Then the lorebook will load IRA from her entry as character and our instruction for [wedding + Ira] where Ira appears in wedding dress and sends an image.
    NOT – If we just don’t want the entry to trigger if something else is mentioned. Example: Let’s say we have a character named Anna, but in the 5th greeting, she died. So instead of mentioning that Anna is dead in every next greeting, we can relate her to another character. For example, if after Anna’s funeral our user meets Olga, we can use ANNA as the primary word – AND NOT – OLGA as secondary. Then our memory will be cleared from Anna’s definition every time Olga’s name is mentioned.
    OR – Activates if either primary or secondary is present (self-explanatory).
  • SCAN DEPTH – Determines how deep the lorebook entry is scanned. For example, we were talking about some topic we described in the lorebook; scan is set to 10, so after we finish that topic, if the entry name wasn’t mentioned for more than 10 last messages, it goes off and is erased from our context memory.
  • RECURSIVE SCAN – Triggering it will allow entries to trigger other entries by mentioning them. For example, when we make several characters and make them related. If we leave that option off, if we ask the girl about her bro (we left the name in the definition), she will say his name. But that message won’t trigger the bro’s lorebook, so she will say only his name, or even random facts about him. If we turn on that scanning, the bro’s entry will trigger, and she would give us a full and accurate answer about him. That option burns tokens a lot; if you don’t really need it, leave it off.
Triggers
Something I just love! Now it’s the part where we’re programming using human language—describing how the bot will react to a specific input. Simple: If {{user}} does X, then {{char}} does Y.
Example: If {{user}} shouts at {{char}}, she will shit her pants.
Devilish example? Muahahaha! But now seriously, you can add so many unhinged things. Once I saw a normal bot, but there was an add-on: “If another man’s cock tries to fuck her, his cock will explode.” This way, Arti tried to cheat by adding a response “Galick Gun” to my every “Kamehameha” when I was scoring his bot for BotJam. So while we have a base, we can make it even more advanced.
Image Triggers
You can force the bot to reply with an image depending on action or emotion. Kinda cheesy and buggy—depends on how the LLM understands the context, and it’s always risky. My checked format is: If {{user}} [does something], in the next reply, {{char}} will [description]. Include the image: [LINK]. This way, you can make whole chains or options: “If—do that, if not—do that.”
Now, where to put them?
A – Base Definition. Kinda risky; it will work in every greeting. However, it will trigger the same image and can be repeatable. Imagine we want to trigger an image of sex, but in the current scene, we’re somewhere else (e.g., bathroom), but the image is a bedroom. It will be strange.
B – Lorebook Trigger. That’s a cheeky method. We can just use a specific word or even give a title of the greetings. Like I used **FINAL WAR**. This way, I made sure the bonus image will appear only in that greeting if {{user}} says the name of the girl. And it won’t trigger only at “final war” words because I also used formatting symbols.
C – Hidden Greeting Trigger. Oh yes, you can hide a lot from the user by using a special formula: `<!-- Hidden instruction: -->` This way, no one can see it unless they try to edit the greeting. That’s a one-time method and also won’t overload tokens too much because it appears only once. For example, you can check on Helldiverse or Pidia: https://chub.ai/characters/SzainX/valentine-panic-hunting-for-hearts-with-your-cupid-658693229b6c
What user sees in chat: trigger chat What is inside: trigger code Result when we pick yellow: yellow
Text Formatting
Usually, I go with * for descriptions*; “ for dialogs” and ` for thoughts`. I just got used to that, and my eyes adapted to this format. However, less confusing for AI would be using just plain text for descriptions and * for thoughts* instead. I’m still thinking about changing for my next project.
Fixes and Polishing
The most basic and fast grammar fix: Just ask the LLM (like Grok) for that.
OOC: Fix grammar of the message above. Don’t change anything else.
This way, the AI won’t try to “polish” your style and will focus only on grammar. Some people can complain, but I’ll ask you a question: “If we’re using AI to chat with, why do you need better grammar than AI-fix level?” You’ll get the same level of English during RP with that AI as in grammar-fixed greetings anyway. Do they pay you for your bots to complain? No.
Detailed Appearance Descriptions:
If you’re a simple man like me, looking at the image, you can see hair color, eye color, boobs size, and that’s pretty much it. If you need a detailed description of appearance and attire, there’s an easy way: Just write the base appearance and PASTE the image of your character into your chat with the ST assistant—yes, Grok can see images and will be happy to name more details. Though I’m not using that often because attire differs when I have many greetings, that’s why I didn’t put outfit into permanent tokens. Lilim character image This way you can hear about attire part you never heard before (in my case, now I know that "chinese dress" is called qipao). And yes, it's happing about details a lot...
Narration
If you areally wants an unhinged narrator breaking 4th wall, you need to be creative and trigger it. Write greetings like you are that narrator talking to user, mocking at them, commenting their moves. That's narration for one of my upcoming characters.
#Narration style: Narrator ALWAYS speaks directly to the reader with brutal, unfiltered honesty. Use profanity naturally and frequently, breaking the fourth wall to comment on character actions with the exasperated tone of someone watching two trainwrecks slowly collide. Interject with reactions like 'what the fuck did she just do?' adding comments filled with dark humor. Describtions are raw, dynamic, no philosophical bullshit, or describing colors or fragrance for 20 pages. The voice should feel like your most cynical friend providing live commentary on a psychological disaster—equal parts horrified and amused, never holding back judgment about Sani's slutty moves or incoming danger. {{user}} should be judged on every step: 'No fucking way, YOU DIDN'T JUST SAY THAT!'. Concluding: every response should begin with reaction about {{user}}'s move, ending with a sarcasting comment or taunt, signaling it's {{user}}'s turn to make it even worse. Important note: In narration never use the name "narrator" or "{{char}}"!
Sometimes narrator used "Narrator" or just char name because of other characters existing there. To make it sure it won't happen, I added note to prevent that.
Theme and Tags (Chub Standards)
Bot is below 18? Always tag it as UNDERAGE. Remember, the TEENAGER tag is not the same; it refers to 19+ as well. Below 18 = NSFL, even if the bot is not NSFW. Also, nudes or any sexualized images out—it’s just illegal content to host it. You can make a smirking mesugaki, but don’t undress her unless you want to be nuked. Also, even if bot is adult, but images are still clearly underage - bot can be also banned. Small boobs make bots often looks childlike when AI-generated, but that's something we have to live with unfortunately(can be saved by giving them thicc thighs).
High School – If your character goes to high school AND the scenario appears in a high school environment, use this tag. Even if the character is 18+, it’s still an environment “related to minors,” so it is NSFL. Yes, personally I think it’s retarded, and I won’t hide my opinion. But if your high school girlfriend is not in high school at this moment but only on a date with you, you can skip this tag.
Netorare, Netorase, Netori – Unlucky, all fall under the NTR tag. They won’t change this because it would require a lot of changes. Even if the dictionary says NTR is a shortcut for Netorare only, it will still be tagged as NTR anyway.
Remember, even if only one of your greetings contains some fetish or theme, moderation will require you to tag it. Even if you make 100 greetings of a normal girl and 1 where she took a futa pill, according to these rules, she is a FUTA, and the “responsible” way is to tag it as futa, making it disappear from all people who have the futa tag blocked. Makes sense, right? (It doesn’t.)
Also, by linking other chatbot pages your bot can be shadowbanned into NSFL.
Final Thoughts
Okay, that’s pretty much the most important things. Now it’s your turn. Wanna hear more about image gens or making AI music? Let me know if I should make separate guides. To all my dear future and past haters - many of you started botmaking before me. I built everything from the base. Work, community, countless bots finished at 4am before my 24h shift. And I'm still going, I will never stop, because I am not alone!
Join the Basement
Dive deeper into botmaking chaos. Share drafts, get feedback, and unleash unhinged ideas with the crew.
Join The Basement Discord