mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 11:35:22 +09:00
Added chat bot
This commit is contained in:
51
modules/addons/chat-reply.lua
Normal file
51
modules/addons/chat-reply.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
local Event = require 'utils.event'
|
||||
local Game = require 'utils.game'
|
||||
local Roles = require 'expcore.roles'
|
||||
local config = require 'config.chat_reply'
|
||||
|
||||
Event.add(defines.events.on_console_chat,function(event)
|
||||
local player_index = event.player_index
|
||||
if not player_index or player_index < 1 then return end
|
||||
local player = Game.get_player_by_index(player_index)
|
||||
local message = event.message:lower():gsub("%s+", "")
|
||||
local allowed = true
|
||||
if config.command_admin_only and not player.admin then allowed = false end
|
||||
if config.command_permission and not Roles.player_allowed(player,config.command_permission) then allowed = false end
|
||||
|
||||
local prefix = config.command_prefix
|
||||
for key_word,reply in pairs(config.messages) do
|
||||
if message:find(key_word) then
|
||||
if type(reply) == 'function' then
|
||||
reply = reply(player)
|
||||
end
|
||||
|
||||
if message:find(prefix..key_word) then
|
||||
if allowed then
|
||||
game.print{'chat-bot.reply',reply}
|
||||
else
|
||||
player.print{'chat-bot.disallow'}
|
||||
end
|
||||
else
|
||||
player.print{'chat-bot.reply',reply}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if not allowed then return end
|
||||
|
||||
for key_word,reply in pairs(config.commands) do
|
||||
if message:find(prefix..key_word) then
|
||||
if type(reply) == 'function' then
|
||||
reply = reply(player)
|
||||
|
||||
if reply then
|
||||
game.print{'chat-bot.reply',reply}
|
||||
end
|
||||
|
||||
else
|
||||
game.print{'chat-bot.reply',reply}
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end)
|
||||
Reference in New Issue
Block a user