diff --git a/bot/bot.lua b/bot/bot.lua index cd69354..dafac13 100644 --- a/bot/bot.lua +++ b/bot/bot.lua @@ -47,6 +47,10 @@ function msg_valid(msg) print("Not valid, readed") return false end + if is_disabled(msg) then + print("Disabled channel") + return false + end end function do_lex(msg, text) diff --git a/bot/utils.lua b/bot/utils.lua index f5ef26c..74d2da4 100644 --- a/bot/utils.lua +++ b/bot/utils.lua @@ -146,6 +146,20 @@ function is_sudo(msg) return var end +function is_disabled(msg) + local var = false + if msg.text == "!channel enable" then + return var + end + -- Check users id in config + for v,channel in pairs(_config.disabled_channels) do + if channel == msg.to.id then + var = true + end + end + return var +end + -- Returns the name of the sender function get_name(msg) local name = msg.from.first_name diff --git a/plugins/channels.lua b/plugins/channels.lua new file mode 100644 index 0000000..eb622ef --- /dev/null +++ b/plugins/channels.lua @@ -0,0 +1,48 @@ +function enable_channel( channel_id, channel_name ) + -- Add to the config table + table.remove(_config.disabled_channels, get_index(channel_id)) + save_config() + return "Channel "..channel_name.." enabled" +end + +function disable_channel( channel_id, channel_name ) + -- Disable + table.insert(_config.disabled_channels, channel_id) + save_config( ) + return "Channel "..channel_name.." disabled" +end + +function get_index( channel_id ) + for k,v in pairs(_config.disabled_channels) do + if channel_id == v then + return k + end + end + -- If not found + return false +end + +function run(msg, matches) + -- Enable a channel + if matches[1] == 'enable' then + print("enable: "..msg.to.id) + return enable_channel(msg.to.id, msg.to.title) + end + -- Disable a channel + if matches[1] == 'disable' then + print("disable: "..msg.to.id) + return disable_channel(msg.to.id, msg.to.title) + end +end + +return { + description = "Plugin to manage channels. Enable or disable channel.", + usage = { + "!channel enable: enable current channel", + "!channel disable: disable current channel" }, + patterns = { + "^!channel? (enable)", + "^!channel? (disable)" }, + run = run, + privileged = true +} \ No newline at end of file