-
Notifications
You must be signed in to change notification settings - Fork 2
Built in Commands
- as or runas
- ban or unban
- chat
- confirm
- conv or conversation
- group
- help or h
- nickname or nick
- permission or perm
- ping
- platform
- plugin
- profile
- property or prop
- repository or repo
- runtime
- shutdown
- user
- version or ver
- whoami
Manebot provides more than 20 built-in commands, most of which are only used for system administration.
This page documents these built-in commands in Manebot.
Description: Runs a command as another user.
Runs "ping" as root.
as root ping
Description: Manages user bans.
Bans "baduser" with the message, "You've been bad.". They could see this message when they run commands.
ban baduser You've been bad.
Bans "baduser" with no message.
ban baduser
Unbans "baduser".
unban baduser
Lists all bans.
ban list
Lists ban for a user.
ban list baduser
Description: Manages chats. Chats are the network-level representation of text/communication channels. These can be private, where a single user speaks to the bot, or public, where multiple users speak in a single chat. Chats are provided by their respective platforms, such as Discord.
Lists all chats for a platform. Note that, for the first command, you must have the Discord plugin installed, and it must also be enabled.
chat list discord
chat list console
Gets chat information for a specific chat. You must specify a platform, then chat ID on that Platform to get information for a chat.
chat info discord 5919033825404
chat info console std
Description: Confirms a pending prompt. Prompts can be broadcast for users when, for example, someone is trying to associate their platform account with a specific username.
Confirms the last prompt, and executes the action associated with it.
confirm
Description: Manages conversations. Conversations are the virtual chat construct in Manebot, and persist even when the related Chat isn't accessible over the network. Conversations have metadata, such as permissions which their member users can inherit when executing commands in that associated Chat.
Gets current conversation information
conversation
Gets another conversation's information
conversation console:std
conversation list
conversation search "name"
Description: Manages user groups. User groups categorize users, and can also provide permissions to their members.
group list
Gets group information for the group "coolkids"
group info coolkids
Adds the user "someone" to "coolkids"
group add someone coolkids
Creates the new user group "coolkids"
group create coolkids
Removes the user "someone" from the group "coolkids"
group remove someone coolkids
Description: Gets command or sub-command help. Most commands in Manebot have auto-generated command help pages that you can search through to learn more about what you can do with Manebot.
Lists all commands and their descriptions
help
help page:2
Lists all sub-commands and their descriptions for a specific command
help user
help user page:2
help user info
help group
help permission add
Description: Changes your nickname. All Manebot users have two username components: their actual username, then their display name (or nickname). You can change your nickname, but never your username.
Changes your nickname to "coolkid"
nick coolkid
nickname coolkid
Description: Gets or sets permissions on all permissible entities: users, group, and conversations. Permissions can either be explicitly granted or denied to specific entities.
Adds the node "permission.node" to an entity.
permission add user coolkid permission.node deny
permission add conversation console:std permission.node allow
permission add group coolkids permission.node
Removes the node "permission.node" from an entity.
permission remove user coolkid permission.node deny
permission remove conversation console:std permission.node allow
permission remove group coolkids permission.node
Lists permissions for an entity.
permission list user coolkid
permission list conversation console:std
permission list group coolkids
Description: Simply pings the bot. It's a good do-nothing command.
ping
Description: Manages platforms. Platforms are communication platforms such as Discord and are usually provided by plugins.
Connects discord. The Discord plugin should already be installed.
platform connect discord
Disconnects discord until the next time Manebot starts up. The Discord plugin should already be installed. If you want to permanently disable a platform, you should disable the plugin it is being provided by.
platform disconnect discord
Gets platform information for discord.
platform info discord
Lists provided platforms.
platform list
platform list page:2
Searches platforms.
platform search "discor"
Description: Manages plugins. Plugins are the way you add features and extend Manebot, by adding new platforms for Manebot to connect to, or new ways for your bot to interact with its users on those platforms.
Gets the plugin information for the platform that you're currently reaching Manebot with. If you're running this from Discord for example, this would get the discord plugin information, if you didn't specify a plugin name explicitly.
plugin
plugin info discord
Some plugins only provide features when another plugin extends them. Take audio for example, a plugin that is essentially useless if nothing is using it. You can automatically mark plugins with no dependencies as "for removal" using autoremove.
plugin autoremove
Disables a plugin. Plugins can only be disabled if they are not required by another plugin, such as audio being required by discord.
plugin disable discord
Enables a plugin. You must have installed the plugin prior for it to be enabled.
plugin enable discord
Installs a plugin, and all of its dependencies automatically.
plugin install discord
Checks for updates to a previously installed plugin. You should restart Manebot to actually pull the updated code. With no plugin name, Manebot looks for the latest versions of all installed plugins.
plugin update
plugin update discord
Sets a plugin property. Plugins have metadata in the form of properties,
plugin update
plugin update discord
Description: Profiles threads that are a member of the virtual subsystem. Manebot has a simple, but efficient performance profiler, and thread can "opt-in" to participate in performance readings. Using this command, you can read out the values of various repetitive tasks that threads are running to evaluate performance issues.
Description: Manages properties on an entity. Entities are users, conversations, and/or groups. These properties are different from plugin properties, which are managed via the plugin command.
Gets the value of a property. Properties are binary, so the result is a Base64-encoded value.
property get user coolkid property.name
property get group groupname property.name
property get conversation console:std property.name
Sets the value of a property with Base64-encoded bytes.
property set user coolkid property.name Base64...
property set group groupname property.name Base64...
property set conversation console:std property.name Base64...
property list user coolkid
property list group groupname
property list conversation
property unset user coolkid property.name
property unset group groupname property.name
property unset conversation console:std property.name
Description: Manages Maven repositories for the entire plugin system. If you have your own Maven repository, you can make Manebot query it when installing or updating plugins by adding it with this command. Repositories are defined with JSON, like such:
{
"type": "default",
"url": "http://your.repo.url/maven",
"authentication": [
{
"type": "basic",
"username": "username_here",
"password": "password_here"
}
]
}
Authentication is optional, and if provided, it is kept in the database only and is not exposed afterwards. Note that when defining a repository, your JSON should never define an id
field. This is handled for you by Manebot, as the id
is used to associate the repository in the database.
Adds a custom repository with the id
"coolrepo".
repository add coolrepo {"type":"default","url":"http://cool.repo/maven"}
Removes a repository with the id
"coolrepo"
repository remove coolrepo
Enables a repository with the id
"coolrepo".
repository enable coolrepo
Disables a repository with the id
"coolrepo".
repository disable coolrepo
Lists all repositories.
repository list
Gets repository information for "coolrepo". Does not show authentication information, if previously provided.
repository info coolrepo
Description: Gets system runtime information, like the current OS username, OS name, and memory usage.
runtime
Description: Schedules an immediate system shutdown.
shutdown
Description: Manages users and platform associations for users.
Creates a platform association with the user "root" to the platform user "stdin" on the platform "console"
user connection create root console stdin
Lists all registered platform connections/associations for a given user.
user connection list root
user connection list root page:2
Removes the platform user association from the "stdin" user on the "console" platform. This user would then need to re-register on the bot.
user connection renive root console stdin
Creates a new user. There are three user types in Manebot:
-
admin
: System Administrator with all permissions by default. -
standard
: Common user type for most users. -
anonymous
: Ideal task user type; cannot execute commands in a chat.
If no user type is specified, it is assumed to be standard.
user create coolkid
user create coolkid standard
user create coolkid anonymous
user create coolkid admin
user info coolkid
user list
user search "username"
Changes a user's type. There are three user types in Manebot:
-
admin
: System Administrator with all permissions by default. -
standard
: Common user type for most users. -
anonymous
: Ideal task user type; cannot execute commands in a chat.
user type set coolkid admin
user type set coolkid standard
user type set coolkid anonymous
Description: Gets system version
version
Description: Gets your current username and display name.
whoami