Product Roadmap
What has shipped, what is being built, and what is coming next for Scrapline.
Tickets
- Added AI Ticket Triage, a new AI assistant that greets users when they open a ticket, works through their issue with them, checks their punishment history if asked, and automatically passes them to staff when it can't help
- The AI knows when to step back. If it detects a user needs a real person, it hands them straight to staff along with a summary of the conversation, no button clicks needed
- Added guardrails so the AI stays on topic, won't make up information, and politely redirects off-topic questions with a canned response
- Added a per-server knowledge base with up to 10 keyword entries, so server owners can customise how the AI responds to common questions
- Added a Notify channel setting for AI Triage so escalation summaries land in a designated staff channel
- Added a jailbreak and prompt injection protection layer that screens all AI inputs and outputs before they reach users
Note: This feature is Experimental, if you find any bugs please go through the correct processes to report them so they can be fixed promptly and pushed to the public ASAP.
Dashboard
- Fixed a lockout bug that was blocking all users from accessing Basic configuration pages
- Fixed panels being incorrectly locked behind Premium for Basic users, panels are now available to everyone
- Fixed the unsaved changes warning appearing incorrectly when opening and closing modals without making any changes
Auto Moderation
- Fixed the caps filter still triggering even when it was disabled, caused by a settings cache issue
Security
- Improved anti nuke recovery with compression and background processing, making it faster and more reliable on large servers
Website
- Updated all feature pages, the plan comparison table, and documentation to include AI Ticket Triage
- Added experimental labels to Anti Raid, AI Triage, Referral System, and Dashboard Access features
- Updated favicons across all sizes and browsers for a sharper look
See below the changes made in this Hotfix:
Transparency
- Added a new public Transparency Report at /transparency showing live income from Stripe, monthly costs, the gap between the two, and overall totals, all styled to match the rest of the site
- Standardised page titles across the site so they all end with | Scrapline and improved how pages appear in search results
Subscriptions and Billing
- Fixed free trials so active trials now correctly unlock Premium dashboard features
- Added a notification when a free trial starts so it's clear when access has been granted
Dashboard
- Fixed AI Moderation not saving the "Post to review channel" setting
- Added a clear notice that Auto-Moderation must be enabled for AI Moderation to work
- Improved spacing on modal titles across config popups for a cleaner look
- Removed some onboarding text that was no longer accurate
Embeds
- Editing an embed now correctly updates the original Discord message
- Changing an embed's channel now properly removes the old message and reposts it in the new one
- Fixed embed deletion not working correctly
- Channel names now display correctly after a bot restart instead of showing as unknown
Security
- Added a brand new Anti-Raid Protection feature for both Basic and Premium, available as an experimental open beta
- Anti-Raid has its own Security card with an enable toggle, join-spike threshold, response mode, and account-age controls
- Anti-Nuke and Anti-Raid can now be enabled independently of each other
- Anti-Raid join-flood detection now runs on its own and no longer relies on Anti-Nuke being active
- Added clear messaging that Anti-Raid is experimental and to report any bugs found during the open beta
Website
- Added Anti-Raid information across the homepage, features page, pricing, compare page, plan pages, docs, and search descriptions
- Homepage active-server counts now pull live from the bot directly, with a database fallback only when needed
- Production and staging server counts no longer interfere with each other
Here are the Changes since we finished the Basic Bot Beta Testing, and as of now, have commenced Premium Beta Testing. We also have rebranded with new Logo Designs, check them out through out bots!
- Premium and Basic bots now operate as completely separate entities with no crossover between the two
- Premium commands are now strictly gated per server and expired subscriptions immediately lose access
- Slash commands automatically update in Discord when a servers subscription status changes
- Bot now sends a welcome message to the server owner when added to a new server
- Punishment messages for warn, mute, kick, ban and tempban now send as styled embeds
- Fixed several timing and display issues with bot messages
- Fixed an issue where Premium features remained accessible after cancellation
- Fixed buttons and menus bypassing access checks in certain situations
Subscriptions and Billing
- Fixed cancellations not correctly revoking Premium access
- Fixed promotion codes not applying at checkout
- Fixed subscription expiry dates not displaying correctly
- Subscription status now reflects immediately across the dashboard and bot after any changes
Dashboard
- Multiple improvements to the look and feel across settings, panels, giveaways, and popups
- Fixed a prompt incorrectly appearing asking to save changes when nothing was changed
- Fixed certain settings not saving correctly when the page was refreshed
- Fixed an issue where some settings were being wiped on save
- Fixed leveling being incorrectly locked for Premium users
- Fixed AI settings saving too early before the user finished making changes
- Server timezone can now be configured per server with a live time preview
- Dashboard access management now follows the same save flow as the rest of the settings page
- Settings cards now update in real time without needing a page refresh
- Panel editing now returns to the correct page after saving
AI Moderation
- Added detection for coded and indirect hate speech including dog whistles
- Added detection for antisemitic language and tropes even when not explicit
- Added detection for implied racism without the use of slurs
- Added detection for conspiracy language targeting ethnic or religious groups
- Added detection for dismissive and hostile language targeting gender identity
- AI moderation now looks at recent conversation history when evaluating a message for better context
- Added automatic pattern detection for coordinated hate speech across multiple users
- Toxicity trends now display correctly with two separate graphs showing toxicity level and flagged message volume
- AI moderation activity is now stored and searchable
AI Features
- Added a new command to view a users full moderation history including AI flags with timestamps and message links
- Moderation reports now include AI activity, top flagged categories, and repeat offenders
- Fixed moderation reports showing no data despite active AI flags
- Removed internal provider names from AI related messages and embeds
Tickets
- Fixed transcripts not generating correctly on Premium
- Fixed transcript delivery not respecting the configured destination
- Fixed ticket limits not accounting for tickets created outside the default category
Giveaways
- Fixed editing a giveaway channel leaving the original post behind in the old channel
- Fixed giveaways accepting end times set in the past
- Fixed deleted channels showing as unknown instead of their original name
- Duplicating a giveaway now opens a pre-filled form instead of a plain text prompt
- Fixed action buttons appearing on ended and deleted giveaways
Security
- Improved resilience against common web vulnerabilities across several areas of the platform
- Improved file upload validation
- Tightened cross-origin access controls
- Strengthened content security settings across the platform
- Improved reliability of subscription event processing
Thank you to our Beta Testers for their final round of reports! Day 7 wraps up the beta testing period with dashboard improvements and quality-of-life fixes.
- Edit panel modals for tickets, verification, and clans now have clear section headers separating Channel Settings from Embed Appearance
- Analytics page correctly references the Premium tier. The Dashboard nav button hides itself on the analytics page to avoid confusion
- Server listing form now shows validation hints for invite URLs and tag selection
- Strengthened input validation across all dashboard forms and API routes
Bot Improvements
- The /clear command now responds with a proper embed matching all other moderation commands instead of plain text
- Anti-nuke alerts now include a clickable mention of the offender and a clear fallback chain for where alerts are sent. If no log channel is configured, the bot falls back to the server's system channel
- Role permission drag-and-drop lists now scroll properly and no longer flicker when dragging items
General
- Improved overall stability and hardened all form inputs across the platform
- Various behind-the-scenes reliability improvements
We are on track for full release by May so expect minor changes to come. If you do have Scrapline in your server and wish to contribute by reporting any bugs or issues, feel free to join our Discord located at the very bottom of our Discord.
Thank you to our Beta Testers for their continued Day 5 reports! We have investigated and shipped fixes and improvements across the Clan System, Commands, Staff Logs, and some Website errors:
Clan System
- When a user has their DMs closed, clan invites now fall back to a dedicated Clan Invites Channel that staff can configure in the Clan Panel settings. The invite button stays functional regardless of the target's DM settings
- The invite confirmation message has been updated to clearly explain what happens next and reminds users to check their DMs are open if they haven't received anything
- You can no longer spam invite the same person. If a pending invite already exists for that user, the bot will reject a second one until the first is accepted, declined, or expires after 24 hours
- Attempting to invite the bot to a clan now returns a clear error message instead of failing silently
- Attempting to kick the bot from a clan now returns a friendly error instead of an unexpected failure
- Disbanding a clan now requires a confirmation step with Yes and Cancel buttons before anything is permanently deleted
- When a clan is disbanded, any outstanding invite messages in DMs or the invites channel are automatically updated to show that the invitation is no longer valid
- Each user can now only own one clan at a time. After disbanding, a one hour cooldown applies before creating a new one, a message will show exactly how many minutes remain
Commands
- The /help command now sends its response via DM to keep server channels clean. If your DMs are closed, it falls back to a private ephemeral message only you can see
Moderation Logs
- All moderation log entries: bans, kicks, mutes, cases, message deletions, edits, voice activity, and automod now display users as clickable mentions rather than plain text usernames
Website
- Fixed intermittent errors on the subscriptions pages. Some pages were occasionally failing to load due to external API calls taking too long and timing out. These calls are now properly managed so a slow response no longer takes the page down with it
Thank you to our Beta Testers for their continued Day 3 reports! We have investigated and shipped fixes and improvements across the ticket system, dashboard configure page, bot logging, and the public-facing docs.
UX/UI Changes- When building an embed or adjusting starboard settings, a live preview now shows you roughly how it will look in Discord before you save
- The module, role, and channel counts in the configure header now update in real time when you toggle features on or off, so the summary always reflects your current state without needing a page reload
- Opening a modal and closing it without saving no longer leaves behind ghost edits. The form returns to exactly what it was until you click Done and save for real
- The "unsaved changes" warning is now quieter when you are interacting with role permissions or AI sync settings. It will not appear unless you have actually changed a value
- After a successful save from the role permissions or AI sync flows, the page treats that as the new baseline so you will not be stuck in a false "unsaved" state
- The Basic plan notice on the ticket panel now matches the same short orange callout used on all other panels for consistency
- Webhook errors from panel posting now return specific, readable messages (for example, "Bot is missing Manage Channels permission") instead of a raw error code, so it is clear what is wrong and how to fix it
- Ticket settings are now backed by the correct database fields with a safe, additive migration. No data is wiped
New Commands
/ticket close - closes the ticket and sends a transcript
/ticket delete - removes the channel without sending a transcript
/ticket rename - renames the ticket channel
/ticket adduser - adds a user to the ticket
/ticket removeuser - removes a user (sends them a transcript if configured)
/ticket stats - shows ticket statistics for your server
/ticket tag, tagcreate, tagdelete, taglist - label and organise tickets with custom tags
Premium Commands:
/ticket move - move a ticket to a different category
/ticket blacklist / unblacklist - prevent specific users from opening new tickets
/ticket review - let staff rate a closed ticket interaction
Fixes
- Closing a ticket after a user was removed no longer generates a duplicate transcript
- New ticket notifications now only ping the roles configured as ticket or support staff, not a broad all-staff mention
- Basic bot now generates full HTML transcripts on close (previously plain text only)
Logging
- Voice join, leave, and move events are now batched within a short window so a group VC shuffle produces one clean log entry instead of flooding your log channel with individual messages
- /play now shows a loading indicator immediately while the track is being searched, preventing the "interaction failed" flash that appeared when a search took more than a few seconds
- Ticket commands in the documentation have been fully updated to reflect the complete /ticket command group
- Clan commands are now correctly listed as available on Basic and Premium (they were previously labelled as Premium-only in the docs)
- Playlist commands are now correctly listed as Premium-only
- The /play description now mentions all supported sources: YouTube, SoundCloud, Spotify, and Apple Music
- A new FAQ entry explains what to do if the bot shows errors after being invited, covering the missing permissions situation during the Discord OAuth flow
- Features pages have been updated with the new ticket capabilities and corrected music plan information
Dashboard
- The emoji selection in the configure page was a flat list of emojis with no way to search or browse by category. It has been replaced with a full emoji picker with categories, search, and proper dark theme styling that matches the rest of the dashboard
- Each section now shows relevant quick-pick emojis based on what you're configuring. Starboard shows star emojis, ticket panels show ticket and support emojis, verification shows checkmarks and shields, and so on - instead of the same generic row everywhere
- Starboard settings now include a live embed preview so you can see what your starboard post will look like in Discord before you save
- The "you have unsaved changes" warning was appearing when you opened a modal, clicked into a text field without actually changing anything, and then closed it. The warning now only appears when you click "Done" on a modal, so browsing your settings without editing no longer triggers it
- Clicking "Discard" on the unsaved changes prompt was not actually reverting your changes - they stayed on screen. Discard now properly resets everything back to your last saved state
- Anti-Nuke settings were split into two separate sections for Basic and Premium, which made it confusing to see what protections were available. They are now merged into a single panel where basic users can see all protections, with premium-only ones shown as dimmed and locked so you know exactly what's available at each tier
- The configuration page header was not adapting well to different server name lengths, leaving awkward gaps or clipping on longer names. It now scales to fit your server name properly and stays consistent across different screen sizes
Bot Commands
- The /poll command now requires you to specify a target channel up front instead of posting in whatever channel you ran the command from. The confirmation message is sent privately so the command itself does not clutter the target channel
Music
- Track thumbnails have been removed from the now playing embed to keep it cleaner and more compact
Thank you to the Beta Testers who gave their reports to us! Our investigation into their findings has now concluded and the patches have been applied:
Security
- Fixed a bug where moderation logs from one server could show up in a completely different server's log channel. Logs are now locked to the server they came from and cannot appear anywhere else
- Applies to both Basic and Premium bots
Dashboard
- Server cards were showing wildly inflated staff counts - some showed 841 when the real number was closer to 100. This was caused by a bad fallback calculation being used when no staff roles were configured. Servers without configured staff roles now correctly show zero
- The dashboard was hitting Discord's API every single time a page loaded to fetch your server list. It now caches that data for two minutes per session, cutting out unnecessary requests and stopping rate limit errors
- Saving your config was doing a full page reload, which meant any open popup or modal would close and you'd lose your place. Saves now happen in the background without refreshing the page
- The "you have unsaved changes" warning was sometimes triggering incorrectly on pages that were still loading. It now waits for the full page to finish loading before checking, so you won't get false warnings anymore
Panels & Configuration
- Ticket and verification panel settings were being cleared out when saving your config if you hadn't touched those specific sections during that session. This caused panels to stop working after a bot restart. Your panel data now stays put unless you deliberately delete it
- Orange was listed as a ticket button colour option but is not a valid Discord button style, so it was silently defaulting to blue. Orange has been removed. Available colours are now Blurple, Grey, Green, and Red
- Typing a custom label for your ticket button was not updating the live preview. This is now fixed and the preview updates as you type
- When the bot lacked permission to create a ticket channel, users were seeing a generic "something went wrong" message. The bot now tells you exactly which permission is missing
Performance
- When multiple members left a server at once, the bot was firing a separate request to Discord's API for every single person. In one beta server with 2,200 members, a burst of leaves triggered over 1,100 requests in 7 seconds, which locked up the bot across all servers. Leave events now share a single request where possible. Kick detection and leave logging still work as normal
Music
- If a track failed or got stuck, playback would stop entirely and need to be manually restarted. The bot now automatically skips to the next track in the queue when something goes wrong, so playback keeps going without any input needed
Scrapline is now in active beta. Here's what that means for you:
What to expect
- Frequent updates - Daily fixes and improvements, each documented here in the changelog
- Full coverage - Fixes span everything from slash commands to the web dashboard
- Carries forward - All improvements made during beta roll straight into the public release
We are on track for a public release of both bots by May.
⚠️ Important -- Please Read If you're inviting Scrapline from a beta tester server, you're welcome to do so - but please be aware:
- Do not rely on Scrapline as your only line of defence
- Avoid using Ticket, Verification, and Clan panels in production - database migrations may cause data loss
- Only registered beta testers have their data backed up
To join the beta, email [email protected] and we'll get back to you as soon as possible.
Thank you to everyone participating - you're helping us make Scrapline rock solid.