Changelog

Updates, features, and improvements to Scrapline

Beta Test Final Report

v1.0.5
Bug Fixes

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.


Dashboard Improvements

  • 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. 

Beta Test Update

v1.0.4
Bug Fixes

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

Beta Test Update

v1.0.3
Bug Fixes

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


Backend Changes

  • 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
Music

  • /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
Docs and Features Pages

  • 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

Beta Test Update

v1.0.2
Bug Fixes
Thank you to our Beta Testers for their Day 2 reports! We've investigated and patched everything that was raised:

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

Beta Test Update

v1.0.1
Bug Fixes

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