Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

BattleBitBaseModules

All the basic modules for the modular BattleBit API https://github.com/RainOrigami/BattleBitAPIRunner

Modules

  • ModeratorTools - Module for basic in-game moderation tools
  • MOTD - Module for displaying a message to every player who joins the server
  • PlayerFinder - Library module for finding players
  • PlayerPermissions - Library module for basic persistent player permissions (Roles)
  • CommandHandler - Library module for easy command handling
  • PermissionsCommands - Module for adding and removing permissions using in-game chat
  • DiscordWebhooks - Module for sending messages to discord webhooks
  • RichText - Library module for creating rich text messages

ModeratorTools

Description

This module provides in-game chat commands to moderate the server.

Commands

All commands require the Moderator role to execute.

  • say message - Sends a message to all players.
  • announceshort message - Sends a short announcement to all players.
  • announcelong message - Sends a long announcement to all players.
  • message player message - Sends a message to the player.
  • clear - Clears the chat.
  • kick player [reason] - Kicks the player from the server.
  • ban player - Bans the player from the server.
  • kill player - Kills the player.
  • gag player - Gags the player preventing them from using text chat.
  • ungag player - Un-gags the player.
  • mute player - Mutes the player preventing them from using voice chat.
  • unmute player - Un-mutes the player.
  • silence player - Silences the player preventing them from using both voice and text chat.
  • unsilence player - Un-silences the player.
  • lockspawn [player] - Locks the spawn of the player or all players.
  • unlockspawn [player] - Unlocks the spawn of the player or all players.

Dependencies

MOTD

Description

This module shows a configurable message to each player when they join a server. The following placeholders are available:

  • {0} - Player name
  • {1} - Player ping in ms
  • {2} - Server name
  • {3} - Gamemode
  • {4} - Map name
  • {5} - Day or Night
  • {6} - Map size
  • {7} - Current player count
  • {8} - In queue player count
  • {9} - Max player count

Commands

  • setmotd "message of the day" - Sets a new MOTD. Requires Admin role to execute.
  • motd - Shows the current MOTD again.

Dependencies

PlayerFinder

Description

This module can be used by other modules to find players by different means. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • RunnerPlayer? ByExactName(string exactName, bool caseSensitive) - Find a player by their exact name, case sensitive or insensitive. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer? ByNamePart(string namePart) - Find a player by part of their name, case insensitive. First tries exact match case sensitive, then insensitive, then partial search. If multiple players match the namePart a ManyPlayersMatchException exception is thrown containing a list of matching players. Returns a RunnerPlayer instance or null, if no player was found.
  • RunnerPlayer? BySteamId(ulong steamId) - Find a player by their steam64id. Returns a RunnerPlayer instance or null, if no player was found.
  • public RunnerPlayer[] AllByNamePart(string namePart) - Find all players matching part of their name.

PlayerPermissions

Description

This module stores player roles (Admin, Moderator, Vip, Special) to a config file and will load and apply previously assigned roles to players when they join. It can also be used by other modules to get, set and check for roles of a player.

Roles are stored and shared globally across all connected servers. Every time a user role is changed, the configuration is saved.

Dependencies

  • None

Available methods and properties

  • bool HasPlayerRole(ulong steamID, Roles role) - Returns true if the roles of a player include the specified role or set of roles.
  • Roles GetPlayerRoles(ulong steamID) - Returns the players assigned roles.
  • void SetPlayerRoles(ulong steamID, Roles roles) - Set the set of roles of a player.
  • void AddPlayerRoles(ulong steamID, Roles role) - Adds the set of roles to the existing roles of a player.
  • void RemovePlayerRoles(ulong steamID, Roles role) - Removes the set of roles from the existing roles of a player.

PermissionsCommands

Description

This module provides in-game chat commands to add and remove roles of players.

Commands

  • addperm player role - Adds the role to the player. Requires Admin role to execute.
  • removeperm player role - Removes the role from the player. Requires Admin role to execute.

Dependencies

CommandHandler

Description

This module can be used by other modules to create easy to use chat commands and automatically parse and provide the required parameters. The default command prefix is ! and can be changed in the global configuration.

To create a new command in your module, register your module with CommandHandler in OnModulesLoaded:

[RequireModule(typeof(CommandHandler))]publicclassMyModule:BattleBitModule{[ModuleReference]publicCommandHandlerCommandHandler{get;set;}publicoverridevoidOnModulesLoaded(){this.CommandHandler.Register(this);}}

Commands are public void methods that take zero or many. They require the [CommandCallback("name")] attribute:

  • name - The name of the command that the player has to enter in chat (prefixed by the command prefix).
  • Description - A short description of the command for use in the help command.
  • AllowedRoles - A set of roles that are allowed to see and execute the command. Only works if PlayerPermissions is loaded.

The first method parameter must always be of type RunnerPlayer and contains the player who has called this command. Other parameters are automatically parsed. Parameters of type RunnerPlayer will try to find a player using the PlayerFinder.ByNamePart if available, otherwise uses exact case-insensitive matching. Enums, such as Roles are parsed. Simple types, such as string, int, float, double, bool, are parsed. Optional parameters and subcommands are supported

Example

[CommandCallback("ping",Description="Ping Pong",AllowedRoles=Roles.Vip)]publicvoidPingCommand(RunnerPlayercommandSource,inttime,string?message=null){Thread.Sleep(time);commandSource.Message($"Pong{(messageisnull?"":" ")}{message}!");}[CommandCallback("boop",Description="Boop!",AllowedRoles=Roles.Vip)]publicvoidBoopCommand(){this.Server.SayToChat("Booping!");}[CommandCallback("test one",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestOneCommand(){this.Server.SayToChat("Subcommands!");}[CommandCallback("test two",Description="Subcommands",AllowedRoles=Roles.Vip)]publicvoidTestTwoCommand(){this.Server.SayToChat("Subcommands!");}

Commands

  • help - Lists all available and accessible commands.
  • help command - Shows the description and parameters of a command.

Dependencies

Available methods and properties

  • void Register(BattleBitModule module) - Registers the commands of the specified module

DiscordWebhooks

Description

This module sends player connect and disconnect, server connect and disconnect, and player chat messages to a discord webhook which is specified in DiscordWebhooks.json. It can also be used by other modules to send raw webhook messages.

Dependencies

  • Newtonsoft JSON - Bin\net6.0\Newtonsoft.Json.dll
  • System.Net.Http - Copy from your dotnet6 installation, for example C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.*\System.Net.Http.dll

Available methods and properties

  • void SendMessage(string message) - Send the message to the webhook

RichText

Description

This module provides a simple way for other modules to create rich text messages for chat, announcements or messages. It doesn't do anything by itself.

Dependencies

  • None

Available methods and properties

  • string NewLine() - Make a new line.
  • string Color(string? color = null) - Sets the color of the text. Color must be hashtag prefixed hex value (eg. #22FF38). Color is optional can be null to reset the color to the default color white.
  • string FromColorName(string colorName) - Sets the color of the text to a color based on its name. See BattleBitBaseModules.Colors in RichText.cs for available color names.
  • string SpriteByName(string spriteName, string? color = null) - Returns a sprite by name. See BattleBitBaseModules.Sprites in RichText.cs for available sprites. Color must be hex value (eg. #22FF38). If no color is specified, the default color is used.
  • string Bold(bool bold) - Sets the boldness of the text. True to bold, false to unbold.
  • string Italic(bool italic) - Sets the italicness of the text. True to italic, false to unitalic.
  • string Underline(bool underline) - Sets the underlineness of the text. True to underline, false to ununderline.
  • string Strikethrough(bool strikethrough) - Sets the strikethroughness of the text. True to strikethrough, false to unstrike.
  • string Size(int size) - Sets the size of the text. Size is percentage (eg. 150 for 150% text size).
  • string Mark(bool mark, string color = "#ffff00aa") - Sets the text as marked (highlighter). True to mark, false to unmark. Color must be hex value and can include alpha (eg. #22FF38AA).

About

All the basic modules for the modular BattleBit API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages