The Viscra Guide
A complete manual for setting up and mastering Viscra for your community.
1. Base Setup
Getting Viscra into your server is the first step. Ensure you have the correct permissions set up to avoid issues later.
Adding the Bot
Invite Viscra using the official invite link. You need Manage Server permissions to add bots.
White-labelling (Custom Bots)
Viscra allows you to use your own custom bot identity (name, profile picture, banner) while still powered by our engine.
- Create a new application at the Discord Developer Portal or use an existing one.
- Go to the Bot tab and ensure Server Members Intent and Message Content Intent are both enabled.
- Head to the Installation tab. Change the Install Link from "None" to "Discord Provided Link".
- Under Default Install Settings, add "Bot" and "applications.commands" to scopes, and set permissions to Administrator.
- Copy your Application ID and Bot Token.
- In the Viscra Dashboard, navigate to your server settings, go to the Pro page, and enter these credentials.
Please ensure you have enabled intents under the Bot tab on the application page:
- Server Members Intent
- Message Content Intent
Recommended Permissions
We recommend giving Viscra Administrator permissions for ease of use. If you prefer granular control, ensure the bot has:
- Manage Roles (to assign rank/verified roles)
- Manage Nicknames (to update names to Roblox usernames)
- Manage Channels (for tickets)
- View Channels, Send Messages, Embed Links (basic functionality)
- Moderate Members (for kicks/bans/timeouts)
2. Verification System
Viscra uses Roblox's official OAuth2 for secure verification. No verification games or code phrases are required.
Setting Up Roles
Use /settings to configure the basic roles:
/settings set-verified-role: The role given to users who successfully verify./settings set-unverified-role: The role given to new members (removed upon verification).
The Verification Panel
Run /verifypanel in your verification channel. This
creates a permanent button that users can click to link their account.
3. Rank & Group Binds
Connect your Roblox group ranks to Discord roles. This can be done via commands or the Dashboard.
Quick Setup
Run /setup groupid:YOUR_GROUP_ID. Viscra will fetch
your group roles and offer to automatically create corresponding
Discord roles and binds for them.
Manual Binds
- Group Bind: Gives a role to anyone in the
group.
/groupbind add-role groupid:123 roles:@Member - Rank Bind: Gives a role to a specific rank
ID.
/rankbind add-role groupid:123 rankid:255 roles:@Owner - Rank Bind (ranged): Gives a role to a range
of rank IDs.
/rankbind add-role groupid:123 rankid:20-32 roles:@Officer
Naming Schemes
Optionally, you can enforce nickname formats per rank using the
dashboard or /rankbind command. Use
{roblox_username}
as a placeholder.
Example: [E1]
{roblox_username}
Sticky Roles
Sticky roles are roles that Viscra will not remove from a user,
even if they no longer meet the requirements for it. This allows
roles to be given via binds but not removed. Roles within this
list will not be removed by the bot when /update,
/updateall, or the verification panel is interacted
with.
/stickyroles add role:- Add a role to the sticky role list./stickyroles list- List all currently configured sticky roles./stickyroles remove role:- Remove a role from the sticky role list.
4. In-Game Systems
Sync your game with Viscra to enable XP tracking, auto-promotions, and more. You will need the Viscra Handler script from our support server.
Installation
- Get the
ViscraHandler_Newscript andViscraConfigsModuleScript. - Place
ViscraHandler_Newin ServerScriptService. - Place
ViscraConfigsin ServerStorage. - Enable HTTP Requests and Studio Access to API Services in Game Settings.
Configuration (ViscraConfigs)
serverId = "YOUR_SERVER_ID",
APIKey = "YOUR_GAME_API_KEY",
GroupId = 123456, -- Your Group ID
XPEarningTeams = {game.Teams.Red, game.Teams["Blue Team"]}, -- Teams that earn XP
XPSystemEnabled = true,
statName = "XP", -- The leaderstat to track API Key Configuration
/apikeys generate and include
it in your ViscraConfigs. The legacy BotKey will remain functional
until 10th of January 2026.GameLink Authorisation
For Viscra to rank users on Roblox, you must authorise GameLink.
Run /settings set-gamelink-auth and follow the OAuth
flow. This replaces the old cookie system. GameLink is also required
for the dashboard to view group icons and group rank names.
Extensions & Attributes
- ProgressionBar: Add a Boolean attribute
named
ProgressionBar(set to true) toReplicatedStorageto show a UI bar to players. - ProgressionBarTheme: Create a String
attribute
ProgressionBarThemeonReplicatedStorageto customise the UI bar's appearance. Themes include:Default,SciFi,SciFi2,Tactical, andCustom(using a modified ViscraXPBar). - GamepassGifting: Set a Boolean attribute
GamepassGiftingonReplicatedStorageto true to enable gamepass gifting. - 2xXP: Set a Boolean attribute
2xXPon a Player object to true to grant double XP. - CanEarnXP: Set to false on a Player to pause XP earning (useful for AFK zones).
- Cmdr Commands: Supports
XPAdd&XPRemove. Add the following to your CmdrInitializescript:game:GetService("ReplicatedStorage"):WaitForChild("ViscraExtensions"):WaitForChild("Assets"):FindFirstChild("CmdrCommands"):Clone().Parent = script.Parent.BuiltInCommands - EventSystem: Set
EventSystemBoolean attribute onReplicatedStorageto true to sync in-game players during events and handle private server teleports. - Certifications: Set
CertificationsBoolean attribute onReplicatedStorageto true to enable certification checking via the in-game extension module. - GamepassGifting: Set
GamepassGiftingBoolean attribute onReplicatedStorageto true to enable gamepass gift checking via the in-game extension module.
Gamepass Gifting
You can gift players gamepasses directly through Viscra. Setup involves:
- Run
/gamepass configure universe_id:to setup your game's universeId. - Enable the
GamepassGiftingextension attribute. - Use the
/api/getGiftedGamepassesendpoint to integrate it into your game systems.
/gamepass gift user: roblox_username/@Mention pass: [autofilled]- Gift a gamepass./gamepass view user: roblox_username/@Mention- View gifted gamepasses./gamepass revoke user: roblox_username/@Mention pass: [autofilled]- Revoke a gifted gamepass.
Manage who can gift using:
/settings gamepass-gifter-role view/add/remove
5. XP & Promotions
Once your game is connected, Viscra can track XP and promote users automatically.
Promotion Configuration
In your ViscraConfigs script, define the
promotionReqs table:
promotionReqs = {
[1] = { -- Starting rank, e.g., Cadet
statReq = 0, -- XP needed
groupRoleId = 1 -- Rank ID to promote to
},
[2] = { -- Next rank, e.g., Trooper
statReq = 15,
groupRoleId = 2
}
} These requirements are synced to Viscra whenever a server starts.
Commands
/xp: View your own or another user's XP and progress to the next rank./topxp: View the server leaderboard (top 10). Cached for 5 minutes./xpchange add/remove/set: (Officer+) Modify a user's XP amount.
Manage officer roles using: /settings officer-role view/add/remove
6. LOA & EP/Quotas
The Quota/Event Point (EP) system is designed for activity tracking within divisions or units.
Setup
Run /ep setup to start the interactive configuration
wizard. You can define units (Main, Sub1, Sub2, Sub3), quotas, and
warning actions (Warn, Demote, or Exile/Kick).
LOA
Members can request Leave of Absence (LOA). Users on LOA are not counted during the weekly EP check.
/loa add/end/viewall: Manage individual or server-wide LOA status./loa set-role: Set the role assigned to users on LOA.
How it works
Viscra tracks EP earned via /ep add. Every week
(Sunday 00:00 UTC), the bot checks if users met their unit's
quota. If they fail, the configured warning action is applied
automatically.
7. Medals & Warnings
Medals
Award custom medals to your members to recognise achievements.
/medal view/list/create/award/edit: Full medal management./whois: View a user's medals and other community info.
Medals can be displayed in-game via our integration for DarthKarim's mouse rank system or your own custom implementation.
Warnings
A robust warning system logged to your database.
/warn view/add/remove: Manage user warnings with reason logging and IDs.
Manage moderator roles using: /settings server-moderator-role view/add/remove
8. Certifications
Create and manage professional certifications for your server members. Perfect for trainings, qualifications, and skill verification.
Key Features
- Reference Codes: Short 1-4 character codes (e.g., AFO, FTO, K9).
- Full Management: Create, edit, award, revoke, and list certifications.
- Bulk Operations: Award or revoke to multiple users at once.
- API Integration: Full API support for Roblox games.
Common Commands
/certification create reference:AFO name:"..." description:"..."/certification award users:@user1 reference:AFO/certification revoke users:@user1 reference:AFO/certification view user:@user
9. Tickets
Viscra provides an expansive ticket system with support for
categories, custom naming schemes, and dedicated staff roles.
The ticket system also supports modmail, this allows users to DM
the bot, select the server, and then opens a thread for staff in
the server where all messages from the user & staff are forwarded
between each.
Core Commands
/tickets create/delete/manage: Control ticket panels and content./add [user]: Add a user to an active ticket./close [reason]: Close the current ticket with a mandated reason prompt for staff./tickets modmail setup [channel] [enables]: Set up the modmail system.
Ticket Categories
Categories allow you to route tickets to specific departments with their own support roles, categories, and permissions.
/tickets category add/edit/list/remove
Naming Schemes
Customise how ticket channels are named (e.g., ticket-[username], support-[number],
appeals-[username]) via
/tickets settings naming scheme.
Settings & Staff
/settings server-moderator-role: Manage who can access and manage tickets./settings set-transcript-channel: Set the channel for ticket logs (clean transcripts excluding bot messages).
10. Server Announcements
Send important announcements directly to your members via DM. This is a Pro server exclusive feature with staff approval and member opt-in requirements.
Requirements
- Pro Subscription is required.
- Owner Only: Only the server owner can
initiate
/serverannounce. - Member Opt-In: Members must opt-in via
/announcement-opt-in enabled:trueto receive messages. - Approval Process: All messages are reviewed by Viscra staff for quality and safety.
- 6-Hour Cooldown prevents spam.
11. Server Utilities
Powerful server management tools to streamline community operations.
Applications System
Create custom application forms with automatic group acceptance and rank assignment.
/applications manage/create/panel: Manage forms, questions, and panels.- Supports up to 7 active applications (14 for Pro) and 15 questions per form (30 for Pro).
Group Logs
Track Roblox group changes (promotions, demotions, leaves) in semi-real-time (60s scans).
/grouplogs add/view/delete: Track primary and sub-groups./grouplogs antiabuse: Configure thresholds to prevent "nuking"./grouplogs rollback: (PRO) Restore group snapshots from the last 2 days./grouplogs sethicomrole/settoken: Set ping roles and required audit log permissions.
Command Groups
Disable specific features like Verification or
Economy
via /commandgroups list.
Server Backups
Create complete backups of roles, channels, and permissions.
/backupserverand/backuprestore(Owner only).- Restoration is destructive and removes all current configuration before applying the backup.
12. Chat Levelling System
The Viscra Levelling System is a comprehensive Discord engagement tracking system that rewards users for their activity through XP (chat or voice points, not to be confused with the XP from Roblox or the EP system) and levels. Users can earn XP through chat messages and voice channel participation, with customisable rewards and configurations.
Features
- Chat XP: Earn XP by sending messages in text channels
- Voice XP: Earn XP by participating in voice channels
- Level Progression: Automatic level calculation based on total XP
- Level-Up Announcements: Customisable notifications when users level up
- Role Rewards: Automatically assign roles when users reach specific level milestones
- Leaderboards: Track top users by XP
- XP Decay: Optional XP reduction for inactive users
- Channel Blacklisting: Exclude specific channels from XP earning
- XP Multipliers: Boost XP gain server-wide
XP Earning
Chat XP:
- Base XP: 1 XP per message
- Bonus XP: 2 XP for messages with 50+ characters
- Minimum Length: Messages must be at least 5 characters
- Cooldown: 30 seconds between XP-earning messages (default)
Voice XP:
- Base XP: 2.5 XP per interval
- Interval: Every 2.5 minutes in voice channel
- Requirements: User must not be muted or deafened (server or self)
Level Calculation
Levels are calculated using an exponential formula:
XP Required = floor(50 × Level^1.5)
Base Level Requirements:
- Level 1: 50 XP
- Level 2: 141 XP
- Level 5: 559 XP
- Level 10: 1,581 XP
- Level 25: 6,250 XP
- Level 50: 17,677 XP
- Level 100: 50,000 XP
Level Milestones
The system defines milestone levels for role rewards: 5, 10, 15, 25, 50, 75, 125, 175, 300, and 500.
Commands
All levelling commands require Administrator permissions in the server.
/levelling config
/levelling config toggle enabled:[true/false]- Enable or disable the levelling system/levelling config set-channel channel:#channel- Set a dedicated channel for level-up announcements/levelling config remove-channel- Remove the dedicated level-up channel/levelling config set-multiplier multiplier:2.0- Set an XP multiplier (0.1 to 10.0) for the entire server/levelling config blacklist-channel channel:#channel action:[Add/Remove]- Add or remove channels from the XP blacklist/levelling config decay enabled:[true/false] days:[7-365] percentage:[1-50]- Configure XP decay for inactive users/levelling config view- View the current levelling configuration
/levelling roles
/levelling roles set level:[milestone] role:@role- Assign a role reward for a specific level milestone/levelling roles remove level:[milestone]- Remove a role reward/levelling roles create-all- Automatically create and assign roles for all level milestones/levelling roles view- View all configured level roles
/levelling reset-user
/levelling reset-user user:@user- Reset a user's levelling data completely (irreversible)
XP Decay System
The decay system runs automatically every 24 hours and reduces XP for inactive users:
- Only affects users inactive for the specified number of days
- Reduces total XP by the specified percentage (1-50%)
- Recalculates user level after decay
- Default: 5% decay after 30 days of inactivity
Level Roles
By default, role stacking is enabled, meaning users keep all roles from lower milestones. For example, a Level 50 user would have roles for Level 5, 10, 15, 25, and 50.
The /levelling roles create-all command automatically
creates 10 roles with unique colours and proper hierarchy:
- Creates roles named "Level 5", "Level 10", etc.
- Assigns vibrant, distinct colours to each role
- Sets roles as hoisted (displayed separately in member list)
- Creates roles in reverse order for proper hierarchy
Use Cases
Setting Up a New Server:
- Enable the system:
/levelling config toggle enabled:true - Create level roles:
/levelling roles create-all - Set announcement channel:
/levelling config set-channel channel:#level-ups - Blacklist bot channels:
/levelling config blacklist-channel channel:#bot-commands action:Add
Running a Double XP Event:
- Set multiplier:
/levelling config set-multiplier multiplier:2.0 - Announce to your community
- After event:
/levelling config set-multiplier multiplier:1.0
Preventing XP Farming:
- Blacklist spam channels
- Enable XP decay for long-term inactive users
- Keep default cooldown (30 seconds)
- Monitor for suspicious activity
Configuration Options
Default configuration values:
- enabled: true
- chatXP: 1
- chatXPBonus: 2 (for 50+ character messages)
- voiceXP: 2.5
- chatCooldown: 30000ms (30 seconds)
- multiplier: 1.0
- stackRoles: true
- decayEnabled: false
- decayDays: 30
- decayPercentage: 0.05 (5%)
Troubleshooting
Users Not Earning XP:
- Check if the system is enabled
- Verify the channel is not blacklisted
- Ensure messages are at least 5 characters
- Check if the user is on cooldown (30 seconds default)
Roles Not Being Assigned:
- Verify the role exists in the server
- Ensure the bot's role is higher than the level roles
- Check the bot has "Manage Roles" permission
- Verify level roles are configured properly
Level-Up Announcements Not Appearing:
- Check if a level-up channel is set
- Verify the bot has permission to send messages in that channel
- Confirm the user actually levelled up
12. Public API
Developers can use Viscra's public API to integrate server data into external tools or websites.
Getting Started
Generate a public API key using /apikeys generate.
Include this key in your requests as an
Authorization header.
Full Documentation
For a complete reference of all available endpoints, including XP, Group, and Certification management, visit our Dedicated API Guide.