mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-24 03:47:58 +02:00
Merge pull request #201 from ComfyFactory/changes_discord
Minor changes to logging to discord
This commit is contained in:
commit
01cc7036ac
@ -7,7 +7,6 @@ local Server = require 'utils.server'
|
||||
local random = math.random
|
||||
local sqrt = math.sqrt
|
||||
local floor = math.floor
|
||||
local ceil = math.ceil
|
||||
local format = string.format
|
||||
local match = string.match
|
||||
local insert = table.insert
|
||||
@ -146,76 +145,6 @@ function Public.ternary(c, t, f)
|
||||
end
|
||||
end
|
||||
|
||||
local function CurrentDate(z)
|
||||
z = floor(z / 86400) + 719468
|
||||
local era = floor(z / 146097)
|
||||
local doe = floor(z - era * 146097)
|
||||
local yoe = floor((doe - doe / 1460 + doe / 36524 - doe / 146096) / 365)
|
||||
local y = floor(yoe + era * 400)
|
||||
local doy = doe - floor((365 * yoe + yoe / 4 - yoe / 100))
|
||||
local mp = floor((5 * doy + 2) / 153)
|
||||
local d = ceil(doy - (153 * mp + 2) / 5 + 1)
|
||||
local m = floor(mp + (mp < 10 and 3 or -9))
|
||||
return y + (m <= 2 and 1 or 0), m, d
|
||||
end
|
||||
|
||||
function Public.CurrentTime(epoch)
|
||||
if not epoch then
|
||||
return
|
||||
end
|
||||
|
||||
local unixTime = floor(epoch) - (60 * 60 * (-2))
|
||||
|
||||
local hours = floor(unixTime / 3600 % 12)
|
||||
local minutes = floor(unixTime / 60 % 60)
|
||||
local seconds = floor(unixTime % 60)
|
||||
|
||||
local year, month, day = CurrentDate(unixTime)
|
||||
|
||||
month = tonumber(month)
|
||||
month = 0 .. month
|
||||
|
||||
day = tonumber(day)
|
||||
if day < 10 then
|
||||
day = 0 .. day
|
||||
end
|
||||
|
||||
return {
|
||||
year = year,
|
||||
month = month,
|
||||
day = day,
|
||||
hours = hours,
|
||||
minutes = minutes < 10 and '0' .. minutes or minutes,
|
||||
seconds = seconds < 10 and '0' .. seconds or seconds
|
||||
}
|
||||
end
|
||||
|
||||
local CurrentTime = Public.CurrentTime
|
||||
|
||||
function Public.get_current_date(pretty)
|
||||
local server_time = Server.get_current_time()
|
||||
if not server_time then
|
||||
return false
|
||||
end
|
||||
|
||||
local date = CurrentTime(server_time)
|
||||
if pretty then
|
||||
return tonumber(date.year .. '-' .. date.month .. '-' .. date.day)
|
||||
else
|
||||
return tonumber(date.year .. date.month .. date.day)
|
||||
end
|
||||
end
|
||||
|
||||
function Public.get_current_date_with_time()
|
||||
local server_time = Server.get_current_time()
|
||||
if not server_time then
|
||||
return false
|
||||
end
|
||||
|
||||
local date = CurrentTime(server_time)
|
||||
return date.year .. '-' .. date.month .. '-' .. date.day .. ' ' .. date.hours .. ':' .. date.minutes
|
||||
end
|
||||
|
||||
--- Takes a time in ticks and returns a string with the time in format "x hour(s) x minute(s)"
|
||||
function Public.format_time(ticks)
|
||||
local result = {}
|
||||
|
@ -1,5 +1,4 @@
|
||||
local Server = require 'utils.server'
|
||||
local Core = require 'utils.core'
|
||||
local Event = require 'utils.event'
|
||||
local ComfyGui = require 'comfy_panel.main'
|
||||
local Color = require 'utils.color_presets'
|
||||
@ -28,7 +27,7 @@ local function set_location(player)
|
||||
end
|
||||
|
||||
local function create_label(player)
|
||||
local date = Core.get_current_date_with_time()
|
||||
local date = Server.get_current_date_with_time()
|
||||
if not date then
|
||||
date = '1970-01-01'
|
||||
end
|
||||
@ -65,7 +64,7 @@ Event.add(
|
||||
Event.on_nth_tick(
|
||||
60,
|
||||
function()
|
||||
local date = Core.get_current_date_with_time()
|
||||
local date = Server.get_current_date_with_time()
|
||||
if not date then
|
||||
date = '1969-01-01 00:00'
|
||||
end
|
||||
|
@ -387,7 +387,10 @@ local vote_to_jail = function(player, griefer, msg)
|
||||
votejail[griefer][player.name] = true
|
||||
votejail[griefer].index = votejail[griefer].index + 1
|
||||
Utils.print_to(player, 'You have voted to jail player ' .. griefer .. '.')
|
||||
if votejail[griefer].index >= settings.votejail_count or (votejail[griefer].index == #game.connected_players - 1 and #game.connected_players > votejail[griefer].index) then
|
||||
if
|
||||
votejail[griefer].index >= settings.votejail_count or
|
||||
(votejail[griefer].index == #game.connected_players - 1 and #game.connected_players > votejail[griefer].index)
|
||||
then
|
||||
Public.try_ul_data(griefer, true, votejail[griefer].actor, msg)
|
||||
end
|
||||
else
|
||||
@ -415,7 +418,10 @@ local vote_to_free = function(player, griefer)
|
||||
votefree[griefer].index = votefree[griefer].index + 1
|
||||
|
||||
Utils.print_to(player, 'You have voted to free player ' .. griefer .. '.')
|
||||
if votefree[griefer].index >= settings.votejail_count or (votefree[griefer].index == #game.connected_players - 1 and #game.connected_players > votefree[griefer].index) then
|
||||
if
|
||||
votefree[griefer].index >= settings.votejail_count or
|
||||
(votefree[griefer].index == #game.connected_players - 1 and #game.connected_players > votefree[griefer].index)
|
||||
then
|
||||
Public.try_ul_data(griefer, false, votefree[griefer].actor)
|
||||
votejail[griefer] = nil
|
||||
votefree[griefer] = nil
|
||||
@ -460,7 +466,10 @@ local jail = function(player, griefer, msg, raised)
|
||||
end
|
||||
|
||||
Utils.print_to(nil, message)
|
||||
Utils.action_warning_embed('[Jailed]', message)
|
||||
local data = Server.build_embed_data()
|
||||
data.username = griefer
|
||||
data.admin = player
|
||||
Server.to_jailed_embed(data)
|
||||
|
||||
if votejail[griefer] then
|
||||
votejail[griefer].jailed = true
|
||||
@ -489,7 +498,10 @@ local free = function(player, griefer)
|
||||
set_data(jailed_data_set, griefer, nil)
|
||||
|
||||
Utils.print_to(nil, message)
|
||||
Utils.action_warning_embed('[Jailed]', message)
|
||||
local data = Server.build_embed_data()
|
||||
data.username = griefer
|
||||
data.admin = player
|
||||
Server.to_unjailed_embed(data)
|
||||
return true
|
||||
end
|
||||
|
||||
@ -703,7 +715,10 @@ Event.add(
|
||||
if trusted and playtime >= settings.playtime_for_vote and playtime < settings.playtime_for_instant_jail and not player.admin then
|
||||
if cmd == 'jail' then
|
||||
if not terms_tbl[player.name] then
|
||||
Utils.warning(player, 'Abusing the jail command will lead to revoked permissions. Jailing someone in case of disagreement is _NEVER_ OK!')
|
||||
Utils.warning(
|
||||
player,
|
||||
'Abusing the jail command will lead to revoked permissions. Jailing someone in case of disagreement is _NEVER_ OK!'
|
||||
)
|
||||
Utils.warning(player, 'Run this command again to if you really want to do this!')
|
||||
for i = 1, 4 do
|
||||
Task.set_timeout_in_ticks(delay, play_alert_sound, {name = player.name})
|
||||
@ -725,7 +740,10 @@ Event.add(
|
||||
if player.admin or playtime >= settings.playtime_for_instant_jail then
|
||||
if cmd == 'jail' then
|
||||
if not terms_tbl[player.name] then
|
||||
Utils.warning(player, 'Abusing the jail command will lead to revoked permissions. Jailing someone in case of disagreement is _NEVER_ OK!')
|
||||
Utils.warning(
|
||||
player,
|
||||
'Abusing the jail command will lead to revoked permissions. Jailing someone in case of disagreement is _NEVER_ OK!'
|
||||
)
|
||||
Utils.warning(player, 'Run this command again to if you really want to do this!')
|
||||
for i = 1, 4 do
|
||||
Task.set_timeout_in_ticks(delay, play_alert_sound, {name = player.name})
|
||||
|
@ -1,6 +1,5 @@
|
||||
local Global = require 'utils.global'
|
||||
local Game = require 'utils.game'
|
||||
local Core = require 'utils.core'
|
||||
local Token = require 'utils.token'
|
||||
local Task = require 'utils.task'
|
||||
local Server = require 'utils.server'
|
||||
@ -88,7 +87,7 @@ local try_download_amount_of_resets_token =
|
||||
local old_value = data.value
|
||||
if old_value then
|
||||
old_value = tonumber(old_value)
|
||||
local new_value = Core.get_current_date()
|
||||
local new_value = Server.get_current_date()
|
||||
local time_to_reset = (new_value - old_value)
|
||||
if not time_to_reset then
|
||||
return
|
||||
@ -102,7 +101,7 @@ local try_download_amount_of_resets_token =
|
||||
try_get_all_data(this.settings.dataset, clear_all_data_token)
|
||||
end
|
||||
else
|
||||
local new_value = Core.get_current_date()
|
||||
local new_value = Server.get_current_date()
|
||||
|
||||
if new_value then
|
||||
set_data(this.settings.dataset, this.settings.reset_key, tonumber(new_value))
|
||||
|
@ -30,6 +30,12 @@ end
|
||||
local sync_supporters_callback =
|
||||
Token.register(
|
||||
function(data)
|
||||
if not data then
|
||||
return
|
||||
end
|
||||
if not data.entries then
|
||||
return
|
||||
end
|
||||
table.clear_table(this.supporters)
|
||||
for k, v in pairs(data.entries) do
|
||||
this.supporters[k] = v
|
||||
|
336
utils/server.lua
336
utils/server.lua
@ -5,14 +5,21 @@ local Event = require 'utils.event'
|
||||
local Game = require 'utils.game'
|
||||
local Print = require('utils.print_override')
|
||||
|
||||
local serialize = serpent.serialize
|
||||
-- local constants
|
||||
local floor = math.floor
|
||||
local ceil = math.ceil
|
||||
local insert = table.insert
|
||||
local concat = table.concat
|
||||
local serialize = serpent.serialize
|
||||
local remove = table.remove
|
||||
local tostring = tostring
|
||||
local len = string.len
|
||||
local gmatch = string.gmatch
|
||||
local insert = table.insert
|
||||
local raw_print = Print.raw_print
|
||||
local minutes_to_ticks = 60 * 60
|
||||
local hours_to_ticks = 60 * 60 * 60
|
||||
local ticks_to_minutes = 1 / minutes_to_ticks
|
||||
local ticks_to_hours = 1 / hours_to_ticks
|
||||
|
||||
local serialize_options = {sparse = true, compact = true}
|
||||
|
||||
@ -48,6 +55,12 @@ local discord_bold_tag = '[DISCORD-BOLD]'
|
||||
local discord_admin_tag = '[DISCORD-ADMIN]'
|
||||
local discord_banned_tag = '[DISCORD-BANNED]'
|
||||
local discord_banned_embed_tag = '[DISCORD-BANNED-EMBED]'
|
||||
local discord_unbanned_tag = '[DISCORD-UNBANNED]'
|
||||
local discord_unbanned_embed_tag = '[DISCORD-UNBANNED-EMBED]'
|
||||
local discord_jailed_tag = '[DISCORD-JAILED]'
|
||||
local discord_jailed_embed_tag = '[DISCORD-JAILED-EMBED]'
|
||||
local discord_unjailed_tag = '[DISCORD-UNJAILED]'
|
||||
local discord_unjailed_embed_tag = '[DISCORD-UNJAILED-EMBED]'
|
||||
local discord_admin_raw_tag = '[DISCORD-ADMIN-RAW]'
|
||||
local discord_embed_tag = '[DISCORD-EMBED]'
|
||||
local discord_embed_raw_tag = '[DISCORD-EMBED-RAW]'
|
||||
@ -186,7 +199,7 @@ function Public.to_admin(message, locale)
|
||||
end
|
||||
end
|
||||
|
||||
--- Sends a message to the linked banend discord channel. The message is sanitized of markdown server side.
|
||||
--- Sends a message to the linked banned discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<string> message to send.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_banned(message, locale)
|
||||
@ -196,6 +209,37 @@ function Public.to_banned(message, locale)
|
||||
raw_print(discord_banned_tag .. message)
|
||||
end
|
||||
end
|
||||
--- Sends a message to the linked banned discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<string> message to send.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_unbanned(message, locale)
|
||||
if locale then
|
||||
print(message, discord_unbanned_tag)
|
||||
else
|
||||
raw_print(discord_unbanned_tag .. message)
|
||||
end
|
||||
end
|
||||
|
||||
--- Sends a message to the linked connected discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<string> message to send.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_jailed(message, locale)
|
||||
if locale then
|
||||
print(message, discord_jailed_tag)
|
||||
else
|
||||
raw_print(discord_jailed_tag .. message)
|
||||
end
|
||||
end
|
||||
--- Sends a message to the linked connected discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<string> message to send.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_unjailed(message, locale)
|
||||
if locale then
|
||||
print(message, discord_unjailed_tag)
|
||||
else
|
||||
raw_print(discord_unjailed_tag .. message)
|
||||
end
|
||||
end
|
||||
|
||||
--- Sends a message to the linked admin discord channel. The message is not sanitized of markdown.
|
||||
-- @param message<string> message to send.
|
||||
@ -242,13 +286,92 @@ function Public.to_admin_embed(message, locale)
|
||||
end
|
||||
|
||||
--- Sends a embed message to the linked banned discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<string> the content of the embed.
|
||||
-- @param message<tbl> the content of the embed.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_banned_embed(message, locale)
|
||||
local table_to_json = game.table_to_json
|
||||
if not type(message) == 'table' then
|
||||
return
|
||||
end
|
||||
if locale then
|
||||
print(message, discord_banned_embed_tag)
|
||||
else
|
||||
raw_print(discord_banned_embed_tag .. message)
|
||||
if not message.username then
|
||||
return
|
||||
end
|
||||
if not message.reason then
|
||||
return
|
||||
end
|
||||
if not message.admin then
|
||||
return
|
||||
end
|
||||
raw_print(discord_banned_embed_tag .. table_to_json(message))
|
||||
end
|
||||
end
|
||||
|
||||
--- Sends a embed message to the linked banned discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<tbl> the content of the embed.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_unbanned_embed(message, locale)
|
||||
local table_to_json = game.table_to_json
|
||||
if not type(message) == 'table' then
|
||||
return
|
||||
end
|
||||
if locale then
|
||||
print(message, discord_unbanned_embed_tag)
|
||||
else
|
||||
if not message.username then
|
||||
return
|
||||
end
|
||||
if not message.admin then
|
||||
return
|
||||
end
|
||||
raw_print(discord_unbanned_embed_tag .. table_to_json(message))
|
||||
end
|
||||
end
|
||||
|
||||
--- Sends a embed message to the linked connected discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<tbl> the content of the embed.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_jailed_embed(message, locale)
|
||||
local table_to_json = game.table_to_json
|
||||
if not type(message) == 'table' then
|
||||
return
|
||||
end
|
||||
if locale then
|
||||
print(message, discord_jailed_embed_tag)
|
||||
else
|
||||
if not message.username then
|
||||
return
|
||||
end
|
||||
if not message.reason then
|
||||
return
|
||||
end
|
||||
if not message.admin then
|
||||
return
|
||||
end
|
||||
raw_print(discord_jailed_embed_tag .. table_to_json(message))
|
||||
end
|
||||
end
|
||||
|
||||
--- Sends a embed message to the linked connected discord channel. The message is sanitized of markdown server side.
|
||||
-- @param message<tbl> the content of the embed.
|
||||
-- @param locale<boolean> if the message should be handled as localized.
|
||||
function Public.to_unjailed_embed(message, locale)
|
||||
local table_to_json = game.table_to_json
|
||||
if not type(message) == 'table' then
|
||||
return
|
||||
end
|
||||
if locale then
|
||||
print(message, discord_unjailed_embed_tag)
|
||||
else
|
||||
if not message.username then
|
||||
return
|
||||
end
|
||||
if not message.admin then
|
||||
return
|
||||
end
|
||||
raw_print(discord_unjailed_embed_tag .. table_to_json(message))
|
||||
end
|
||||
end
|
||||
|
||||
@ -377,6 +500,27 @@ local function validate_arguments(data_set, key, callback_token)
|
||||
end
|
||||
end
|
||||
|
||||
local function getOnlineAdmins()
|
||||
local online = game.connected_players
|
||||
local i = 0
|
||||
for _, p in pairs(online) do
|
||||
if p.admin then
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
return i
|
||||
end
|
||||
|
||||
local function build_embed_data()
|
||||
local d = {
|
||||
time = Public.format_time(game.ticks_played),
|
||||
onlinePlayers = #game.connected_players,
|
||||
totalPlayers = #game.players,
|
||||
onlineAdmins = getOnlineAdmins()
|
||||
}
|
||||
return d
|
||||
end
|
||||
|
||||
local function send_try_get_data(data_set, key, callback_token)
|
||||
data_set = double_escape(data_set)
|
||||
key = double_escape(key)
|
||||
@ -907,7 +1051,109 @@ function Public.get_current_time()
|
||||
return math.floor(secs + diff / game.speed / 60)
|
||||
end
|
||||
|
||||
--- Called be the web server to re sync which players are online.
|
||||
--- Converts from epoch to yymmddhhmm.
|
||||
-- @param epoch<number>
|
||||
-- @return date?
|
||||
function Public.convertFromEpoch(epoch)
|
||||
if not epoch then
|
||||
return
|
||||
end
|
||||
|
||||
local function date(z)
|
||||
z = floor(z / 86400) + 719468
|
||||
local era = floor(z / 146097)
|
||||
local doe = floor(z - era * 146097)
|
||||
local yoe = floor((doe - doe / 1460 + doe / 36524 - doe / 146096) / 365)
|
||||
local y = floor(yoe + era * 400)
|
||||
local doy = doe - floor((365 * yoe + yoe / 4 - yoe / 100))
|
||||
local mp = floor((5 * doy + 2) / 153)
|
||||
local d = ceil(doy - (153 * mp + 2) / 5 + 1)
|
||||
local m = floor(mp + (mp < 10 and 3 or -9))
|
||||
return y + (m <= 2 and 1 or 0), m, d
|
||||
end
|
||||
|
||||
local unixTime = floor(epoch) - (60 * 60 * (-2))
|
||||
|
||||
local hours = floor(unixTime / 3600 % 12)
|
||||
local minutes = floor(unixTime / 60 % 60)
|
||||
local seconds = floor(unixTime % 60)
|
||||
|
||||
local year, month, day = date(unixTime)
|
||||
|
||||
month = tonumber(month)
|
||||
month = 0 .. month
|
||||
|
||||
day = tonumber(day)
|
||||
if day < 10 then
|
||||
day = 0 .. day
|
||||
end
|
||||
|
||||
return {
|
||||
year = year,
|
||||
month = month,
|
||||
day = day,
|
||||
hours = hours,
|
||||
minutes = minutes < 10 and '0' .. minutes or minutes,
|
||||
seconds = seconds < 10 and '0' .. seconds or seconds
|
||||
}
|
||||
end
|
||||
|
||||
-- Returns the current date.
|
||||
-- @param pretty<boolean>
|
||||
-- @return date?
|
||||
function Public.get_current_date(pretty)
|
||||
local s = Public.get_current_time()
|
||||
if not s then
|
||||
return false
|
||||
end
|
||||
|
||||
local date = Public.convertFromEpoch(s)
|
||||
if pretty then
|
||||
return tonumber(date.year .. '-' .. date.month .. '-' .. date.day)
|
||||
else
|
||||
return tonumber(date.year .. date.month .. date.day)
|
||||
end
|
||||
end
|
||||
|
||||
-- Returns the total played time in yymmddhhmm.
|
||||
-- @return date?
|
||||
function Public.get_current_date_with_time()
|
||||
local s = Public.get_current_time()
|
||||
if not s then
|
||||
return false
|
||||
end
|
||||
|
||||
local date = Public.convertFromEpoch(s)
|
||||
return date.year .. '-' .. date.month .. '-' .. date.day .. ' ' .. date.hours .. ':' .. date.minutes
|
||||
end
|
||||
|
||||
--- Takes a time in ticks and returns a string with the time in format "x hour(s) x minute(s)"
|
||||
function Public.format_time(ticks)
|
||||
local result = {}
|
||||
|
||||
local hours = floor(ticks * ticks_to_hours)
|
||||
if hours > 0 then
|
||||
ticks = ticks - hours * hours_to_ticks
|
||||
insert(result, hours)
|
||||
if hours == 1 then
|
||||
insert(result, 'hour')
|
||||
else
|
||||
insert(result, 'hours')
|
||||
end
|
||||
end
|
||||
|
||||
local minutes = floor(ticks * ticks_to_minutes)
|
||||
insert(result, minutes)
|
||||
if minutes == 1 then
|
||||
insert(result, 'minute')
|
||||
else
|
||||
insert(result, 'minutes')
|
||||
end
|
||||
|
||||
return concat(result, ' ')
|
||||
end
|
||||
|
||||
--- Called by the web server to re sync which players are online.
|
||||
function Public.query_online_players()
|
||||
local message = {query_players_tag, '['}
|
||||
|
||||
@ -1014,10 +1260,7 @@ Event.add(
|
||||
defines.events.on_console_command,
|
||||
function(event)
|
||||
local cmd = event.command
|
||||
if not event.player_index then
|
||||
return
|
||||
end
|
||||
local player = game.players[event.player_index]
|
||||
|
||||
local user = event.parameters
|
||||
if not user then
|
||||
return
|
||||
@ -1027,10 +1270,6 @@ Event.add(
|
||||
return
|
||||
end
|
||||
|
||||
if not player.admin then
|
||||
return
|
||||
end
|
||||
|
||||
local userIndex
|
||||
local reason
|
||||
local str = ''
|
||||
@ -1052,41 +1291,56 @@ Event.add(
|
||||
end
|
||||
|
||||
local banishedPlayer
|
||||
if game.players[userIndex] then
|
||||
banishedPlayer = game.players[userIndex]
|
||||
if game.get_player(userIndex) then
|
||||
banishedPlayer = game.get_player(userIndex)
|
||||
else
|
||||
return
|
||||
end
|
||||
|
||||
if banishedPlayer.index == player.index then
|
||||
return
|
||||
end
|
||||
|
||||
if cmd == 'ban' then
|
||||
Public.set_data(jailed_data_set, player.name, nil) -- this is added here since we don't want to clutter the jail dataset.
|
||||
if player then
|
||||
if not reason then
|
||||
Public.to_banned_embed(table.concat {player.name .. ' banned ' .. banishedPlayer.name .. '. Reason: Not specified.'})
|
||||
return
|
||||
else
|
||||
Public.to_banned_embed(table.concat {player.name .. ' banned ' .. banishedPlayer.name .. '. Reason: ' .. reason})
|
||||
if event.player_index then
|
||||
local player = game.get_player(event.player_index)
|
||||
if player and player.valid and player.admin then
|
||||
if banishedPlayer.index == player.index then
|
||||
return
|
||||
end
|
||||
else
|
||||
if not reason then
|
||||
Public.to_banned_embed(table.concat {'Server banned ' .. banishedPlayer.name .. '. Reason: Not specified.'})
|
||||
return
|
||||
else
|
||||
Public.to_banned_embed(table.concat {'Server banned ' .. banishedPlayer.name .. '. Reason: ' .. reason})
|
||||
|
||||
local data = build_embed_data()
|
||||
data.username = banishedPlayer.name
|
||||
data.admin = player.name
|
||||
|
||||
if cmd == 'ban' then
|
||||
Public.set_data(jailed_data_set, banishedPlayer.name, nil) -- this is added here since we don't want to clutter the jail dataset.
|
||||
if not reason then
|
||||
data.reason = 'Not specified.'
|
||||
Public.to_banned_embed(data)
|
||||
return
|
||||
else
|
||||
data.reason = reason
|
||||
Public.to_banned_embed(data)
|
||||
return
|
||||
end
|
||||
elseif cmd == 'unban' then
|
||||
Public.to_unbanned_embed(data)
|
||||
return
|
||||
end
|
||||
end
|
||||
elseif cmd == 'unban' then
|
||||
if player then
|
||||
Public.to_banned_embed(table.concat {player.name .. ' unbanned ' .. banishedPlayer.name})
|
||||
return
|
||||
else
|
||||
Public.to_banned_embed(table.concat {'Server unbanned ' .. banishedPlayer.name})
|
||||
else
|
||||
local data = build_embed_data()
|
||||
data.username = banishedPlayer.name
|
||||
data.admin = '<Server>'
|
||||
|
||||
if cmd == 'ban' then
|
||||
if not reason then
|
||||
data.reason = 'Not specified.'
|
||||
Public.to_banned_embed(data)
|
||||
return
|
||||
else
|
||||
data.reason = reason
|
||||
Public.to_banned_embed(data)
|
||||
return
|
||||
end
|
||||
elseif cmd == 'unban' then
|
||||
Public.to_unbanned_embed(data)
|
||||
return
|
||||
end
|
||||
end
|
||||
@ -1124,4 +1378,6 @@ Event.add(
|
||||
end
|
||||
)
|
||||
|
||||
Public.build_embed_data = build_embed_data
|
||||
|
||||
return Public
|
||||
|
Loading…
x
Reference in New Issue
Block a user