Sample Bot
Updated 3 October 2026

Update log

Everything that changes in Sample Bot, in full, and how to turn each thing on. The announcement in Discord is the short version; this is where every detail lives.

v3.1.1

25 October 2026

Training announcements, a trap channel that removes advertising bots, shift time you can add by hand, and five fixes.

01

Announce a training before it starts

Run /training announce starts_in:30m and the bot posts that one is happening: who is hosting, who is co-hosting, a countdown, and whatever you put in the notes, which is usually the join code. It puts a tick on the post itself, so people can react without hunting for the emoji.

The paragraph underneath, the one about where to stand and what to wear and who not to ping, is yours to write once in /config rather than retyped every session. The start time is a live countdown rather than text, so a host in one timezone saying "starts at 8" does not leave half their staff guessing. It can be designed in the message builder and carries its own banner, like every other post the bot makes.

How to set it up
  1. Open /config Training and pick Where announcements are posted and who gets pinged.
  2. Press Announcement wording and write your instructions.
  3. Trainers run /training announce with how long until it starts. Add cohost, notes or a type if you want them.
02

Honeypot

A channel nobody is supposed to type in. Advertising bots join a server, find the first channel they are allowed to write in, and post their link. They do not read the channel, because they are not a person. So you put a channel at the top of the list that says in large letters not to type in it, and anybody who does is removed before your members ever see the advertisement.

You choose what happens: softban, which removes them and deletes their messages but lets them rejoin, or a kick, a full ban, a day's timeout, or just a warning. Whichever you pick is filed as a normal moderation case, so it shows up in /cases and your mod log like anything else, and they are sent a DM explaining why before they lose the ability to receive one.

Administrators, anybody on a staff board, the server owner and other bots are never touched by it. The sign carries a count of how many it has caught, and can be restyled in the message builder like any other panel.

How to set it up
  1. Make a channel, name it something obvious, and drag it to the top of your channel list so it is the first one a bot finds.
  2. Open /config Honeypot and pick that channel.
  3. Choose what happens to somebody who posts there. Softban is the usual answer.
  4. Press Post the sign.
03

Add shift time by hand

Shifts end when somebody presses a button, and sometimes the button does not get pressed: they were in game for two hours with Discord closed, or they ran an event off their phone. A supervisor who watched them do it can now credit the hours with /shift add member: time:2h.

Credited time counts everywhere real time counts, so it shows on the weekly leaderboard and towards quota. It is recorded as credited rather than worked, with who granted it and why, so the two can always be told apart. The member is told, since hours appearing on the board with no explanation is the sort of thing people ask about. /shift removeadded undoes it, and refuses to touch time that was actually worked.

How to set it up
  1. Give the boards you trust with it Add shift time in /config Staff boards. It starts switched on for your top board only.
  2. Run /shift add with the member, how long, and optionally why.
04

Fixed

  • The Training page would not open for some servers. Putting a shortcut like :yourlogo: in a training's emoji box stopped the whole page from loading, because Discord rejects an entire message over one emoji it cannot read. A shortcut is now refused when you type it, with an explanation, and an emoji the bot cannot use is named on the page and left off rather than taking the page down with it.
  • The CAD threw an error every time a player gained a wanted level, which cut that round of position tracking short. Fixed.
  • A 28 day mute broke a server's whole moderation history. The length was stored in a column too small to hold it, so /cases and the mod log failed to load for anybody who had one on record. Existing cases are unaffected and load correctly again.
  • Session vote buttons sometimes said "This interaction failed" even though the vote had counted, because the bot was updating the session dashboard before answering the click. It answers first now.
  • Verification refused codes that were plainly there. The code is shown in capitals and the check was case sensitive, so anybody who typed it in lower case into the Roblox app was told it was missing while looking straight at it. Capital letters and spaces no longer matter. The profile is also re-read fresh, since Roblox can serve a cached copy for a moment after you save, and the message now says so instead of insisting the code is absent.

v3.1.0

15 October 2026

Voice chat that follows players around the map, training with a mark sheet, partnerships arranged by the bot in both servers at once, and a Revoke button on every record.

01

Training

A kind of training is a list of stages. Make one called Patrol ride-along with Radio discipline, Traffic stop and Pursuit on it, and a trainer runs /training start to post a live mark sheet in the channel they are in with the trainee. They mark each stage out of five, with a note on any of them, and the sheet updates in place as they go. Press Finish and the record is filed in your training channel with every stage and every mark on it, and the trainee is sent their own copy.

Passing is worked out from the marks rather than decided separately: the average has to reach the pass mark you set for that type, so a trainer cannot mark every stage a four and then fail somebody. Each type can be kept to certain staff boards, so the dispatcher sign-off stays with the dispatch leads. Anybody allowed to run that training can pick a sheet up halfway through, which is what happens when a trainer goes offline mid ride-along, and whoever finishes it is the name on the record. /training history shows what a member has been through, which is the thing nobody could answer before a promotion.

How to set it up
  1. Open /config Training and pick the channel finished records are filed in.
  2. Press New kind of training, name it, and set the pass mark out of 5.
  3. Press Add a stage for each thing the trainer runs through. Write what good looks like and the trainer sees it when they mark that stage.
  4. Optionally pick the staff boards allowed to run it, and a channel of its own for its records.
  5. Give your training team Run training in /config Staff boards, and your supervisors Read training records.
02

Partnerships

Partner with another server that runs Sample Bot and the bot arranges the whole thing. You write your advertisement once, set the smallest server you will deal with, and set how many representatives a server of a given size has to put in yours. Run /partnership request, pick the server, and the request lands in their partnership channel with both sets of terms on it, both advertisements, and your representatives named.

They pick theirs on the request and press Accept, and both advertisements go up in the same moment. Neither side has to trust the other to hold up their end, because neither side is the one posting. Both sets of terms are checked again at that moment too, so a server that has shrunk below the other's minimum since asking cannot slip through.

If any representative leaves the server they represent yours in, the partnership ends on its own: both advertisements come down and both servers are told why. That is the thing nobody notices otherwise, because your own members are all still there.

How to set it up
  1. Open /config Partnerships. Pick a channel for partner advertisements and a channel where requests arrive for your staff.
  2. Press Write the advertisement. Put your invite link in it, since this is what a partner server posts about you.
  3. Press Change the terms to set your minimum member count and the representative ladder. There is no default for either: until you write one, you ask for no representatives and turn nobody away. A ladder looks like 200:no, 400:3, 600:2, 1000:1, which refuses anything under 200 members, asks three representatives of a server under 400, two under 600, and one of everything from 600 upward. The last rung has no ceiling, so a server of five thousand owes the same one.
  4. Give whoever handles this Manage partnerships in /config Staff boards, then run /partnership request.
03

Photos and clips on an infraction

/infraction issue takes up to three photos or clips, and they are shown on the record itself, under the reason. The member gets them in their copy as well, which matters because the infractions channel is usually one they cannot read, and /infraction list marks every record that has evidence filed with it. They stay on a revoked record too: keeping a revoked infraction on file is pointless if nobody can see what it was about.

The files are attached to the record rather than linked. A Discord link to an upload stops working within a day, so a record pointing at one would have been a record pointing at nothing by the next morning.

How to set it up
  1. Nothing to set up. Run /infraction issue and fill in evidence, and evidence2 and evidence3 if you have more.
  2. Photos and videos up to 10MB each. Anything else is refused by name before the infraction is issued, so you never end up with a record and no evidence on it.
04

Tickets close when the member leaves

A ticket is a conversation with a member. When they leave the server, their open tickets close, a transcript is saved as usual, and the channel says why. No more channels sitting in the queue looking live for somebody who is not in the member list any more.

This is on in every server with nothing to switch, because it is not a judgement about how long is too long: they have left. A ticket staff pressed Never close on is held open and gets a line saying the member left instead, which is the right answer for a report about the person who just walked out.

How to set it up
  1. Nothing to set up.
  2. Press Never close on any ticket you want kept open regardless.
05

Session boosts can be posted again

/session boost and /session full can be run while the session is already in that state. A boost is a request for players and a full notice is a warning not to try, and both are worth saying again half an hour later. Before, the second one was refused because the first was still the session's status, so staff were switching back to active and boosting again to say the same thing.

How to set it up
  1. Nothing to set up. Run /session boost as often as the session needs it.
06

Staff votes can be called off

Every open vote has a Cancel button on it now, and /session end closes open staff votes as well as sessions and public votes. A staff vote started by mistake could not be stopped at all: it stayed open, blocked the next one, and went on collecting votes for a session nobody was going to run.

How to set it up
  1. Nothing to set up. Press Cancel on the vote, or run /session end.
07

Revoke straight from the record

Every infraction and every promotion now has a Revoke button on the post itself. Press it, give a reason or leave it blank, and it is done. Before, revoking meant scrolling back to the record to read its ID off it and then typing that ID into a command, which is the same scrolling with extra steps.

Only staff with the matching permission can use it, checked when the button is pressed rather than hidden on the post, because the record is posted once for everybody who can see the channel. Revoking an infraction still lifts any automatic strike it had added up to, exactly as the command does, since the button runs the same thing.

How to set it up
  1. Nothing to set up for infractions. Whoever has Revoke infractions already sees it work.
  2. For promotions, give the right boards Revoke promotions in /config Staff boards. It is a new permission and starts off switched on for your top board only.
08

Revoking a promotion puts them back

Taking a promotion back now returns the member to the rank they held before it. The bot remembers which rank that was at the moment the promotion was issued, not when it is revoked, so reordering your ladder or promoting somebody twice more in between does not send them to the wrong place.

There is a /promotion revoke command for it as well, matching /infraction revoke. The record is kept and marked revoked rather than deleted, saying who revoked it, why, and which rank they went back to. Somebody whose first promotion is revoked keeps no rank, because they had none to return to, and the record says that too.

How to set it up
  1. Give the boards you trust with it Revoke promotions in /config Staff boards.
  2. Press Revoke on any promotion, or run /promotion revoke id: with the number on the record.
  3. Promotions issued before this update have no remembered rank, so revoking one takes the role off without giving anything back.
09

Voice chat that follows the game

Members join one voice channel and the bot moves them around based on where their character actually is. Two ways to run it, and you pick: areas, where a region you have drawn gets its own channel, or proximity, where anybody within a set distance of anybody else is put in a channel with them. Two players meet and get a channel, a third walks up and joins it, two groups drift together and become one.

Picking the distance draws it on the real map at true scale, centred on somebody who is online, so you can see what seventy-five studs actually looks like next to a street you recognise rather than guessing. Nobody outside the lobby and the bot's own channels is ever moved, so a staff meeting is safe however close the characters are standing.

How to set it up
  1. Open /config Voice chat and pick a mode.
  2. Choose the lobby members join, and a category for the group channels.
  3. Press Distance & limits to set how close counts, then Preview on the map to see it.
  4. Give the bot Move Members, and Manage Channels if you want it making the group channels itself.
  5. For areas, press Areas and give each one a channel.
10

Fixed

  • Self role panels were the one panel in the bot drawn with no banner, no colour and no way to design them, and they listed every role a second time underneath the heading, as separate lines repeating the buttons directly below. The panel now carries your banner, can be designed in the message builder like everything else, and each button wears the role's own emoji if it has one. Re-post the panel with /selfroles post to pick up the new look.
  • A rejected ER:LC key used to report the HTTP status of a request you never made. It now says what is actually wrong and how to fix it: whether the key was regenerated, whether the join code was pasted in by mistake, or whether a global API key is set that should not be. The key is also checked the moment you enter it, so a server can no longer sit for weeks believing ER:LC is connected when it is not.

v3.0.1

3 October 2026

Status panels you switch with a command, tickets that only the boards you pick can see, and an infraction for staff who sit out a vote.

01

Status panels

A message staff switch with a command. Make a panel called Assistant panel with the command /assistantpanel, add Staff transfers and Applications, post it, and staff run /assistantpanel to set each one On (a green circle), Off (red) or Delayed (orange). Text variables hold whatever staff type, like who is hosting. The posted message is edited in place every time, so the channel always shows where things stand. Use the built-in layout, or design it yourself in the message builder, as an embed or plain text, with {staff_transfers} wherever its status goes.

How to set it up
  1. Open /config Status panels and press New status panel. Give it a name and a command name.
  2. Press Add on/off/delay or Add text for each thing it shows.
  3. Optionally pick one of your designs under How it looks. The page shows the {key} to type for each variable.
  4. Pick a channel to post it in, and the staff boards allowed to update it.
02

Choose exactly who sees each kind of ticket

A ticket type now has one list: the boards that see it. Pick Moderators and Admins, and only Moderators and Admins can see and handle those tickets. Before, boards with the claim any ticket permission and every pinged board could see them too, whatever was picked. Leave the list empty and every staff board sees them. Pings are chosen from the boards that can see the ticket, and the page says plainly who sees it and who does not.

How to set it up
  1. Open /config Tickets and pick a ticket type.
  2. Choose Boards that see these tickets, then which of those get pinged.
  3. Tickets opened from now on follow the new list. Open ones keep who could already see them.
03

Vote attendance

Staff who are active in the server while a vote is up and do not vote can get an infraction automatically. You choose staff votes, session votes or both, how long after the vote starts the check happens, so nobody is caught before they could click, how far back a message counts as being active, and which infraction. It is posted and escalates like any other. Whoever started the vote, anybody on leave, and everybody when the vote has already passed are never given one.

How to set it up
  1. Open /config Vote attendance.
  2. Pick which votes it watches and which infraction it gives.
  3. Press Change the minutes to set when it checks and how far back counts.

v3.0.0, the “Summer” Update

30 September 2026

ER:LC redrew the county, and Sample Bot came with it: the CAD on the new map, department servers run as part of your main one, rules for each channel, self roles, and a long list of things staff can now do for each other.

01

Never close a ticket

A ticket type decides whether its tickets close themselves after a quiet spell. That is the right rule for most tickets and the wrong one for the ticket that has to stay open while management decides something. Staff can now hold one ticket open, whatever its type says. It stays open however quiet it gets, and the ticket shows it is held. Letting it close again starts the quiet clock from that moment, so it never closes the second it is released.

How to set it up
  1. Nothing to turn on. In the ticket, press Never close on the panel at the top, or type /ticket neverclose anywhere in the channel.
  2. Press Let it close, or run /ticket neverclose again, to undo it.
  3. Only staff who can claim that kind of ticket can do this. The button only shows on ticket types that close themselves, set under /config Tickets.
02

Start and end somebody's leave

A member who tells a manager in DMs that they will be away should not have to be chased into filing a request. Staff with the new Force leave of absence permission can put a member on leave directly, and end anybody's leave early. It is treated exactly like an approved request: it is posted in the LOA channel with who started it, the LOA role goes on and comes off, the member gets a DM, and it ends on its own on the date given. Your maximum leave length still applies.

How to set it up
  1. Open /config Staff boards, pick a board, and turn on Force leave of absence under Shifts & leave.
  2. Run /loa forcestart with the member, the last day of their leave and a reason. They are shown the reason.
  3. Run /loa forceend with the member to bring them back now. Holders of this permission can also press End early on any leave post.
03

The CAD map, on ER:LC's new county

ER:LC replaced the whole map, and the CAD, staff map and regions editor are now drawn on the new one. Every unit sits where it actually is: the new map was lined up against hundreds of real player positions, and they follow the roads. It also loads far faster than the map images PRC publish, which are around eighteen megabytes each. All four seasons are there, summer, spring, fall and winter, each with or without postal numbers. The CAD relearns where each postal is from players on the new map, so for the first while a dropped pin may not name its postal.

How to set it up
  1. Nothing to turn on. Open the map and pick a season under Map on the right.
  2. Regions drawn on the old map now cover the wrong streets. Open the regions editor and draw them again.
04

Channel rules

Rules for one channel at a time, each with its own punishment. Make your commands channel commands only, so "hey guys" is removed. Make general no media, which catches uploads, stickers and GIF links. Make a screenshots channel media only, or keep links out anywhere with no links. The message is always deleted, and you choose what happens to the sender: nothing more, a warning by DM, a timeout for as long as you set, or a kick. Timeouts and kicks go on their record. Your staff are never caught, and every hit is written to the automod log.

How to set it up
  1. Open /config Automod and press Channel rules.
  2. Pick a channel, then what it is for. Each rule starts on Delete and warn.
  3. Change what happens to the sender from the menu. For a timeout, press Timeout length and type something like 10m or 1h.
  4. For a commands channel where your bots use ! or ;, press Command prefixes and type them. Leave it empty if the channel is for slash commands only.
05

Start and end somebody's shift

Staff with the new Force shifts permission can start a shift for a member who is in game and forgot, and end anybody's shift. The member is told by DM either way. A shift can only be started for somebody who is actually in your ER:LC server, because shifts end on their own for anybody who is not.

How to set it up
  1. Open /config Staff boards, pick a board, and turn on Force shifts under Shifts & leave.
  2. Run /shift forcestart with the member, and optionally the shift type.
  3. Run /shift forceend with the member. /shift end still works, for either permission.
06

Departments

Run a server for each department, police, fire, DOT, as part of your main server. Up to ten. Each department server gets Plus from your main server for as long as you have it. Ranks follow the roles people hold in the main server: give somebody the LSPD Officer role there, and they get Officer in the LSPD server. Anybody given a rank who is not in that server yet is sent a one-use invite, and has the rank the moment they join, which is how accepted applications land in the right place. Bans in the main server reach every department too.

It is one community underneath as well. A department server uses your main server's ER:LC connection, so shifts and sessions work there without entering the key again. Shifts worked in a department count towards the main server's leaderboard and quotas. Leave approved in the main server puts the LOA role on in every department too. Tie a department to Law Enforcement, Fire & EMS, DOT or Dispatch, and its ranks open that part of the CAD. A new department server can be built for you, with its channels made and your ranks copied in and linked.

Pick an ER:LC team for a department and its shifts run themselves: anybody holding one of its ranks who joins the Police team in game is clocked on in the department, and clocked off when they leave it. And every department can have a live roster, one message listing each rank, highest first, and who holds it, kept up to date by itself.

How to set it up
  1. In your main server, open /config Departments and press New department. You will be given a code.
  2. Add Sample Bot to the department's server, open /config Departments there, press This server is a department and enter the code.
  3. Back in the main server, open the department. Press Build its channels to set up its server, and pick roles in Copy roles from here to make matching ranks there. Or link a role you already have to one of theirs with Add a rank. Then press Sync everybody now once, for the people who already had the roles.
  4. Pick which CAD department its ranks open, if any, and which ER:LC team clocks its members on automatically.
  5. Press Post roster to put a live roster in the department's server.
  6. Bans are copied by default. Press Stop copying bans to turn that off, or Remove them from the server to have people who lose every rank removed from the department's server.
07

Self roles

Buttons that give a member a role, and take it away when pressed again: session pings, departments people are interested in, anything opt-in. Design the panel yourself in the message builder, where any button can now Give or remove a role, or post a ready-made one in a single command. A button will never hand out a role that can moderate or manage the server, a staff board's role, or one above the bot's own.

How to set it up
  1. Quickest: run /selfroles post with a channel and up to ten roles.
  2. Or in the message builder, add a button and set what it does to Give or remove: and the role.
08

Fixed

  • Setting a quota for a staff board refused every number, including 0 for no quota. It accepts them now.
  • Opening the regions editor sent you to the dispatch sign-in and then into the CAD. It has its own sign-in and asks which server you are drawing for. The map now zooms and pans, so a region can be drawn around a single building on the new county.

v2.6.1

25 September 2026

Verified accounts on the feed, a quota per staff board rather than one for everybody, and a reason when a ticket is closed.

01

Verified accounts

An account can now be verified, and every post it makes carries a blue tick beside its name. It is how members tell your official fire department account from somebody who named theirs the same, and a staff announcement from an impression of one. Staff decide it, nobody can ask for it, and it can be taken back at any time.

How to set it up
  1. Open /config Posts and press Verify accounts.
  2. Pick an account from the list to give it the tick, or press it again to take it back.
  3. More than 25 accounts? Press Search and type a name, a handle, or the member who made it.
02

A quota per board

One weekly number for the whole server never fitted: ownership is not doing four hours of in-game moderation a week, and a rule that punishes them for it is a rule you turn off. Each board now carries its own quota, or none at all, and everything that shows or judges one asks for the person's own: /shift, both leaderboards, the staff dashboard, and the Monday promotion and infraction pass.

How to set it up
  1. Open /config Staff boards and pick a board.
  2. Press Quota and type minutes a week. Leave it blank to follow the server default, or type 0 so that board is not held to one at all.
  3. The server default is still Default Weekly Quota in /config Wording & images, for every board that has not set its own.
03

Closing a ticket says why

The Close button now asks for a reason, and /ticket close takes one as an option. Optional in both. Whatever is written is said in the channel before it goes, kept on the ticket, and sent to the member in the DM that tells them it closed. From their side a ticket used to simply disappear. A ticket closed through an accepted close request reuses the reason staff already gave, and one that closes itself says how long it waited.

How to set it up
  1. Nothing to turn on. Press Close as usual and fill the box, or leave it empty.
04

Fixed

  • Claiming and unclaiming a ticket timed out. Both waited on the channel being renamed, which Discord allows about twice every ten minutes and queues after that, so staff saw "Sample Bot is thinking" and then an error. They answer straight away now, and the colour on the channel name catches up afterwards.
  • The session dashboard names the ER:LC server owner instead of showing their Roblox id.

v2.6.0

22 September 2026. Everything since v2.4.0.

The biggest update Sample Bot has had. A rebuilt message builder, a session dashboard, full Discord moderation with automod and ban appeals, merging servers, copying a setup between servers, a social feed, quota promotions, and ticket transcripts you can read on the website. Each section says how to set it up.

01

The message builder, rebuilt

Design any message the bot posts instead of typing a heading and a body into Discord. It is built so a good-looking message takes about a minute.

  • Every message starts from Default, exactly what your bot posts today, with Card, Card with logo, Modern, Just text and Blank beside it.
  • Only the parts you use are on screen, and clicking any part of the preview jumps to the box that edits it.
  • Fill-ins work everywhere they can. The player count, join code, server name, date and session status now work in every message.
  • Banners are edited right there, and they are the same setting as /config Banners.
  • Custom messages get their own command, like /rules, limited to the staff boards you choose.
How to set it up
  1. Go to samplebot.app/builder and sign in with Discord.
  2. Pick your server, pick what the message is for, then pick a look.
  3. Change the words and press Save. Panels and session posts use it straight away. Sticky messages and auto pings need it picked on their page in /config.
  4. To let a team design messages without full access, tick Use the message builder on their board in /config Staff boards.
02

Session dashboard

One message in your session channel that keeps itself up to date: whether a session is running, the server name, join code and owner, the player count, online staff, the queue, and how a community vote is going. It has a Game Quick-Join button and a Notifications button that turns the session ping on or off for whoever presses it. It stays at the top of the channel when a session ends.

  • The low-player command is now /session boost. Full and boost post a new message, and a boost pings your session role.
  • A boost no longer rewrites the original session post into a second copy.
  • Staff votes never appear on the dashboard. Only community votes do.
How to set it up
  1. In /config Channels, set Session Announcement Channel.
  2. For the Notifications button, set Session Ping Role in /config Roles.
  3. Optional: in /config Wording & images, write a Session Dashboard Intro.
  4. Run /send sessiondashboard. Change how it looks in the builder under Session dashboard.
03

Discord moderation and automod

  • Warnings, mutes, kicks, bans and timed bans, each filed as a numbered case with a reason. Timed bans lift themselves.
  • Automod, sixteen filters, from spam and scam links to mass pings and zalgo. Each can delete, warn, or both. Every filter is off until you turn it on, and staff are never filtered.
  • Automatic punishment decides in advance what happens when somebody keeps collecting cases.
  • The moderation dashboard is rebuilt, with one log for Discord, in-game and automod, and a card for every person.
How to set it up
  1. In /config Staff boards, give boards the moderation permissions they need: Warn, Mute, Kick and Ban members.
  2. In /config Moderation, pick a log channel and add preset reasons.
  3. Use /warn, /mute, /kick and /ban.
  4. For automod, turn on the filters you want in /config Automod.
04

Ban appeals

When somebody is banned with /ban, the message telling them why can carry an Appeal this ban button. What they write lands in a channel you choose, pinging the boards you choose. Accepting unbans them and sends them an invite back; denying tells them the ban stands. Only permanent bans made through /ban can be appealed.

How to set it up
  1. Open /config Moderation and press Ban appeals.
  2. Pick the channel appeals land in. That turns appeals on.
  3. Optional: pick the boards to ping, and set a fixed invite link. Without one, a single-use invite is made when an appeal is accepted.
  4. Anybody who can ban can accept or deny an appeal.
05

Tickets that close themselves

When the member stops replying, the ticket warns them and then closes, per ticket type. Nothing closes before staff have replied, and a ticket where the member spoke last is never closed.

How to set it up
  1. Open /config Tickets and pick a ticket type.
  2. Press Auto-close and set how many hours of silence close it, how many warnings to send, and how far apart. Zero hours turns it off.
  3. This is part of Sample Plus+.
06

Ticket transcripts on the website

Every closed ticket's transcript is kept and can be read at a link after signing in with Discord. Only the person who opened the ticket, staff who can handle that kind of ticket, and whoever runs the server can read it. The member gets the link when their ticket closes.

How to set it up
  1. Nothing to turn on. Every ticket closed from now on has one.
  2. Optional: to also post each transcript for staff, set a transcript channel on the ticket type in /config Tickets. The post carries a View transcript button.
07

Quota promotions and infractions

Promote whoever reaches two or three times the weekly quota by one rank, onto the next board if that is where the next rank is, and file an infraction of your choice for whoever misses it. It is decided every Monday for the week that just ended. Staff on approved leave are never punished, and a week is only judged if these rules were on for all of it.

How to set it up
  1. In /config Wording & images, set Weekly Shift Quota (minutes).
  2. To promote, set Promote At 2x Or 3x Quota to 2 or 3.
  3. To punish a miss, set Infraction For Missing Quota to warning, strike, suspension, demotion or termination.
  4. Make sure your ranks are set up on each board in /config Staff boards, with a role for each, and that Promotions Channel and Infractions Channel are set in /config Channels.
08

Merging two servers

/merge folds two servers into one: the roles, the channels, your Sample Bot setup, then the members. Nothing happens until the other server's owner reviews the whole list and accepts. Members who have not moved get reminders on your schedule.

How to set it up
  1. Merge requests are off by default. Allow the direction you want in /config Merge settings.
  2. The owner starting it runs /merge with the other server's ID and chooses what carries across.
  3. The other owner accepts from the message they are sent.
09

Copy a setup into another server

Panels, ticket types, automations, applications, FAQ answers, moderation setup, auto pings, sticky messages, roleplay types and the marketplace can be copied to another server. Tickets, shifts and punishment records never travel.

How to set it up
  1. In the server you are copying from, open /config Export and import and export it. You get a code.
  2. In the other server, import that code in the same place. Anything that cannot be matched is shown before anything is written.
10

Staff

  • Boards hand out roles. Set them with Roles it gives on the board in /config Staff boards.
  • Duty nicknames in your own words. Set the three Nickname Tag settings in /config Wording & images.
  • Demotions say what an accepted appeal hands back. Pick the rank with the appeal_rank option on /infraction issue.
  • Nobody decides their own infraction appeal, and roles the bot owns put themselves back if removed by hand. Both are automatic.
11

Community

  • A social feed. Members make accounts with /account and post with /post. Set the forum channel, the log channel and account limits in /config Posts.
  • Sticky messages and auto pings: set them up in /config Sticky messages and /config Auto pings. Both are part of Sample Plus+.
  • The marketplace is a shop, with a picture and a Buy button per item. Add items in /config Marketplace, then run /send marketplace.
  • Suggestions can ping boards and limit how many one member has waiting. Set both in /config Suggestions.
  • Counting saves: servers that have reviewed the bot at samplebot.app/reviews get one save a day. Choose when it is used in /config Counting.
  • /blacklist keeps your server's list of servers you will not deal with. Set Server Blacklist Channel in /config Channels, and give boards Blacklist other servers in /config Staff boards.
12

The assistant works without paying for AI

The ticket assistant, the application reader and the automation builder run on six AI providers: Anthropic, Google Gemini, Groq, OpenAI, xAI and OpenRouter. Gemini and Groq are free with no card.

How to set it up
  1. Get a key from the provider you want.
  2. Paste it in /config Connections. The bot checks it and picks a model that key can use.
13

Sample Plus+

One payment of $50 USD or 8,000 Robux for one server, with our team setting it up for you. Card payments become your slot the moment they go through, slots stack, and every free server gets three days of Plus to try a week after the bot joins.

How to set it up
  1. Run /buy plus, or see the pricing page.
  2. Redeem the slot on the server you want from the same command.
14

Fixed

  • People joining a busy server were welcomed as member number one.
  • Buttons failed with "This interaction failed" for over a minute after every restart.
  • The staff boards page would not open once a server had about fifteen boards. The same fix covers ticket types, applications, dashboard pages and the marketplace.
  • The website took about a minute to load your servers in the CAD and the staff dashboard.
  • Tickets that close themselves never actually did once a ticket was claimed.
  • Adding a marketplace item failed in every server.
  • /config Automod would not open.
  • Panel wording could not be saved.
  • A suggestion with a ping role never posted.
  • Continue with verification failed for members who were already verified.
  • Live in-game events could not be set up without buying the CAD.
  • Voice channels never appeared in the status channel pickers.
  • One deleted emoji could take a whole ticket panel down.
  • Verify and ticket buttons disappeared the second time a design was saved.
  • A panel lost its top banner as soon as it was given a design.