-
-
Notifications
You must be signed in to change notification settings - Fork 1
Modules
If you are looking for module installation, go to the Installation
page before this.
This page explains what each module is and all the config values.
Here are the generic config values for all modules:
-
is_enabled
- Defines if the module should be enabled or not -
debug
- Generally an unused variable right now, but in future it will log everything that the bot does, but should only be really used for development because it will log unnecessary stuff. -
guild_id
- This is here in-case you want to run a specific module in another guild, and not the main guild supplied in the bot. Set this to0
to use the default ID. This does NOT exist on modules that are global, likeDiscordLab.BotStatus
.
In DiscordLab, there is always translations for every bit of text except for some cases like DiscordLab.AdvancedLogging
(because it's not something that should go to the normal user). So make sure you check the translations if you want to edit any bit of text.
Note: You can have multiple variables running the same ID, so incase you wanted all of the DiscordLab.ConnectionLogs
logs to go to 1 channel, you can, you don't need a new ID every time.
Advanced logging is a module that allows you to log anything you want, as long as EXILED has it, this is NOT a module for beginners or people who have no clue about plugin development.
This is useful for logging events that DiscordLab doesn't already have modules for, but it is advanced hence it's name, but this should be a clear guide for you to follow. Once you've added the module and started your bot, you don't need to edit the config file, because there is a command you can use to add your own events, /addlog
. Here when you run the command, a modal will show up with multiple different boxes, let
me explain how each one works:
-
Handler - This is the handler, so
Player
might be an example, this would get the HandlerExiled.Events.Handlers.Player
. -
Event - This is the event, so
Died
might be an example, this would get the eventDied
fromExiled.Events.Handlers.Player
, if you set your handler asPlayer
that is. This would get the eventExiled.Events.Handlers.Player.Died
and bind to it. -
Message - This is the message you want to send to the channel, here is the tricky part though, I do not write every single event that
is created using this method, so you need to add your own placeholder, they work like this, let's say we are bound to
Player.Died
, here is what the message may look like for this case.
Player {Player.Nickname} has been killed.
So in this case you will see that {Player.Nickname}
is a placeholder, you will need to go to the event args you are binding to
and find all the variables you need, you need to bind to that variable exactly or risk a null exception error. Capitals also matter.
Ignore the ev.
part though, that is not required and is done for you.
-
Nullables - This is a comma seperated list of nullable variables, and if one of the variables you mention inside here is null,
then the message will not be sent, this is useful for stuff like
Attacker
in thePlayer.Died
event, as if the attacker is null, then the message will not be sent. -
Channel - This is the channel ID you want to send the message to, you can get this by right-clicking a channel and clicking
Copy ID
. There is a tutorial on how to get IDs in the Get started section.
After running this /addlog command, you shouldn't need to restart your server.
This module makes it so the bot's status will change based on the status of the server, and is fully customisable. The status will show the current amount of players on the server, and you can edit it to go onto Idle
mode when there is 0 people on the server. You can also edit the translations for 0 players too if needed, incase 0/30 currently online does not fit what you want.
Config values:
-
idle_on_empty
- Set the bot's status to orange/idle whenever the server has 0 people on.
This module logs all connections and disconnections from the server to a specific channel, it does ignore all connections in the Waiting for players
phase though to avoid spam and rate limits during that time, it can also cause hanging if sending too many messages at once, but we have a Round started
message to counter-act this.
Config values:
-
join_channel_id
- The channel where join logs will be sent -
leave_channel_id
- The channel where leave logs will be sent -
round_start_channel_id
- The channel where round start logs will be sent
This module logs all deaths (with also all death types) from the server to a specific channel. This allows you to log every type of death you want.
Config values:
-
channel_id
- The channel where normal death logs will be sent -
cuffed_channel_id
- The channel where cuff kill logs go, if0
then this will default to the normal channel id but without the cuffed indicator. -
self_channel_id
- The channel where suicide logs should go -
team_kill_channel_id
- The channel where team kill logs go -
scp_ignore_cuffed
- Should an SCP killing a player who is cuffed ignore the player being cuffed
This module allows you to do moderation/administrative actions on your SCP server without needing to go onto the server, it makes 3 commands which allow you to interact with the server, the command names can be configured.
Commands:
-
ban
- Ban a user from your server -
unban
- Unbans a user from your server -
sendcommand
- Allows you to send a remote/local admin command to the server.
No config values that are different to the main ones.
This module allows you to log all moderation/administrative actions on your SCP server, DiscordLab.Moderation
links directly to this as well for moderation logs, but isn't required for it to work.
None of the channel id values are required here, only set the ones you actually want to log.
Config values:
-
ban_channel_id
- Where to send the ban logs -
ban_color
- What colour the ban embed should be -
unban_channel_id
- Where to send the unban logs -
unban_color
- What colour the unban embed should be -
kick_channel_id
- Where to send the kick logs -
kick_color
- What colour the kick embed should be -
mute_channel_id
- Where to send the mute logs -
mute_color
- What colour the mute embed should be -
unmute_channel_id
- Where to send the unmute logs -
unmute_color
- What colour the unmute embed should be -
admin_chat_channel_id
- Where to send the admin chat logs -
admin_chat_color
- What colour the admin chat embed should be -
report_channel_id
- Where to send the report logs -
report_color
- What colour the report embed should be -
remote_admin_channel_id
- Where to send the remote admin logs -
remote_admin_color
- What colour the remote admin embed should be
This module connects with any SCP Swap plugin and will log any swaps between 2 SCPs. This only works on EXILED 9 unfortunately.
Config values:
-
channel_id
- Where the logs should be sent.
Sends and updates an embed inside a specific channel which shows who is online and how many are online, fully customisable.
Config values:
-
channel_id
- Where the initial message should be sent and/or found. -
color
- The color of the embed.
This modules links with the XPSystem plugin and requires v2.0.8 of the plugin to work. It adds a getlevel
command which can get you the person's level and XP directly from the plugin and also has a logging feature to log when someone levels up.
Config values:
-
channel_id
- Where to send the level up logs -
color
- What colour to make the embeds