Get started with CharmBot
Sign in with Discord, select a server you manage and complete Quick Start. Use an organization template if needed, configure only the features you want, check Server Health and save a configuration snapshot.
Open dashboardFind setup guidance for safety, community tools, Twitch, updates, music, accessibility and Minecraft.
Sign in with Discord, select a server you manage and complete Quick Start. Use an organization template if needed, configure only the features you want, check Server Health and save a configuration snapshot.
Open dashboardConfigure safety tools, logs, welcome messages, roles, leveling, birthdays, tickets, polls and more for one Discord server.
Explore community featuresCreate up to five ticket types with their own intake questions, staff roles, categories, welcome copy, idle handling and optional ModMail.
Open your server dashboardSet up button-only member verification, quarantine roles, trusted staff, anti-nuke limits, incident alerts and emergency lockdown before you need them.
Open your server dashboardSet up Twitch, Kick and TikTok alerts, YouTube and podcast feeds, RSS, game updates and free games for the right Discord channel.
View media and alert featuresManage listening queues and playlists, or set up consent-first transcription and text to speech for voice channels.
See music and accessibilityUse existing voice channels and categories, or let CharmBot create either or both after a preview. Set owner controls and automatic empty-room cleanup.
Open your server dashboardCreate trackable Discord invite campaigns, review aggregate attribution quality and understand unknown or recovered counter activity without member-level tracking.
Open your server dashboardShow members, non-bot people in voice and scheduled events in clearly named Discord channels, with safe setup and aggregate activity trends.
Open your server dashboardInstall the connector, create a short-lived pairing code in Discord, then link a Minecraft server with one command.
Minecraft setup guideScan a Discord layout without changing it, choose a template, inspect the exact preview, then apply or roll back the restorable changes.
Open your server dashboardCreate a debounced sticky message for a channel, preview its presentation and let CharmBot safely replace only the post it owns.
Open automationsUse /notify to choose your own keyword, channel scope, matching style and cooldown without exposing the alert to other members.
Open your server dashboardSee the current public service health before troubleshooting an alert, dashboard, or connector issue.
View service statusNo. CharmBot remains in Closed Beta, with the same access rules. The nine improvements cover draft-safe reaction-role restoration, health alerts, scheduled snapshots, quiet hours and digests, creator profiles, conditional automations, the staff inbox, community challenges and Minecraft version inventory. Release checks and real-world feedback continue before any decision to widen access.
Configure the normal Twitch, Kick and TikTok LIVE alerts first, then open Creator profiles to link accounts and choose a shared channel, audience and message prefix. New profiles start paused. After enabling or re-enabling, the profile waits until every linked live account has a verified offline check before taking over future alerts. Missing or failed checks never count as offline. Separate alerts are the default; optional combined mode updates one live message with the current links without another ping. YouTube is an account association only, so its upload alerts keep their existing settings. Profiles do not grant or remove live roles. Pause before changing accounts, destinations or delivery mode, and let any owned streams finish.
Open Community challenges to create a season with explicit start and end times, then add clear targets and an optional honorary completion label. Share the member opt-in page. Members must choose to join, and each member sees only their own progress; staff can review opted-in participants. Staff manually enter verified progress with an audit reason. There is no automatic activity harvesting. Completion labels appear only on the challenge page and do not grant money, economy credits, Discord roles or profile badges. Progress locks when the season ends or is archived.
Open the member challenge page and choose My challenge data to export your records or delete all participation and progress for that server. Leave and delete my progress removes one challenge record, including in past or archived seasons. Own-data controls remain available after server membership or feature access is lost. A delayed opt-in request cannot restore deleted progress. Staff can delete an archived season after confirmation, and a background sweep removes seasons and participant progress 90 days after the season ends. A minimal privacy revision remains to prevent stale requests from recreating deleted records; security audits follow their existing retention policy.
Open the dashboard, choose your Discord server, then open the feature from the sidebar. CharmBot keeps each server's channels, roles and settings separate.
Open Twitch Shoutouts in the server dashboard, choose the channel and configure the creators your server follows. CharmBot posts when a configured creator goes live.
Open Kick Shoutouts in your server dashboard and enable its own Feature status switch. Add a Kick channel slug or official kick.com channel URL, choose a Discord announcement channel, and optionally select up to five ping roles and a message template. Each creator can have a separate channel, message and safe @everyone audience. Choose whether announcements are deleted when streams end. Link each creator to their Discord member to assign a Now Streaming role; each member can be linked to one Kick creator. The optional eligible streamer role limits announcements for linked creators, while unlinked creators remain explicitly followed. Live-role assignment is independent of that eligibility role. Discord streaming presence is not required, and a shared Twitch and Kick live role remains while either stream is live. Checks run about every two minutes. A currently live creator can be announced after enabling, and each stream is announced once per server and platform. Alerts are not instant and short streams may be missed. If setup is required, the CharmBot deployment owner must configure the official Kick app credentials for the API and bot; server managers never need to enter or share credentials in the dashboard. Existing Kick sources in Integrations keep their saved settings, but add new creators through Kick Shoutouts to avoid duplicate announcements.
Open TikTok Shoutouts below Kick Shoutouts in your server dashboard and enable its Feature status switch. Add up to 25 usernames or official profile URLs, choose a default Discord channel and save. Each creator can have a separate channel, upload and LIVE switches, custom messages, role pings and an optional linked-member mention. Member links are optional for notifications and required only for member roles or mentions; Discord does not expose TikTok account connections for automatic discovery. Checks default to every 10 minutes and can be set from 5 to 1440 minutes, with longer delays after failures. The first successful check records existing videos without posting a backlog. Saved video and LIVE state survive restarts. TikTok requests are free and use public information, but blocking, parsing changes and missing public data can delay or prevent alerts. A failed check remains unknown rather than marking a creator offline. No videos or streams are downloaded, and Discord controls normal URL previews. After saving, choose a creator under Preview and send a test. Send test LIVE works without waiting for a stream; Send test upload requires one successfully detected public video. Tests are labelled, do not ping anyone and do not change real alert history. Remove an account line and save to stop following it. Existing signed TikTok integrations keep their settings; avoid running both for the same notifications.
Choose the relevant feed or update feature in the dashboard and select its destination channel. Each source is configured per Discord server, so communities do not share feeds.
Open Free Games or Updates and use Follow on a source card. Choose the destination channel there and confirm. If a saved default channel is still available, it is offered for convenience. Existing follows keep their channel, message and role settings; open Configure alerts or View updates to change those. The separate Follow all in this channel control remains available when you want the complete catalog.
Instagram currently uses signed incoming events, not automatic checks of a pasted username. Open Custom Integrations, choose Instagram, select a Discord destination and create the source. Give the reveal-once endpoint and signing secret only to your own trusted, authorized event sender. Creating the source alone does not start watching Instagram. Never paste an Instagram password, session cookie or account access token into this form. A simpler direct connection through Instagram Login remains planned: it requires a Creator or Business account that authorizes access and a configured Meta app for CharmBot. Personal-account username monitoring is not promised.
A direct authorized Instagram account connection remains planned but paused. Existing Instagram signed sources remain available. CharmBot News, TikTok notifications, quick source-card follows and the Voice Rooms setup choices are available features, not future promises. More integrations are chosen around community demand and sustainable provider access. The Roadmap page separates these remaining connections from ongoing reliability and accessibility improvements.
Official CharmBot announcements are included for every server using CharmBot and cannot be turned off. They go to the Tech Updates channel, or to the bot log channel when no Tech Updates channel is configured or accessible. A games-only channel is not used unless it is also your Tech Updates channel. There is no separate CharmBot News tab or channel setting. Choose your update destination under Updates and your bot log channel under Settings. No channels are created, no direct messages or pings are sent, and old releases are not replayed. CharmBot needs View Channel, Send Messages and Read Message History.
Only CharmBot's designated publisher account can use the release publisher, linked from the server picker and server overview. Choose one server, selected servers or every server where CharmBot is installed, including servers the publisher has not joined. Save a draft, review the exact message, every destination and any blocked servers, then explicitly confirm the ready-server count. The preview warns when a server has no Tech Updates channel and uses its bot log channel instead. Those warnings do not block a working bot log destination. Publishing queues delivery; it does not prove delivery. Recent releases show queued, delivered, failed, cancelled and uncertain results. Changes require a new preview. Server managers cannot publish to other servers.
Each release needs regression and permission checks, clear notification outcomes, tested backup restoration and rollback, security review, bounded load checks and current setup guides. Mobile, keyboard, localization and real-world feature feedback are reviewed separately. Automated tests do not replace live acceptance. CharmBot stays in Closed Beta until the owner reviews the remaining issues and explicitly approves wider access.
Open Setup checklist under Server Management. Choose Bot log in General Settings, or follow a technology source in Updates and save its channel. Check your language and timezone, configure a few features, review Server Health and save a configuration backup. Existing Quick Start completion is kept. Opening a settings page does not mark a feature tested, and the checklist never sends messages or starts voice sessions.
Server Health combines available service checks, enabled features, destination access, feed delivery evidence, TikTok checks and Minecraft heartbeats. It also checks the destination for official CharmBot announcements using the publisher's routing rules. Issues appear first with What to do next guidance and direct settings links. Not fully monitored and unavailable are not healthy results. A healthy service response does not prove that someone heard TTS or that every external provider is currently available.
Open Notification history under Server Management. It combines stored results for game and software feeds, free games, creator feeds, Twitch, Kick, TikTok and official CharmBot announcements. Filter by provider, delivery state, recorded tests or text. The view is limited to 200 recent records from the last 90 days, with up to 50 per provider, and retention may reduce coverage. Uncertain means there is no confirmed receipt, not that resending is safe. Opening the page never retries a notification. For older feed deliveries, the current feed channel is shown because the historical destination was not saved.
TikTok's public data can be unavailable, incomplete or delayed. An unsuccessful or overdue LIVE check now shows Unknown now, with the last confirmed observation and its time. A successful upload check does not prove a current LIVE result. CharmBot keeps its saved upload and session history, waits for the next scheduled check and does not announce the same known event again just because a check failed. Use the labelled test control to test a saved destination; a queued test is not yet a confirmed delivery.
In your signed-in server dashboard, open Media & Games, then Minecraft. Choose Paper, Spigot & Bukkit: all three use the same plugin JAR, installed in plugins. Fabric and Forge have separate downloads installed in mods. The dashboard includes file sizes, SHA-256 checksums, Java and loader requirements. These are the supplied working 0.1.0 builds with reported Minecraft 26.2 support, not broad multi-version builds. Stop the Minecraft server before replacing a connector, keep its configuration and leave only one CharmBot JAR in that installation.
Configuration Backups saves up to 20 snapshots per server. Supported sections include language, timezone and appearance; welcome, goodbye and automatic role; captions and text-to-speech; Translator; automation drafts; reaction-role panel drafts; ticket intake settings; Twitch, Kick and TikTok alert settings; and catalog update-feed settings. Restored reaction-role panels do not publish until you review and save them in Reaction Roles. This is not a full Discord server or member-data backup. Credentials, dashboard access grants, member links, delivery history and feature enabled switches are not copied.
Open Configuration Backups, choose supported sections and enable a daily or weekly schedule. Keep 6 to 20 snapshots in total and protect up to five recovery points from rotation. Each snapshot lists which sections changed. Schedules pause if the configuring manager loses access or repeated checks fail. Snapshot creation does not restore settings or send Discord messages. Export important recovery points for longer storage.
Each automation step can run always, if conditions match, or otherwise when those same conditions do not match. Conditions support member roles, message channels, local weekdays and time windows in your server timezone. Use the same condition list for paired if and otherwise steps. Conditions use the original trigger, so waiting or restarting does not switch branches. Missing context skips both branches. Dry-run preview uses simulated roles, channel and UTC time to show which steps would run. It never saves, sends messages or changes roles, and it does not certify permissions or delivery.
Open Server Health and enable staff health alerts, then choose a channel and cooldown. CharmBot checks periodically and reports new problems and confirmed recoveries without repeating the same warning every check. Current channel access and server permissions are checked again. An unavailable provider check is not proof of recovery. These alerts are optional and start disabled.
Open the notification preferences in Server Health. Quiet hours use your server timezone and delay eligible updates and upload alerts. Optional digests group updates in their existing destination channels without role pings. LIVE shoutouts, moderation alerts and official CharmBot News remain immediate. Old or expired offers are checked again before delivery. Existing delivery history still identifies the original items.
The Staff inbox brings tickets, ModMail, bug reports, appeals and applications into one work list. Assign an eligible staff member, set a priority and leave a handover note, then open the original record to act on it. Private answers and transcripts stay in their original tools. Staff only see sources and channels they currently have permission to access; moderation-only access shows appeals.
The preserved 0.1.0 JARs do not report their installed CharmBot connector version, so the inventory shows Unknown. CharmBot will not guess from the Minecraft version or server platform. Future version reports can be compared with the verified download catalog, but matching version text does not prove a checksum match. Replacing a JAR with the existing 0.1.0 download will not add version reporting. Those files remain unchanged, with user-confirmed Minecraft 26.2 support only; no broader compatibility or new connector release is claimed. Keep a working installation unless you have a verified reason to change it, and follow the stop, backup, replace and restart instructions when updating.
Choose a saved snapshot and only the supported sections you want. You must currently manage both servers when copying. Match each source channel and role to an explicit destination; names are never guessed. Direct member mentions must be removed before copying between servers. Review the exact before-and-after preview and confirm within 10 minutes. Changed settings invalidate the preview. Restoring saves a recovery snapshot first, preserves unrelated settings and does not enable disabled features.
CharmBot only shows servers your signed-in Discord account can manage. Check that you selected the correct account and server, and that your Discord permissions still allow the change.
Open Server Organization from the dashboard. Start with its read-only scan, choose a template, and generate the exact before-and-after preview. Nothing changes until a server manager confirms the plan. Protected roles, managed integrations, and custom channel access stay untouched, and reversible changes can be restored from the organization history.
Enable Safety & Trust, choose the required quarantine role and an optional verified role, then choose one verification channel and publish its panel with /safety verification-panel. Verification is button-only: in that channel, the quarantine role needs only View Channel and Read Message History so members can see CharmBot's Verify me button. Do not grant it Use Application Commands, messaging, reactions, threads or voice access, and keep every other channel hidden. The quarantine role is also required if automatic anti-nuke actor containment is enabled; CharmBot refuses to save either protection when that role is missing or unsafe. Review the anti-nuke threshold, incident-alert channel, trusted staff and lockdown exemptions, then test with a non-staff account.
Use /safety lockdown with a clear reason if normal access must be contained immediately. Check the incident history and recovery preview before restoring anything. When the incident is over, /safety unlock restores the permission state CharmBot recorded before lockdown; do not manually rewrite those same permissions while a lockdown operation is still running.
CharmBot deliberately refuses to recreate privileged roles automatically. Administrator and other dangerous permissions need a server owner to review and restore them manually, which prevents a recovery action from silently granting powerful access to the wrong place in the role hierarchy.
CharmBot protects @everyone, managed integration roles, Administrator and server-management roles, resources above CharmBot in Discord's hierarchy, and channels that the signed-in manager cannot manage. Move CharmBot above roles it needs to manage, verify your own Discord permissions, then scan again.
Use Find feature in the dashboard sidebar to search the available settings for the server you selected. In Server Organization, the scan and manual placement areas also have filters so you can focus on manageable resources or a smaller group of channels.
First check the public service status page, then confirm the destination channel and CharmBot's permissions. Do not repeat actions that create posts while an earlier request is still pending. If the issue continues, report the feature, expected result, approximate time, and any safe error message to staff.
Open Automations in your server dashboard and create one sticky message for the destination channel. Choose plain text or an embed, then set a short debounce delay and a minimum posting interval so an active conversation does not cause a replacement for every message. CharmBot needs View Channel, Send Messages, Read Message History and Manage Messages there, plus Embed Links for an embed. When replacing, disabling or deleting a sticky, CharmBot targets only the exact saved message ID and confirms that the post belongs to CharmBot; it does not bulk-delete channel messages.
Run /notify add in a Discord server and choose a keyword or phrase, an optional channel, whole-word or contains matching, and a cooldown. If you omit the channel, CharmBot considers only channels in that server that you can currently view. CharmBot sends a test DM before enabling the alert, and automatically pauses delivery if it can no longer DM you. The private alert identifies the author and channel and includes a jump link, but it does not copy the matched message text.
Use /notify list to see your private alert codes and settings, /notify pause or /notify resume to control one alert, and /notify remove to permanently remove one. Use /notify clear with confirmation to delete every keyword alert and its delivery history for you in that server. Resume performs another private DM check. Your chosen terms are not shown publicly, and matched message content is not saved in CharmBot's database.
A dashboard workflow can react when a role is added or removed, when a message contains, exactly matches, starts with, ends with or whole-word matches a keyword, or when a schedule is due. A workflow can send a channel message, send a private member DM, change a role, write a private audit note or wait before its next step. Each workflow supports up to 10 actions and 25 channel filters. Only the server owner or a native Discord Administrator can leave keyword channels empty to listen everywhere; delegated managers must select channels they can view. Scheduled workflows cannot send a member DM because there is no triggering member, and a wait step cannot be the final action. Editing, pausing or deleting a workflow safely cancels its queued old steps, CharmBot's own role changes never trigger a loop, and stale dashboard tabs cannot overwrite a newer save.
Open Personal Voice Rooms under Media & Games. You can use an existing join-to-create voice channel and room category, create a new voice channel in a selected category, create a category while keeping your existing voice channel, or create both. In Let CharmBot create the setup, choose the option, inspect Preview channel setup, then confirm. Nothing is created before confirmation. An existing voice channel stays where it is; a new room category applies to the temporary rooms. Save other settings with Save Voice Rooms before enabling the feature. Members who join the hub move into a temporary room they control with /room commands. CharmBot never gives room owners Manage Channels and keeps one live room per owner.
A temporary room is deleted after it has no members for the configured empty grace period, which defaults to 15 seconds and can be set from 0 to 300 seconds. If someone rejoins before cleanup, it stays open. Cleanup survives a CharmBot restart. The join-to-create channel and room category are not temporary rooms and are not deleted by empty-room cleanup.
Check that you selected the right server and that your Discord account and CharmBot can access the channels. Use a normal voice channel for the join-to-create hub, not a stage channel. Channel creation and room management need the relevant Discord permissions. If Discord is temporarily unavailable, the dashboard keeps your saved selections and asks you to retry; it does not treat the server as empty or create replacement channels automatically.
Room owners can use /room status, /room rename, /room limit, /room lock, /room hide, /room permit, /room block, /room reset-access, /room kick and /room transfer when those controls are enabled. Members may use /room claim for an ownerless occupied room only after the configured owner-absence grace period. Server managers can safely close a room from the dashboard.
Open Invite & Campaign Analytics from your server dashboard, review the collection window, retention and privacy cohort, then enable the feature. CharmBot needs Manage Server to read Discord's invite counters. To create a campaign, choose a channel where CharmBot can View Channel and Create Invite. Collection starts from a fresh baseline and never invents activity from before setup.
Discord does not directly tell bots which invite a member used. CharmBot infers an aggregate source only when one stable invite counter changed. Unknown means no unique source was available, ambiguous means more than one explanation was possible, and recovered means a later snapshot found counter growth that cannot safely be presented as a member join. CharmBot never calls invite uses clicks or guesses a source.
Discord generates the invite code and CharmBot returns the link only with the successful create result. Copy it before dismissing or leaving the page. Analytics retain a protected server-bound fingerprint and aggregate totals, not the plaintext code. If Discord's create result is uncertain, CharmBot reconciles it instead of blindly creating a duplicate invite.
Open Server Counters from the Community section of your server dashboard. Enable any combination of Members, non-bot Voice users and Scheduled events, keep one {count} placeholder in each name, then either let CharmBot create a counter channel or adopt an accessible voice channel. The optional category applies only to new CharmBot-created channels; adopted channels stay where they are. Review every preview before saving. CharmBot needs Manage Channels and View Channel for the counter channels it updates.
Discord limits how often a channel can be renamed. CharmBot applies fresh values promptly when Discord allows it, coalesces repeated changes, and shows the latest observed value, applied name and update state in the dashboard. Use Retry only after checking CharmBot's channel permissions; repeatedly saving the same setup does not bypass Discord's rate limit.
Disabling Server Counters pauses updates and leaves every Discord channel in place. Removing a counter disconnects it from CharmBot. An adopted channel is never deleted by CharmBot; for a CharmBot-created channel, the dashboard asks for separate confirmation before deletion. Aggregate activity history expires on the configured schedule.
Open Tickets in your server dashboard. Add up to five workflows, then give each one a clear name, button, open and closed category, one to five safe support roles, welcome message and up to five private intake questions. You can also choose an idle reminder and a later automatic close time. Save the setup to republish the existing panel with one button per active workflow. Open tickets keep the routing snapshot they started with, so later settings changes cannot expose an older conversation.
Enable ModMail on one active ticket workflow and assign at least one support role. A member who shares that Discord server can direct-message CharmBot; if more than one shared server accepts ModMail, CharmBot asks them to choose. Their message appears only in the private routed ticket channel. Staff answer with /ticket reply so internal channel notes are never forwarded accidentally. CharmBot checks current server membership, rate-limits and deduplicates messages, and applies the normal transcript and 30-day closed-ticket retention policy.
Use /minecraft link in Discord to create a short-lived code, then run /charmbot link CODE as a Minecraft operator. The Minecraft guide has the complete setup flow.
Use /suggest to share the language or voice, the expected result and the actual result. For captions, include only a safe, short excerpt and never upload private voice recordings, credentials, pairing codes or sensitive chat content.
Tell us which feature you were using, what you expected and what happened. Include the Discord server only when relevant, and never share pairing codes, connector credentials or private tokens.
The Contact page explains the safe ways to request assistance, report a problem or share a feature idea for any CharmBot feature. Include the relevant Discord server and what you were trying to do, but never share pairing codes, connector credentials or private tokens.
Contact & support