RP Companion

RP Companion




Vote (1)

An RP Discord bot with NPCs, dice, fun OOC commands, and custom character profile support.

Welcome to RP Companion, the Discord RP Bot Companion!


This bot supports character profiles, custom profiles, NPCs and fun/narrator commands.
Some commands only require the name of the character or spell, like //editchar Dracula. Other commands will initiate a DM that has menus that you can reply to for setting up or modifying characters or NPCs. If the user has DMs disabled, the bot will reply in the same channel as the user's command.


There are two roles required to use the bot.
Admin: The admin can run all commands of the bot, such as creating custom profiles or adding and deleting NPC users. The server owner must set the admin role.
NPC Manager: The NPC manager is able to create, edit and delete NPCs.
An admin role user must approve new characters.


Type //info or //help followed by one of these categories, such as //info general:

general: Not commands, but information on how the bot works.
setup: Commands for getting the bot running.
characters: Commands for managing characters.
custom: Commands for creating, managing and deleting custom character profiles.
npcs: Commands for managing NPCs.
fun: Commands for old time RP fun.
utility: Utility commands such as scene and narrator posting. dialogs: Commands for managing dialogs and dialog characters.

Setup Commands

//setadminrole @Role: Owner Set the admin role. This must be done before any other setup. This can only be done by a server owner. See general for role descriptions.
//setnpcrole @Role: Admin Set the NPC manager role.
//listroles None List the server roles
//addnpcuser @user1 @user2 Add users to the NPC role.
//deleteadmin @user1 @user2 Delete users from the admin role. Only the server owner can do this.
//deletenpcuser @user1 @user2 Delete users from the NPC role.
//resetserver Wipe all data from the bot for this server. Only the server owner may perform this action.
//invite Get an invite link for the bot.

Character Commands

//newchar Set up a new character. The bot will DM you for all new fields. An admin must approve a character to become active.
//editchar charname Edit an existing character's profile. The bot will DM you for the fields.
//editcharinfo Character Name Edit a character's addtional information fields.
//deletechar charname Delete a character.
//getcharprofile Character Name None Get a character's complete profile.
//listmychars List the current user's characters.
//listallchars None List all server characters and their owners.
//listuserchars @User None List a user's characters.
//approvechar Admin Approve a character for play.
//denychar Admin Decline a character for play. A reason should be provided, and the admin has the option to delete the application entirely if it cannot be fixed.
//listunapprovedchars None List the characters waiting to be approved or denied.
//newrandomchar Create a random character with the bot for admin approval.

NPC Commands

//setnpc shortcut: Set an NPC for all posts in the current channel.
//unsetnpc: Unset the NPC for this channel.
//newnpc @UserAllowed1 @UserAllowed2 Create a new NPC.
//postnpc text Post as an NPC if you are in the allowed user list.
//editnpc Character Name Edit an NPC.
//deletenpc Character Name NPC Delete an NPC.
//listnpcs: None List all server NPCs.
//editnpcpost MESSAGE: Edit your last NPC post to the content of MESSAGE.

Custom Profile Commands


Custom profiles allow you to define a character profile for an entire server. All characters will use the custom profile instead of the default profile provided by the bot, and any existing default profiles will be hidden. Deleting the custom profile template deletes all character profiles with it, so once created the template cannot be edited.

//newcustomprofile Field1=Description,Field2=Description...: Admin Create a new custom profile. The fields are what will appear in DMs for creation and editing of characters. The descriptions are what will appear when the profile is listed. All fields are free text.
//newchar: Create a new character using the custom profile.
//editchar Character Name: Edit a custom profile character.
//deletechar Character Name: Delete a custom character profile.
//deletecustomprofile yes: Admin Delete the custom profile template and all character profiles from the server. The yes must be included (no bolding) to confirm deletion.

Fun Comamnds

//lurk Post a random lurk command.
//ooc text Post as the bot with OOC brackets.
//me text Post as you in OOC brackets.
//randomooc @user Do something random to another user.
//roll xdy None Roll x number of y-sided dice.

Utility Commands

//newscene: Post --new scene-- as the narrator.
//pause: Post --scene paused-- as the narrator.
//unpause: Post --scene resumed-- as the narrator.
//endscene: Post --end scene-- as the narrator.
//postnarr text: Post text as the narrator.

Dialog Commands

Information: Dialogs allow a player to pick options within a menu of dialogs to simulate a conversation. Dialog systems have three parts: Dialog characters, which are the NPC associated with the dialog, and have a name and picture; Root dialogs, which are the top-level dialog options for a dialog character, and subdialogs, which are the dialogs below the root dialogs. A sub dialog can have zero, one, or many subdialogs below it, and so on.

//newdialogchar: Create a new dialog character.
//editdialogchar Character Name: Edit an existing dialog character.
//deletedialogchar Character Name: Remove a dialog character from the server. All dialogs must be deleted prior to this command.
//newrootdialog: Create a new root dialog associated with an existing dialog character.
//newsubdialog: Create a new subdialog. The root dialog or parent subdialog must already exist.
//deletedialog: Delete a dialog from the server. All child dialogs must be deleted first or the command will fail.
//listdialogchars: List all currently defined dialog characters.
//listdialogchar Character Name: Show the name, picture and dialogs of an existing dialog character.
//listalldialogs: List all dialogs defined on the server.

Conversations: A player may start a conversation with the //converse command. The bot will present the dialog options as reactions to its message, and then when a player reacts to the message, the option will be chosen and the next subdialogs will be presented. When a dialog has no subdialogs, the conversation ends. A conversation may also be ended with //endconvo.

//converse Character Name: Start a conversation with a dialog character.
//endconvo: End the current conversation.

Ratings & Reviews


5 reviews

Reviews can be left only by registered users. All reviews are moderated by top.gg admins. Please make sure to check our guidelines before posting.

5 stars


4 stars


3 stars


2 stars


1 star



6 months ago

Eh. Doesn't show anything whenever I use the commands.



10 months ago

Looks like it's been abandoned, it's not showing anything whatever I do, kinda sad because a npc would be great.


RP Companion

Replying to Jorthain

Bot was broken and I had no idea, it's recently been fixed.




Support Server

GigaNerd Tech - Bots

GigaNerd Tech - Bots




Discord Support Server





The Midnight Eternal

The Midnight Eternal