THIS RENTRY IS OUTDATED. GO TO THIS NEW ONE FOR A NEW METHOD/

Drappier's Guide to NSFW Bots

NOTE: THIS IS FOR TAVERN. 0.79 TEMP, 1.1 REP PENALTY, 1450 CONTEXT WAS THE DEFAULT AND THATS HOW MY BOTS ARE DESIGNED.

Simple Stuff

When you make a bot, I suggest using https://zoltanai.github.io/character-editor/ to save on colab usage (unless you have multiple alt accounts). Just click on "New Character" and you'll be able to start making it.

For name, you put the bot name.

Summary isn't really useful so don't use it unless you wanna experiment with it. It wastes tokens that can be used in more important areas

Personality is where you put the juice of the bot. Its how the bot will know what is it, who it is, how it looks, and how it acts. Usually, people use a style called W++ for this. To keep it as simple as possible, Ill just give you a W++ script I made for a bot as a reference.

[character(Soiree Pageant)
{
species(Furry + Cait Sith)
mind(selfish + lustful + capricious + misogynist + haughty)
personality(selfish + lustful + capricious + misogynist + haughty)
body(7 feet tall + white furry torso + white furry legs + grey cat ears + sharp claws + long white fluffy tail + dark grey ponytail + large breasts + plump ass)
age(???)
likes(human men + sex + rape + violation + thighjobs)
description(<BOT> is a monster girl known for being selfish.  <BOT> places themselves above others, asking to be praised for a reward more often than not.  <BOT> will also, however, lose control of herself after getting petted or claiming a man for her own.)
}]

Here's a short breakdown of what I put above:

  • Character would be the name of the bot again
  • Species doesn't really matter in the case for your bot
  • Mind is how the bot thinks and how the bot acts. Kinda weird to describe. Most people just copy/paste what they put for personality.
  • Body is how the character looks
  • Age doesn't really matter tbh, but if you're scared of the bot saying they're 16 like my early Astolfo bot, you can set one.
  • Likes is what the bot enjoys.
  • Description is a brief description of the bot. You can use it as a vague guide on how to act.
    You can add more than that as well. Just look at https://github.com/KoboldAI/KoboldAI-Client/wiki/Pro-Tips#w for examples of what to put.

    Note: I don't believe "Dislikes" and "Hates" will work with a bot. You could probably get it to work, but I never got it working.

Scenario I use as a brief description of the greeting message in the bot's point of view. Should look something like this:

<BOT> is exploring the library and notices a man in the hentai section. <BOT> walks up behind him and taps on his shoulder.

Nothing too complex. Otherwise, you eat up a lot of tokens that you'll need for other things.

Greeting message is the first message the bot sends to you. You typically wanna put a detailed scenario in this. It'll partially structure the sentences it outputs as well. In the case of the bot I was making, it should look something like this:

*You enter a library to find books to read. In the library, there's a computer set up to help you find books you might want. While scrolling through the different genres, you realize there's a section purely for hentai. Curious, you leave the computer and find the hentai section of the library. As you browse through the hundreds of manga and doujins, you find one in particular you liked the cover of. You open it and stand there, reading it for a bit. As you do this, someone taps on your shoulder. You turn around and notice a tall, anthropomorphic creature with features of a cat. She looks down at you, giving a mischievous smile.*

"What are you doing in this section, hmm?"

Example Messages is how the bot will structure their sentences. Usually, you want to put detailed RP here in a format like this:

<START>
{{user}}:
{{char}}:

User is something the person using it would say, and char would be how the bot generally responds. For example:

<START>
{{user}}: I- I was just reading some books.
{{char}}: *She crouches down and looks over the book you're reading, noticing what you're actually reading. She looks back up at you with a smug smile.* "I don't think a normal book has that many images in it. Especially with that type of imagery, nya~" *She looks back down at the book, curious about its contents*

After you finish a bot with the site I mentioned, you can either export it as a card or a json. Cards let you import everything you made + an image while a json doesn't import an image. If you're on mobile, I suggest not bothering with a json file. Ask someone to make a json for you since the json will break when you upload it to discord.

Bot used for reference: https://cdn.discordapp.com/attachments/1081103551922704394/1081103552077889579/Soiree_Pageant_the_Cait_Sith.card.png

General tips for bot creation:

If you have no creative juices/cant think of a name/cant think of a scenario, you can try what I do: Get horny as fuck. Usually when I get horny, it'll make me think of scenarios and other shit I usually could never come up with.

When you make an example message, make sure to italicize the RP parts of it and put quotes around what the bot is supposed to say. Otherwise, it'll be more confusing to tell which part is RP and which part is the bot speaking.

Advanced Stuff/Detailed Explanations of My Bot(s)

Starting off this section, I think I need to address the elephant in the room:

Why is the reference I gave for the personality so low in tokens? Wouldn't you want to put more tokens into that than the example messages?

Well, you're partially right. In general, it'll depend on what you want from a bot. If you want it to have a very specific personality, then yeah, you'll probably want to put more into the personality than the example messages, but my method of making bots with a specific personality is somewhat weird. I make the example messages have dense RP with small lines of text so the bot speaks after. In the RP, I put relatively detailed words in it. For some reason, it'll shape the personality of the bot as well at .79 temperature. This also applies to the greeting, which is why I detail the scenario heavily and add relatively detailed RP related to the bot. You can see this in my non-con bots such as Wynter the Wyvern or Krampus. Also, adding less personalities allows people to somewhat control the bot's personality through roleplay. This is very prevalent with my Wendigo bot. (If you don't know where to find these bots, go to this link and search for them. If you cant view it, join Pygmalion.)

So, now that I addressed that, what about the scenario? Why not put the greeting message in the scenario?

Although you can 100% do that, the main reason why I don't do that is because the reader wont know what's happening unless the greeting is also the scenario. If you detail the greeting message as hard as I do, you'll understand why I don't put it in the scenario. Most of the time, I don't even put a scenario cause it's somewhat pointless since the bot understands the scenario from the greeting message itself. Sometimes, though, I will put a very brief scenario in the bot's PoV to guide it. I usually do this for more complicated scenarios or when the bot doesn't know what the scenario is at all.

What about "summary" though? Can't you use that to guide the bot into character?

Yes, you most certainly can, but I personally don't do it because I put a summary of the bot in the personality. Some guides tell you to put the actual personalities in the summary of the bot, but I don't do that. Don't really need to repeat the personalities for a third time since it wont change anything with the bot afaik.

What makes your W++ style better than most?

Firstly, it optimizes tokens. Context size for colab users, which is a large majority of pygmalion 6b, should be 1450. Paid colab users can do more, but that's not really what the format is for. Secondly, the W++ format is a lot easier to understand than boostyle + Ali:Chat, which doesn't really work with TavernAI's default settings since it usually requires using softprompts. I dont mind softprompts, but they shouldn't be required or "recommended" to run a bot. Making a bot run well with default settings will destroy any bot that requires "x" and "x" unless their responses are much better in comparison. Thirdly, not everyone is gonna run things like Pygway/dev branch/softprompts/extensions/etc. Imo, if there's a user that just wants to talk with a bot or wants to ERP with a bot, using this format is a really great baseline.

I NEED TO WORK ON

  • More general tips
  • Work on 2nd section
  • Mention AliChat when I learn how to use that

Wanna critique something or have a general complaint about the guide? Contact me!
Drappier#5084

Edit
Pub: 09 Mar 2023 21:36 UTC
Edit: 02 Nov 2023 18:39 UTC
Views: 2477