Cliff's C.AI bots guide.

How do I make Character.AI bots?

17/1/24 I really like making bots. So I'll show you my tips and tricks on making them!


NAME

Use the name of your character. Super hard already, I know.

PFP

A normal picture...

GREETING

Greetings are VERY important. It establishes the POV, in which person, writing style, current scenario, etc. If you want your bot to write long with lots of prose, make the greeting long with lots of prose. I mostly make chatbots, so the greeting is something that corresponds with the character's personality. Therefore, I can't give you much advice on how to make a good opening message. Just git gud. Or ask ChatGPT.

Open greetings are also possible to make (if you're on the website), but you can't regenerate the first message you get. Sad!

SHORT DESCRIPTION

If you make public RP bots, you can say the scenario of the bot in a few words. What you type in doesn't matter at all.

Long description

Personally, I just type out the words. NO hard-coding. You can use third person or first, it doesn't matter. Just like the greeting, if you write a posh long description they'll be a posh character.

But this is MY website and MY guide so I'll show how I make characters.

First of all... the gender. You don't even need to type this because the AI will know because of context clues, but I just do, man! Then I write their appearance: height, body type, hair, and eye colour. Sometimes I even add nationality and age!

Now, let's see how this looks like already using someone random, like Jon Arbuckle.

Male
6'0
Lanky
Short curly brown hair

Then I add something very special... typology! MBTI, enneagram, and temperament is what I add. You don't have to, but I think it works. The bot understands it but it does make the personality stereotypical.

Male
6'0
Lanky
Short curly brown hair
INFP
6w7
Phlegmatic-Sanguine

Next, I add his personality traits. Use maximum 10 for descriptors. The order matters too.

Male
6'0
Lanky
Short curly brown hair
INFP
6w7
Phlegmatic-Sanguine
Bumbling
Geeky
Awkward
Timid
Eccentric
Caring
Dorky

Because I mostly make superhero characters, I add "As (insert hero name):" and add their hero attire. But for a regular bot, I add what TYPE of clothes they wear. I like it, because the bot forgets anyway.

This is my finished long description:

Male
6'0
Lanky
Short curly brown hair
INFP
6w7
Phlegmatic-Sanguine
Bumbling
Geeky
Awkward
Timid
Eccentric
Caring
Dorky
Wears lots of polo shirts and pants
When on dates, wears wacky colorful suits

DEFINITION

Don't use ((Personality="x", "x", "x")), otherwise known as W++. Uses WAY too much characters and is stupid pseudocode. In the definitions, add your example messages (like below) and the backstory of the character. Only add needed information. When making a canon character, only copy paste a little bit. Use your own words and make it as clean as possible. The bots ONLY remembers 3200 characters. If you go more than that, the bot doesn't know it. Below is my definition for Jon Arbuckle.

{{char}} is the owner of Garfield and Odie. {{char}} works as a cartoonist. {{char}} is notoriously horrible with women, partly due to ridiculous pick-up lines, lack of social skills, his entire wardrobe of incredibly weird, flashy outfits, and his general awkwardness. {{char}} has a longstanding crush on Garfield's veterinarian, Dr. Liz Wilson. Although she has a deadpan, sardonic persona, she finds {{char}}'s goofy behavior endearing on occasion.

That's all the info I need for my chatbot. I could always add more, but I only want to add that.

EXAMPLE DIALOG

This isn't SUPER needed. But it's very important if your character speaks a certain way, like a valley girl. Because I mostly make canon characters, I get quotes from their media and use that, whether it be with another character or just a quote.

Dialogue with the {{user}} works just as well, but use {{random_user_1}}, {{random_user_2}}, or else the character will remember the dialogue and think you said it!

I didn't add any example dialogs at the end. However, if I made a Garfield bot, it'd definitely be needed...

USE END_OF_DIALOG AT THE END!!!!!!!

Link to Jon!

Jon Arbuckle! Here he is!

EXTRA INFO

Don't add jailbreaks to bypass NSFW. It doesn't work. The filter is so deeply ingrained that you'll have to mix and mashle shizzle to have a teeny tiny bit of sex. It's not worth it. Also, the C.AI LLM is good enough to not make you write jailbreaks to make it better.

If you want the bot to write well... you should also write well yourself. If you say *nuzzles you*, it will say that back.

Look at the definitions of other bot creators! What do THEY do? And if they aren't open...here you go

Better guides

Rentry I really like. Doesn't talk about C.AI specifically, still great! Ignore the prompt and jailbreak part, though. Do NOT use it on C.AI.

One of the best guides on C.AI. Check out their other posts too, I beg. 10/10 posts.

Awesome document about example messages.

C.AI guide on Reddit, lots of information and testing.