I don't know how feasible this is in Lua (meaning I don't know if Lua has anything similar to a
try-except in Python), but here goes anyway.
I'd like to have in ULX the ability to use Gatekeeper (if it's installed). The simple way to do this try to load gatekeeper at the beginning of ULX initialization, and if it throws an error to the effect of "IT'S NOT THERE Q.Q" then revert to using kickid and banid (as ULX uses now).
Then the kick function would have something to the effect of:
if gatekeeper then
gatekeeper.Drop(userid, kick_message)
else
-- Current ULX kick code here
end
And ban would just record the ban and call the kick function.
I'm sure a lot of people think the Kicked By Console : Reason Here thing is kind of sloppy, and while 99% of them know it's not your fault, it would still look better from an aesthetic point of view.
I could do it myself (without the check, because I would know gatekeeper's there), but I'm lazy D-: