Added chat bot

This commit is contained in:
Cooldude2606
2019-06-12 23:16:25 +01:00
parent 336550f5c3
commit cfff682b18
7 changed files with 159 additions and 20 deletions

View 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)