| Key | Info | 
|---|---|
| {pm} | Echo will private message the response. | 
| {user} | Echo will mention the user. | 
| {/user} | Echo will say the user's name | 
| {sleep} | Delay an action based on x time. | 
| {del} | Echo will delete the user's message. | 
| {del:5s} | Echo will delete the user's message after x time. (5s,5m,ect..) | 
| {del*} | Echo will not delete bot masters messages. | 
| {delme} | Deletes Echos message. | 
| {kick} | Echo will kick Non-Commanders | 
| {ban} | Echo will ban Non-Commanders | 
| {role} | Gives a user a specific role. | 
| {alert} | Alerts you if someone triggers reponse | 
| {exc} | Excludes a role from your trigger! | 
| {chan} | Returns the current channel. | 
| {pref} | Displays Echo's current prefix. | 
| {greet} | Displays Echo's current greeting. | 
| {bye} | Displays Echo's current bye message. | 
| {ismaster} | Displays if the user is master or not `True` or `False` | 
| {listroles} | Displays all the users roles. | 
| {allroles} | Displays all roles in server. | 
| {joined} | Shows the date and time a user has joined. | 
| {channels} | Shows all channels in the server. | 
| {req} | Requires a user to have a role. you can also require multiple roles like `{exc}` | 
| {ass} | Shows random ass. | 
| {boobs} | Shows random boobs. | 
| {rawid} | Grabs the users id. | 
| {redirect} | Redirects users text to a specific channel. | 
| {cats} | Display random cat images. | 
| {take} | Takes a role away from someone. | 
| {ars} | Allows you to link to another Rule. | 
| {rand} | Picks a random number from 0 - 10 Does the same thing as above. | 
| {sky} | Shows random sky images | 
| {space} | Shows random space images | 
| {dbz} | Shows random dbz images | 
| {cute} | Shows random cute stuff.. | 
| {cars} | Shows random car images | 
| {wrecks} | Show random wreck images | 
| {trucks} | Shows random truck images | 
| {protect} | Protect the key from being ran manually. | 
| {timestamp} | displays timestamp | 
| {timestamp:ms} | displays timestamp in miliseconds | 
| {timestamp:ns} | displays timestamp in nanoseconds | 
| {usernick} | displays users nickname | 
| {randlist} | {randlist:What,Who,Where,How} | 
| {randuser} | Randomly choose a username from your server. | 
| {randuserid} | Randomly choose a user id from your server. | 
| {randchannel} | Randomly choose a channel from your server. | 
| {randchannelid} | Randomly choose a cannel id from your server. | 
| {owner|id} | guild owner id | 
| {owner|name} | guild owner name | 
| {owner|avatar} | guild owner avatar | 
| {!content|contains} | if content does NOT contain word | 
| {username|contains} | if username contains word | 
| {!username|contains} | if username does NOT contain word. | 
| {self} | the requesters id | 
| {usericon} | requesters icon | 
| {guild|icon} | guild icon | 
| {guild|name} | guild name | 
| {guild|id} | guild id | 
| {guild|region} | us-south,us-east | 
| {membercount} | guild member count (Doesn't include bots) | 
| {botcount} | guild bot count (Doesn't include members) | 
| {rolecount} | guild role count | 
| {channelcount} | guild channel count | 
| {myperms} | requesters permissions (bitwise) | 
| {trigger} | Shows the trigger used for the rule. | 
| {expint} | Requires the params to be integer. | 
| {pin} | Makes Echo pin a message to a channel. | 
| {showchan} | Gives user basic permissions to channel. | 
| {hidechan} | Hides current channel from user. | 
| {readonly} | Sets users permissions to read messages\history in channel. | 
| {readnwrite} | Sets users permissions to read\write only in channel. | 
| {typing} | Sets echos state to "typing" in current channel. | 
| {reactme} | Echo will react to current message. | 
| {react} | Echo will react to the last message. | 
| {reactbot} | Echo will react to his own message. | 
| {discrim} | Shows users discriminator. #0000 | 
| {stop} | Stops echo from responding (good for if statements). | 
| {everyone} | Echo will mention everyone in his response. | 
| {here} | Echo will mention @here in his response. | 
| {chanid} | Gets the current channel ID | 
| {params} | if you have this key in your trigger and response you can catch their text! | 
| {json|guild} | Sends your entire guild object to a site of your choice! | 
| {json|channels} | Just sends your channel object to a site of your choice! | 
| {json|roles} | Just sends your roles object to a site of your choice! | 
| {json|members} | Just sends your members object to a site of your choice! | 
| {delauto} | Deletes the trigger after first use. (Good for games, prizes and keys you want to give out once!) | 
| {params:flip} | Reverses the text. Requires {params} in the trigger! | 
| {params:url} | converts text to url encoding. Replaces space with %20 Requires {params} in the trigger! | 
| {twitch} | Replace username with your twitch name. you have access to these keys: {game} displays the game you're playing. {views} shows your current viewers. {fps} displays your current fps. {url} - shows the url. | 
| {category} | Random Nicknames Random Baseball words Random Sports Words Random Instrument words Random Halloween Words | 
| {nickname} | Changes the users nickname | 
| {tclear} | Deletes the person who triggers messages. | 
| {clear} | Clears 5 messages | 
| {content} | Displays the contents of the message. | 
| {clean} | Cleans content of trigger | 
| {content|tolower} | Transforms the content to lowercase. | 
| {content|toupper} | Transforms the content to uppercase. | 
| {attach} | Attach a file to a message via URL. | 
| {arslock} | Locks a rule to A.R.S Linking only.(Cannot be ran manually) | 
| {math} | Execute math expressions | 
| {delme:5s} | Delete the bots message after x time. | 
| {hangman} | Transforms text into a hangman style output. | 
| {-mentions} | Prevents keys from directing to mentioned user. | 
| {mention} | Requires mention in an A.R.S Rule. | 
| {botmaster} | Requires the user to be Bot Master. | 
| {embed} | Have Echo post custom Embeds | 
| {getapi} | Custom JSON API System. | 
| {addr|...} | Some intralink keys for your address info. | 
| {randars} | Randomly run a rule from a list (If it exists) | 
.auto .pm={init}
{pm}Hello {/user}!.auto .test={init}
Hello {user}.auto .test={init}
Hello {/user}.auto .test={init}
{sleep:10s}Hello {/user}.auto .test={init}
{del}Hello {/user} I've removed your message!.auto .test={init}
{del:10s}Hello {/user} your message was removed!.auto .test={init}
{del*}Hello {/user} your message was removed!.auto .test={init}
{delme}This message gets removed..auto .test={init}
{delme:10s}This message gets removed after 10 seconds..auto &badword={init}
{-mentions}
{del}{kick}{/user} has been kicked for swearing..auto &badword={init}
{-mentions}
{del}{ban}{/user} has been banned for swearing..auto &Instinct={init}
{-mentions}
{role:Instinct}{/user} has been given the role Instinct..auto &Valor={init}
{-mentions}
{take:Instinct}{role:Valor}{/user} has switched to Team Valor..auto .test={init}
{alert:UserDiscordID}Hello {/user} I have alerted the staff!.auto .test={init}
{alert:UserDiscordID,UserDiscordID}Hello {/user} I have alerted the staff!.auto .test={init}
{exc:Role Name}Hello {/user}!.auto .test={init}
{exc:Role Name,Role Name2}Hello {/user}.auto &.test={init}
{req:Role Name}Hello {/user}!.auto &.test={init}
{req:Role Name,Role Name2}Hello {/user}!.auto .test={init}
Current Channel: {chan}.auto .myprefix={init}
Current Prefix: {pref}.auto .mygreet={init}
Current Greet: {greet}.auto .mybye={init}
Current Bye: {bye}.auto .ismaster={init}
Bot Commander: `{ismaster}`.auto &.listroles={init}
Current roles: ```{listroles}```.auto &.serverroles={init}
Server roles: ```{allroles}```.auto &.joined={init}
User joined: {joined}.auto &.listchannels={init}
Current channels: ```{channels}```.auto &.userid={init}
Poster: {rawid} /* Can change if mention */.auto &.userid={init}
Original Poster: {/rawid} /* Will always return the Author ID */.auto &.announce {params}={init}
{redirect:CHANNELID}{params}.auto .cats={init}
{cats}.auto .sky={init}
{sky}.auto .space={init}
{space}.auto .dbz={init}
{dbz}.auto .cute={init}
{cute}.auto .cars={init}
{cars}.auto .wrecks={init}
{wrecks}.auto .truck={init}
{trucks}.auto .one={init}
{cats}{ars:.two}.auto .two={init}
{cute}.auto .rand={init}
{rand:1,10}.auto .rand={init}
{rand:10}.auto jnevent={init}
{protect}This response will only work for events!.auto .stamp={init}
{timestamp}.auto .stamp={init}
{timestamp:Mon _03, 1987 4:05AM}.auto .stamp={init}
{timestamp:ms}.auto .stamp={init}
{timestamp:ns}.auto &.usernick={init}
User Nick: `{usernick}`.auto .pick={init}
I Choose: `{randlist:Rock,Paper,Scissors}`.auto .pick={init}
I Choose: `{randuser}`.auto .pick={init}
I Choose: `{randuserid}`.auto .pick={init}
I Choose: `{randchannel}`.auto .pick={init}
I Choose: `{randchannelid}`.auto .ownerid={init}
Owner ID: `{owner|id}`.auto .owner={init}
Server Owner: `{owner|name}`.auto .owner={init}
Owner Avatar: `{owner|avatar}`.auto .tst={init}
{!content|contains:tst}This response won't work!.auto .tst={init}
{username|contains:Bot}{/user} has the word `Bot` in their username..auto .tst={init}
{!username|contains:Bot}{/user} doesn't have the word `Bot` in their username..auto &.tst={init}
User ID: `{self}`.auto &.icon={init}
User Avatar: `{usericon}`.auto .tst={init}
Server Avatar: `{guild|icon}`.auto .tst={init}
Server Name: `{guild|name}`.auto .tst={init}
Server ID: `{guild|id}`.auto .tst={init}
Server Region: `{guild|region}`.auto .tst={init}
Server Members: `{membercount}`.auto .tst={init}
Server Admins: `{membercount:Admins}`.auto .tst={init}
Server Bots: `{botcount}`.auto .tst={init}
Server Roles: `{rolecount}`.auto .tst={init}
Server Channels: `{channelcount}`.auto .tst={init}
Perms: `{myperms}`.auto .tst={init}
Trigger: `{trigger}`
/* Prints out .tst */
.auto &.tst {params}={init}
{expint:Sorry, you need to type an integer. No letters or special characters allowed.}
Hey {/user} you typed out an integer: `{params}`
.auto &.pin={init}
{pin}Your message has been pinned!.auto .view={init}
{showchan:ChannelID}{/user} You can now view the channel <#ChannelID>.auto .hide={init}
{hidechan:ChannelID}{/user} You can no longer view the channel <#ChannelID>.auto .readonly={init}
{readonly:ChannelID}{/user} You can view <#ChannelID> not send messages..auto .view={init}
{readnwrite:ChannelID}{/user} You can now read and write in the channel <#ChannelID>.auto .type={init}
{typing}Hello {/user}!.auto &blessme={init}
{reactme::pray:}.auto &bless up={init}
{react::pray:}.auto &bless up={init}
{reactbot::pray:}.auto .user={init}
Discriminator: `{discrim}`.auto .noprint={init}
{stop}This key is great for Statements!.auto .test={init}
Hello {everyone}!.auto .test={init}
Hello {here}!.auto .chanid={init}
Channel `{chanid}`.auto .test={init}
{clean} /* Cleans trigger from the  Content. */
{content}.auto &.attach={init}
/* Clean the content of the trigger. */
{clean}
/* Attach the link from the url. */
{attach|url:{content}}
/* Give Attachment a name and Extension. */
{attach|name:File.png}
.auto .test={init}
{clean} /* Cleans trigger from the  Content. */
{content|toupper}.auto .test={init}
{clean} /* Cleans trigger from the  Content. */
{content|tolower}.auto .tclear={init}
{tclear:15} /* Cleans 15 of the users messages. */
.auto .clear={init}
{clear:15} /* Cleans 15 messages. */
.auto &.translate={init}
{clean} /* Cleans trigger from {content}. */
{translate:es} /* The output language */
.auto trigger2={init}
{arslock} /* Prevent key from being ran manually. */
Hello {/user}! This is a linked rule!
.auto .test={init}
Expression: `{math:15*3}`
.auto .test={init}
The word is `{hangman:Flower Power}`
.auto &.test={init}
{-mentions}
Original Poster: {rawid}
.auto &.test={init}
{mention} /* Detect mentions only */
Hey <@{/rawid}>, You mentioned someone!
.auto &.test={init}
{mention:{/user} You need to mention someone with this command.}
Hey you mentioned someone!
.auto .test={init}
{botmaster:{/user} You are not a commander.}
Hello {/user}!
.auto &.say {params}={init}
You Said `{params}`.auto .update={init}
{json|guild:http://link.com/site}.auto .update={init}
{json|channels:http://link.com/site}.auto .update={init}
{json|roles:http://link.com/site}.auto .update={init}
{json|members:http://link.com/site}.auto .test={init}
{delauto}This rulle will work once!.auto &.flip {params}={init}
{params:flip}.auto &.encode {params}={init}
{params:url}.auto .twitch={init}
{twitch:username}
{game}
{views} - {fps}
{url}.auto .print={init}
{category:names}
{category:baseball}
{category:sports}
{category:instruments}
{category:halloween}.auto &.nick {params}={init}
{nickname:{params}}.auto .embed={init}
{embed:
    {title:} /* Insert the title here */
    {type:rich} /* This is always rich as discord does not have any other types available */
    {author|name:} /* Insert the author name (={user}) here */
    {author|icon:} /* This can be used to display a little picture next to the author name */
    {author|url:} /* URL for Author text. */
    {color:} /* Insert a color here (HEX-colors only) */
    {thumb|url:} /* Insert a link to a thumbnail picture */
    {desc:} /* Your entire description goes here, again {user}, {/user} and related can be used */
    {footer|icon:} /* Insert a link to a footer icon */
    {footer|text:} /* Text that should go alongside the {footer|icon:} goes here */
}
.auto .echo={init}
{embed:
    {type:rich}
    {color:
        {randlist:
            #4286f4,#ff0000,#00ff00,
            ##e8f442,#f49e42,#000000
        }
    }
    {image|url:https://xtclabs.net/img/EchoIcon.jpg}
    {image|width:250}
    {image|height:250}
    {field[0]|name:Echo}
    {field[0]|value:[Echo Official Website](https://echo.xtclabs.net "The Official website for Echo 2.0")}
    {field[0]|inline:true}
    {field[1]|name:Echo Help}
    {field[1]|value:[Echo Documentation](https://github.com/proxikal/Echo "Learn how to use Echo A.R.S Through some Examples.")}
    {field[1]|inline:true}
    {field[2]|name:AutoGo}
    {field[2]|value:[AutoGo Website!](https://autogo.xtclabs.net "AutoGo! A bot like Echo 1.x You run yourself!")}
    {field[2]|inline:true}
    {field[3]|name:Web Manager}
    {field[3]|value:[Discord Server Manager](https://webm.xtclabs.net "Manage Your discord server and Echo from the world wide web!")}
    {field[3]|inline:true}
    {field[4]|name:PHP Webhooks}
    {field[4]|value:[Github Page!](https://github.com/proxikal/discordphp-webhook "Use discord webhooks with ease using DiscordPHP-Webhooks")}
    {field[4]|inline:true}
    {field[5]|name:xTech Labs API}
    {field[5]|value:[View Website](https://api.xtclabs.net/ "xTech Labs offers free API endpoints like memes, jokes etc..")}
    {field[5]|inline:true}
    {footer|text:Requested by: {/user}.}
    {footer|icon:{usericon}}
}
You can have up to 10 fields in a single embed.
.auto .test={init}
{getapi:
{src:https://raw.githubusercontent.com/coolaj86/json-examples/master/java/jackson/user.json}
Name: {print:name:first}, {print:name:last}
Gender: {print:gender}
Verified: {print:verified}
Image Code: {print:userImage}
}
{getapi:
{method:POST} /* All methods work; If no method key found it will default to GET */
{header:Accept==>application/json}
{header:Content-Type==>application/xml} /* You can have as many header keys as you want */
body({"User": "Proxy", "Password": "noob."}) /* Only accepts JSON content (for now) */
{src:your-address-here}
}.auto .test={init}
{randars:trigger1,trigger2,trigger3,trigger4}
/* Will run one of the above rules if it exists */
}