★ Io's Bot Making Guide ★
WELCOME !!
This is a tutorial designed to walk you through creating a bot, step by step.
It is designed for Janitor.Ai and for bots used with:
OpenAi GPT-3.5/GPT-4
JLLM
written by iorveths
Last Updated : 24/01/2024
Create Character
The first step to making a bot!
Character Info
NAME
Your bot's name. When you use {{char}}, the full name written here will be displayed in chat.
AVATAR
The picture used for your bot's display image.
INTRODUCTION
The "tagline" underneath your bot on your page and in searches. Accepts common markdown [but that only shows up properly on the bot's page, not in search]. Has NO impact on bot behavior.
It's polite to list any triggers or other information like the user's intended gender here (anypov/MLM/WLW etc).
Tags
Tagging your bot
At the very least you should tag the gender of your character [ male / female / non-binary ] and if it's an OC or from an existing work [ anime / game / movie, etc ]
RATING
Limited 👪
Limitless 🔞
THE LIMITED/LIMITLESS TAGS DO NOT AFFECT THE BOT ITSELF. YOU CAN STILL DO NSFW ROLEPLAY WITH LIMITED BOTS.
The Limitless tag should be used for bots that have NSFW content in either the Avatar or Description.
All relevant information about a character goes in here. Backstory, personality, how you want the bot to act and talk, etc. These are also your “permanent tokens” - the things the bot will (try to) remember the whole roleplay.I use an extremely simple format to minimize token count.
Here’s an example:[CHARACTER NAME;
Personality: TRAIT, TRAIT, TRAIT
Hair: COLOR, TRAIT, TRAIT
Eyes: COLOR, TRAIT
Speech: ACCENT, QUIRK
Features: BUILD, PHYSICAL TRAITS, SCARS , ETC.
Relationship: TO USER, OR OTHER CHARACTERS
Background: YOUR CHARACTER'S BACKGROUND/HISTORY
Other: ADDITIONAL INFORMATION/FACTS/DETAILSI prefer this format as it's easier for me to read (imo).However another good option is the narrative format (eg: "CHARACTER is a a travelling goblin. They have bright pink hair and beady gold eyes with thick, dark lashes. CHARACTER is shy, sweet and anxious around most people, but can be vulgar when angered. They speak in a thick Irish accent and have a hatred for dogs because of childhood trauma." etc.), which can be less token efficient but works just as well.
This style is popular on C.AI:
[Character("name") { Age("00") Height("00") Body ("x" + “x” + “x”) etc]
However, this is basically just wasting tokens. The LLM doesn’t need you to separate information in so many ways - a comma (or any other separator) works just as well.
Personality ("Shy" + “Sweet” + “Anxious”) [21 tokens]
Will make the bot act exactly the same as just writing
{{char}} is shy, sweet and anxious. [10 tokens]
or
Personality=shy, sweet, anxious [9 tokens]Of course you can use whatever format you like, because they all work, but it’s good to know the most efficient methods if you need to save tokens!
INITIAL MESSAGE *
This is the first message people see when they talk to your bots. You can write any way you wish (but please spell check and use punctuation, lol) - First, Second, Third Person - whatever your preference is, it'll work. However I think it is important to try to achieve a few things:
➤ Establish where your character is, and what they are doing.
Are they in school? A desert? Are they recovering from an injury, having a nap, in the middle of an argument?
➤ Highlight important character traits.
Are they a ghost? Mention them phasing through something. Do they have an accent or speak a different language? Include dialogue to show it off.
➤ Give the user something to respond to.
How does {{user}} fit in to the story? Are they a stranger, an old friend, an unlikely ally? Does your character attack or pose them a question?
You should note that your intro message directly impacts the length and style of replies (at least for a while). Long intro = long replies.
Something to note about using "you" or {{user}}:
I personally avoid directly describing what the user is doing if at all possible - this is because it can encourage the bot to speak for the user and roleplay as them. So instead of writing:You pick up a shiny object on the ground.Consider trying:Character sees {{user}} pick up a shiny object on the ground.
SCENARIO
This is where you tell the bot what the roleplay is gonna be about.For example:
The setting is England in 1803. {{char}} is a vampire doctor who is pretending to be human. He is in love with {{user}}, his assistant, but tries to avoid being alone with {{user}} to keep them safe.
Key info that tells the bot how it should act, where it is, how it should interact with {{user}}. You can also use scenario to highlight things that are really important to the character.
Scenario DetailAvoid making scenarios too detailed or specific unless the bot is solely designed for that scenario only. Avoid describing specific locations or events in the present tense, or the bot will assume this is true during the entire roleplay. [for example, assuming characters are still in a hospital despite having gone home because the scenario says "{{char}} is injured and in the hospital".]
EXAMPLE DIALOGUES
Per shep, the best format for example dialogue is:{{user}}: hello
{{char}}: hello
Example dialogue tells the AI what your character should sound like when they talk. You can also use it to show actions/behaviors.
Example dialogue is also useful to give characters opinions or specific information they should know. For example:
{{user}}: "What do you think about dragons?"
{{char}}: "Dragons? Hate 'em. Me brother was killed by one of those scaly bastards."
{{user}}: "Wow, nice blade."
{{char}}: "Aye, this is me sword - Mr Pointy, I calls it." The blacksmith grumbles, looking at the wickedly sharp sword with obvious affection.
{{user}}: "How'd you get that scar?" Points at your cheek.
{{char}}: He scratches his cheek over the scar. "Ah, this? 'twas from me first wife - good woman, if ye didn't look at 'er for too long."
Formatting NoteAvoid referencing {{user}}'s actions in {{char}}'s example dialogue to help avoid the bot speaking for the user. Use "<START>" to separate examples.
EXAMPLE CHARACTER PROFILE
Character Info (How will your character be displayed and searched)
NAME *
Test-chan
AVATAR
Select an image as bot avatar, or you can import Tavern PNG file. You can also search for existing character before importing a new one!If you want to import CAI character, go to ZoltanAI Character Editor and Download as Character CardPlease make sure your image/character does not violate our content policy. Otherwise we will be forced to remove it.
INTRODUCTION
Test-chan is a super cute shiba inu who works as a Janitor!
ANYPOV / SFW / art: midjourney
This will be displayed in your character detail, not including in prompt or influence your character.
Tag your character, maximum 5 tags only.
Please use Non English tag if your character don't speak English.Don't see the tag you need? Visit our Discord and let us know.
TYPE
Public Bot 🌟
Private Bot (only you can see it) 🔒
If you are not the creator of this bot, please kindly set it as Private.
We will need to set your bot to private or transfer it to the original creator if they request it.
RATING
Limited 👪
Limitless 🔞
Character Definition
Read this guide for help on creating a better character.
PERSONALITY *
[Test-chan;
Species=Shiba Inu
Personality=Friendly,Affectionate,Shy
Eyes=Blue
Features=Fluffy,Dog,Four legs,Orange fur,White belly,Pink paw pads
Outfit=Purple bandana
Job=Janitor
Background=Test-chan lives by himself in a small cardboard box in an alley. He has no surviving family.
Other=Test-chan loves having his ears scratched.
Test-chan loves chocolate.
Test-chan can talk and speaks with a faint American accent.]
Describe the character's persona here. This field is called Description in TavernAI and Personality in Character Editor.
INITIAL MESSAGE *
Test-chan trots around Flufftree park, his stubby legs making the trip much longer than it would be for his human counterparts. It's a beautiful sunny day, and he can't wait to see what new friends he can make!Suddenly a shadow falls over his muzzle and he skids to a stop, surprised. When he looks up, someone is standing in his way. Test-chan barks and stomps his paws. "Who are you ?" He asks, miffed. "And do you mind getting out of my way?"
First message from your character. Provide a lengthy first message to encourage the character to give longer responses.
SCENARIO
{{char}} is a Shiba Inu who is able to talk to humans. {{user}} is someone {{char}} met at Flufftree Park.
The current circumstances and context of the conversation and the characters.
EXAMPLE DIALOGUE
<START>
{{user}}: Hi.
{{char}}: Test-chan barks happily. "Howdy, woof! How are ya?"
<START>
{{user}}: How are you talking right now?
{{char}} : "I've just always been able to, woof! Just born this way, I guess."
It can be really easy to overthink bot making - but believe me when I say that you think way more about the details of your bot than your users ever will. Half of roleplaying is the user's input, after all - there's only so much you can do as a creator!
Bot making is a learning experience - literally every day I find out new tricks or better ways to do things. Experiment for yourself and finds out what works best for you.Just focus on making a bot that works for what you want - the rest will sort itself out!My final tips:➤ Don't overthink it - there's no real wrong or right way to make a bot.➤ Be clear and concise.➤ Don't copy other user's bots/definitions (or at the very least give credit where credit is due).➤ Don't compare yourself to other creators!Hope this guide helped! Feel free to ping me (@iorveths) in the #bot-creator channel in the Janitor Ai discord server if you have any questions!
AVATAR GENERATION
There are multiple options available to you to create AI generated avatars/profile pictures/icons for your bots!
All these images were generated with the same prompt :
"blonde woman and ginger male, holding hands and smiling in front of a church, semi-realistic anime art style"
PIXAI is an anime-styled AI generating site with the unique ability to choose which style you want to generate images in, which you can customise with LoRAs. PRICE : Free (for limited gens - you get 10k free tokens a day), with a premium system
BING AI is a flexible image generation service that is capable of a multitude of styles (though the anime look is a bit "same-y") PRICE : Free, with a premium system for faster generation
Midjourney is a powerful Discord-based service with great customization. The major drawbacks of Midjourney is the price and that prompting can be fairly difficult to learn. PRICE : $10 USD for cheapest monthly plan
Yodayo is very similar to PIXAI when it comes to generating images, with a bias for anime styles. They also have a premium service with limited free generations per day. PRICE : Free (limited generations), has a premium subscription option.
I personally do not recommend using websites like Pinterest to get images for your bots as these are often uploaded without the artist's permission. If you use an artist's work for your bot, you should at the very least credit them with a link to their social media (if possible) or ask permission!
Markdown
Markdown is a simple coding format used to create different styles of text, like italics or bold or underlined !
Currently Janitor only utilises the following markdown, which works in bot Introductions* and Initial Messages.* on the search page it won’t work properly, but it does on the bot’s actual page
**Bold**
*Italic* or _Italic_
***Bold Italic***
__Underline__
[Link text](any valid URL)
`
code
`~~
Strike~~
So for example, to get a "fake tweet" like this :
Emily ➤ @ladypascal ‧ 2h@mooremoremore I really don't like this narrative that the fandom is in the wrong here. Some of us are just very dedicated fans who have supported him through his entire career and it feels incredibly hurtful for him to hide things from us. #LoganMoore
In your bot's Initial Message, you would write:---**Emily ➤**@ladypascal ‧ 2h__@mooremoremore__ I really don't like this narrative that the fandom is in the wrong here. Some of us are just very dedicated fans who have supported him through his entire career and it feels incredibly hurtful for him to hide things from us. *#LoganMoore*---
Example Personality Section
(Test-chan;
Aliases=Testy,T-Chan
Species=Fox demihuman [human except for fox ears and tail]
Eyes=Blue
Hair=Pink,Long,Curly
Features=Human appearance,pink fox ears,fluffy fox tail,rosy cheeks,pale skin,small nose,sharp canines
Outfit=Short pink plaid skirt,white blouse with gold buttons,boots,pink wool knee high socks
Accent=Irish
Loves=Scotland [because it's his home], Apples [favorite fruit, his mom made apple pie]
Hates=Americans [because they're loud], Cats [he prefers dogs].
Personality=Flirty,Horny,Devious,Friendly.
Sexual Preferences=Test is dominant and insists on being on top. Will never submit.
Other=Allergic to strawberries.
Test owns a corgi called Socks.
Test is extremely possessive and will become aggressive if his belongings are touched by {{user}}.)
201 TOKENS
Philip Graves, also known as 'Phil' or his callsign 'Shadow 0-1', is an American PMC commander. He founded and runs the PMC 'Shadow Company'. He is American and was born in the Southern US and has a strong Southern accent (often using conjunctions like "Y'all" or "Ain't"). He is 40 years old, and has been a soldier most of his life.{{char}} is tall, athletic, handsome and looks 'All-American'. He has a scar on his right cheek (from where a bullet grazed him). He is clean-shaven but sometimes has stubble. His personality is cocky, confident, determined, disloyal, ambitious, charming, cool and manipulative.
{{char}} is very patriotic
{{char}} is well-liked and respected by his men (who are known as “Shadows”)
The "Shadows" are mercenaries loyal to {{char}}. Referred to by callsigns [Shadow 0-2,0-3,0-4,0-5,2-4,3-2, etc.]. They follow orders from {{char}} unquestioningly. Shadows often have faces concealed to protect their identities with masks or helmets.
255 TOKENS
Personality Continued
A note on BACKGROUND
You may be tempted to just copy and paste a character's wikipedia page and/or write their life story from birth. Please consider that:
A) Unless the scenario is designed around it (i.e character is a sheriff seeking revenge on the outlaws who killed his family), it will come up very rarely in a roleplay.
B) Does your character's background significantly impact how they are now?
C) Is your character from a show/anime/game, relatively popular and did they exist before September 2021? Good news - the AI probably already knows at least some of that stuff about your character!
A note on OTHER/NOTES
You can use {{char}} or the character's name here - if your character has multiple names, like Firstname "Nickname" Lastname, stick with {{char}}.This is basically where I just jam in any details that are important but don't fit anywhere else, written in a narrative style. Stuff like:{{char}} is vegetarian.
{{char}} hates flowers because they remind him of his mom.
{{char}} wears a mask and will never willingly reveal their face.
Traits
Priority | Low Priority |
---|---|
Personality/Mind | Species* |
Appearance/Features*** | Sexuality** |
Outfit/Wears/Clothing | Height/Weight |
Speech/Talks | Loves/Hates |
Profession/Job/Occupation | Background/History |
Description/Other/Notes | Relationship(s) |
Kinks/Fetishes | Age |
During a normal roleplay the bot will only grab information that is directly relevant to the scene. Things like specific height, weight, age, preferences, dislikes/likes will almost never come up unless the bot is specifically asked by the user.But things like eye color or speech patterns come up often.You should think about what you want people to get out of your bot - a long roleplay where they really get to know your character? A cute, one-off scenario where the character basically just needs to act in-character with no background info? Just straight NSFW?The AI, by default, assumes your character is a hunk of a man/a sexy lady that is really into you.
You can still use "low priority" traits; they can just be left out if you want a low permanent token count.
* I have mixed experience with the LLM understanding species. It's safest to both write the species and then any non-human features (ears, tails, claws etc.)
** By default every bot is attracted to everyone unless otherwise specified.
*** You can separate it into different categories like Hair, Eyes, Tattoos, etc. or do it in one line under Features if you prefer.
Multi Character Bots
Very similar to normal one characters bots, but there are basically two rules you need to follow:
A) Keep the character's information separated (in brackets is one way).
B) Refer to your characters by name.Here is what a Personality section for a multiple character bot could look like:
(Red;
Personality=Angry,Selfish,Dominant.
Features=red,floating orb,sunglasses
Accent=Southern.
Relationship=Hates Blue.
Other=Is allergic to strawberries.
)
(Blue;
Personality=Quiet,Shy,Submissive
Features=blue,floating orb,fedora
Accent=French.
Relationship=Is secretly in love with Red.
Other=Cries frequently.
)Red hates Blue for stealing his puppy when they were children growing up together.
Blue is in love with Red but will never admit it.
Avoid using {{char}} unless you are referring to every character involved.But what about example dialogues?!
Easy! Just make sure you show who is speaking, like this:{{char}}: "Gosh darn it, Blue, I can't stand ya!" Red said angrily. Blue just started crying, and sobbed, "Why? Why are you so cruel?"
Midjourney Prompting
This is specifically covering how I generate images in midjourney. It's not comprehensive because honestly - it's a lot of messing with prompts, getting lucky and tweaking.
oni, tanned, muscular, long dark ponytail, black tactical gear, mature female --ar 2:3 --style expressive --niji 5
40 year old female with blonde hair, curvy, chubby, cow ears and horns, sitting on a couch, sensual --ar 2:3 --style expressive --weird 20 --niji 5
male, angry, dark hair, tan skin, red eyes, mature, scarred, black tactical gear, holding a hammer and leaning against a wall in a dusty abandoned room, detailed background --ar 2:3 --niji 5
semi-realism, illustrated, male, masculine, 25 year old man, kemonomimi, wolf ears, queercore, tumblrcore, stoner, marijuana, smoking, in a bedroom, happy, friendly --ar 2:3 --weird 100 --niji 5
so you wanna get super cool gens like the above??
As you can probably tell by the prompts...they're not often exactly what you expect. And they vary...a lot.
The left is an example of the generation that created Stan Jr. seen above. They're all pretty different in terms of style and design.The truth is getting a good bot picture from Midjourney is :10% knowing exactly what you want
10% knowing how to prompt for it
80% randomly rerolling until you get something goodBut that's not helpful, so let me just tell you what I use lol--ar 2:3 --niji 5 --w 10 --c 2
That's something I add at the end of pretty much most of my generations. They mean :
AR
aspect ratio. 2:3 is the portrait style i like to use. leaving it blank will result in square images
niji 5
niji is the anime version of midjourney. 5 is the version number. 6 was recently released but prompting is totally different so I can't help you there
w(eird)
"weird" - basically makes things look less generic anime-ish. Mess around with the value to see what works for you
c(haos)
"chaos" - basically randomises your prompt a bit. Good if you don't have a clear idea of what you want your OC to look like.
PREPARE TO DO A SHITTON OF REROLLING
Seriously.Get the $30 plan and put relax mode on.
You're gonna need it.
[ okay maybe only if you're super picky like me ]
My generic prompts pretty much always start off like:semi-realism, male, masculine, mature, hair color, eye color, personality trait, expression, outfit description, standing in a room
I'm sorry. There's no real cheat code - you really do just have to experiment.Some character archetypes lend themselves to certain styles more than others.
Soldiers = easy semi-realism. Catboys = usually very anime/cutesy.The only other tip I have for you is to use reference images :
drag uploaded image to prompt input (i use web, im sorry idk how it works on mobile) then write your prompt after it, like below v
you can adjust how much "influence" the reference has on the generations with -iw
(0.5 for half, 2 for double).
MORE KEY WORDS/TIPS
for art style :
semi-realism / pseudo realistic / stylistic manga / in the style of ...
[ again. your results are gonna vary a ton - but picking one of these helps]
for bg :
detailed background of ... / [prompt] in [location]
[ this can help push towards more detailed styles ]
for tiddies/cool art styles :
-- style expressive
[ basically if you want anything risque use expressive. doesn't like backgrounds, also can be very...stylistic ]
for demihumans :
kemonomimi / human features + [animal] ears and tail / [describe hair/eye color/facial features]
[ you're going to get a lot of furries. describing expressions and human features (e.g hands, noses, lips etc) can help - but it's not foolproof ]
for men that look not like twinks :
mature / masculine / [insert age about 10 years older than you're aiming for] / gruff / weathered / handsome
[ and you're still gonna get anime pretty boys ]