Help & Support
Our help database contains answers to most of the common questions regarding our products.
If you are unable to locate a satisfactory answer for your query by searching here, please contact us.
I lost my Cbox embed code. Where can I get it?
Your Cbox embed code is available at your control panel. You need this code to install your Cbox on your website.
Also on that page is your Quick Link — a URL which you can use to access your Cbox directly in your browser or on your mobile device.
How do I put my Cbox on my website?
Once you have created your Cbox account, go to the Publish page of your control panel. The code and steps for embedding your Cbox are provided there for a number of common platforms.
If you install your Cbox and all you see is code, or nothing at all, your web host may be removing or otherwise interfering with the HTML iframe tags that Cbox uses. Your Cbox code needs to be pasted into an area of your site that accepts HTML without modification. This may mean switching your editor from "rich text" or "WYSIWYG" mode into HTML-editing or "raw" mode, or you may need to open your template files in a plain-text editor like Notepad.
Remember that you always have the option of posting or sharing your Cbox Quick Link — this gives visitors direct access to your Cbox in a full-screen layout, so it's perfect as a mobile option or for stand-alone use.
How do change my Cbox's style to go with my site's design?
Go to the Theme editor in your control panel. There you can specify the fonts and colours of your Cbox, using a point-and-click editor. You can always reset your theme to one of the preset defaults there, if you would like to start again.
If you have a Premium or Pro Cbox you can edit CSS, which gives you complete control over presentation.
How do I delete messages?
If you have a Premium or Pro Cbox, you can create a moderator name for yourself at your Users page, and then log in on your Cbox using the "profile" link. You will see a delete icon [x] next to each message in your Cbox, and you will not have to log in at your control panel at all to delete messages.
Alternatively, visit your Messages page to delete messages individually or in bulk. Deleted messages are removed from your public Cbox history, but are preserved in your Archives.
Can I make my Cbox transparent?
Yes. In the Theme editor, simply delete the colour codes for the main and form background ("BG") elements. This will make the Cbox transparent, allowing whatever is behind the Cbox to show through.
Note that any pop-ups generated by a transparent Cbox will have the default background colour — usually white. If your font colour is light, it may be invisible in popups. You can fix this by editing the CSS to introduce a background-color rule for popups.
How can I upgrade my Cbox?
Your Cbox is not at its full potential unless you upgrade to a paid plan.
Upgrading unlocks features like user registration and moderation, private messaging, and priority support: things essential for getting the most out of your Cbox. See our product comparison.
We offer a 30-day money-back guarantee on all purchases, so if you aren't sure it'll be worth it, you have nothing to lose by finding out.
You can also upgrade for a friend – simply enter their Cbox account name on the upgrade page instead of your own.
Can I use HTML in filters and sticky messages?
Cbox has traditionally supported HTML in filters and sticky messages for paid accounts. For security reasons this option is not enabled by default. Furthermore, in HTML mode, some other features of Cbox may be limited or disabled.
If HTML mode is disabled on your Cbox, then you can add markup and colour to your filters and stickies using boxcode, which supports a range of HTML-like tags.
If you are currently using HTML mode, we strongly recommend disabling it and using boxcode instead — this will help to ensure that your Cbox is as secure as possible and compatible with all features.
Filtering names and messages
At its simplest, the Custom filter is a list of words that you want hidden or replaced in your Cbox. Enter words, one per line, and if a user's name or message contains that word, it will be filtered out.
badword badderword:betterword
When a message is applied to the above filter, "badword" will be turned into asterisks, and "badderword" will be replaced by "betterword". The ":" (colon) character separates the pattern text from the replacement text. If the colon is left out, the entire line is the word to match.
Filters can be useful for more interesting things too, however.
Styling and aliasing names
You can set colours for admins, mods and registered users on your Themes page, but you can create individualized filters for particular names or words you want to highlight.
jacob:[color=green]TheRealJacob[/color]
This user would still enter "jacob" as his name in your Cbox, but whenever he posts, or whenever someone mentions him in a message, the output will be TheRealJacob, in green.
If you want to apply style besides colour to names, you can use the [class] boxcode.
jacob:[class=vip]{$0}[/vip]
You will then need to define your custom CSS for this class.
Using and disabling boxcode
Boxcode itself can be customised, making the combination of filtering and formatting very powerful. See more.
Your custom filtering rules support boxcode, as seen in the example above, even if you have boxcode disabled for messages in your Settings. You can also match the boxcode that people use (or attempt to use) in their messages.
![br]:/ haiku:The moment two bubbles[br]are united, they both vanish.[br]A lotus blooms.
The first rule will match "[br]" appearing in messages, and replace it with a slash. But the [br]s that appear in the second rule will still work, creating line breaks, because each replacement string is boxcode-filtered independently.
If boxcode is enabled for messages, then you can create aliases and compound boxcode using partial (open) tags:
![red]:[color=#f00][b] ![/red]:[/b][/color]
When a user enters [red]this is red[/red], the filter translates this to [color=#f00][b]this is red[/b][/color], which is now valid boxcode, and will in turn become HTML.
Tip: If a rule isn't matching when it should, try putting ! at the start of the line. If a rule is matching when it shouldn't, try putting ~ at the start of the line.
Filter modes
By default, filter rules are matched anywhere that the search text is not surrounded by other letters. Starting a line with the prefix "!" (exclamation mark) makes the rule a simple substring filter instead. Such rules are stronger in the sense that they will match in more contexts. However, unintended substitution is also more likely.
By contrast, a rule that begins with "~" (tilde) is only matched when preceded by space and followed by space or punctuation. This is similar to how emoticon substitution works. Such rules are looser in the sense that they are only matched in this specific form. Unintended substitution is less likely, but the rule may not be triggered as easily as desired.
fred:Fred !color:colour ~plane:✈
In this example, the first rule will match the "fred" in "@fred" and "(fred)", but not in "freddy" or "alfred". The second rule will match "color" as well as "colorful" (substituting "colour" and "colourful" respectively). The third rule matches only "plane" by itself or followed by punctuation.
Filter order
Names and messages are filtered first by your custom rules. Messages are then parsed for smilies, boxcode, and links, in that order, if you have these features enabled. Names do not have these built-in filters applied.
Within your custom filter itself, the order of rule-matching is from top to bottom.
hi:hello hello:goodbye
If a user posts "hi!", then as the message passes through the above rules it will be translated first to "hello!", and then, because it now matches the second rule, it becomes "goodbye!". In general, whenever a rule matches something that appears in another rule's replacement text, the order matters, and earlier rules can influence the effect of later ones. It's not recommended to depend on this behaviour, however. To create internal shortcuts, use variables.
Variables
A line beginning with a "$" (dollar sign) defines a variable that you can use in subsequent replacement text:
$pre:[big][color=#ff0000] $suf:[/big][/color] jane:{$pre}Jane{$suf} john:{$pre}{$0}{$suf}
The first two lines do not match any name or message text; they define variables representing the strings following the colon. Variables are written in to the replacement string by surrounding them with braces. Variables in replacement text are expanded before filtering itself is applied to messages. The variable $0 is special: it contains the text that matched.
How do I find out who posted in my Cbox?
Cbox cannot identify your visitors, but we do record IP addresses. Your Messages page makes them available to you, and you can also ban people from posting in your Cbox from that page.
Using the Cbox webhook
Getting started
This feature requires some familiarity with hosting your own scripts on the Web. Our code examples are in PHP, but you can use any platform and programming language you like, providing you can access HTTP POST data.
The Cbox webhook is an HTTP POST callback mechanism for getting a copy of new messages as they are posted to your Cbox. A couple of lines of PHP are sufficient to get started:
<?php $input = @file_get_contents("php://input"); $json = json_decode($input); // $json contains array of messages error_log(print_r($json, true), 1, "your-email@example.com"); echo "OK"; ?>
With the above code uploaded to your server, test that it works by opening the corresponding URL, e.g. https://yoursite.example.com/cbox.php, and confirming that you see "OK". You can then enter it as your callback URL in your Cbox settings.
When a user posts a message, Cbox will issue an HTTP POST
request to your callback URL,
with Content-Type application/json
. The request body will look something like this:
[{"type":"message","box":802140,"channel":0,"time":1488526982,"uid":0,"name":"test","text":"this is a test","link":"","ip":"0.0.0.0"}]
The object is an array of messages. There can be multiple messages in a single POST. Your code can do whatever you like with the messages; it just needs to return an HTTP OK status to Cbox. Any response body is ignored.
Message contents
The message webhook is located after the message-accepted stage and before filtering. This means your endpoint will only receive messages that are being published on your Cbox (i.e. not messages from banned users). They will be "raw", having none of the built-in or custom filters applied (i.e. no boxcode expansion). Important to note is that messages can contain any UTF-8 character, and so should be escaped as appropriate before storage or display.
Message properties:
type
— always set to "message"box
— your Cbox ID.channel
— The channel ID to which the message was posted.id
— The message ID.time
— Unix times when the message was received.uid
— Registered user ID. Guest IDs are undefined or zero.name
— The user's name, as entered.text
— The text of the message, as entered.link
— Link associated with the message; the profile URL.ip
— IP address of the user.
Errors and retry
Your endpoint needs to return an HTTP success header (status codes in the 2XX
range) in response to the POST.
If it returns any other status, or times out, Cbox will consider the delivery to have failed. On failure, Cbox will buffer messages for
retry. Cbox will retry the POST at increasingly long intervals, even in the absence of further new messages.
Cbox buffers are not unlimited; if your endpoint is down for an extended time, the oldest messages may be dropped.
Notes
- Cbox ignores the body sent in response to the POST, and does not wait for it to complete.
- Return a
200 OK
to Cbox as quickly as possible. Otherwise, there is a risk of a timeout, which will cause the same message(s) to be re-sent. If your message processing is slow, move it "offline", either by completing and flushing the HTTP response early and continuing to work, or by offloading incoming messages to another service. - For forwards-compatibility, confirm that
type == 'message'
in your code; new event types may be supported in future. - The box and channel properties mean you can multiplex several Cboxes to a single endpoint, and filter or switch based on channel.
- Message ID is a monotonically increasing number. Larger IDs are always newer messages.
- Although some properties are 32-bit integers, it's recommended that you treat all values as UTF-8 strings for storage or further processing.
- The POST request includes a custom HTTP header,
X-Cbox-Time
which contains the Unix timestamp at the moment the POST was sent. You can use this to calculate differential message times.