summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2006-08-28 15:48:33 +0000
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2006-08-28 15:48:33 +0000
commit7aa8bc3cc941f2e05026a034406d34ce1f5e4b3c (patch)
tree06ce119eaba6330889b5f53b9efdd6ef460ab653
parent8f483cba538d982ca43096090b75a9185e90b552 (diff)
Provide fine-grained topic permissions and fix a small bug in topic replace
-rwxr-xr-xdata/rbot/plugins/topic.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/data/rbot/plugins/topic.rb b/data/rbot/plugins/topic.rb
index e57c0e81..753d2bad 100755
--- a/data/rbot/plugins/topic.rb
+++ b/data/rbot/plugins/topic.rb
@@ -94,6 +94,7 @@ class TopicPlugin < Plugin
end
def topicsep(m, ch, txt)
+ return if !@bot.auth.allow?("topic::edit::separator", m.source, m.replyto)
if txt
sep = txt.strip
if sep != ""
@@ -141,6 +142,7 @@ class TopicPlugin < Plugin
end
def topicaddat(m, channel, num, txt)
+ return if !@bot.auth.allow?("topic::edit::add", m.source, m.replyto)
sep = getsep(channel)
topic = channel.topic.to_s
topicarray = topic.split(/\s+#{Regexp.escape(sep)}\s*/)
@@ -158,6 +160,7 @@ class TopicPlugin < Plugin
end
def topicdel(m, channel, num)
+ return if !@bot.auth.allow?("topic::edit::del", m.source, m.replyto)
sep = getsep(channel)
topic = channel.topic.to_s
topicarray = topic.split(/\s+#{Regexp.escape(sep)}\s*/)
@@ -167,7 +170,7 @@ class TopicPlugin < Plugin
end
def learntopic(m, channel)
- return if !@bot.auth.allow?("learntopic", m.source, m.replyto)
+ return if !@bot.auth.allow?("topic::store::store", m.source, m.replyto)
topic = channel.topic.to_s
k = channel.downcase
if @registry.has_key?(k)
@@ -181,9 +184,9 @@ class TopicPlugin < Plugin
end
def replacetopic(m, channel, num, txt)
- return if !@bot.auth.allow?("topic", m.source, m.replyto)
+ return if !@bot.auth.allow?("topic::edit::replace", m.source, m.replyto)
sep = getsep(channel)
- topic = @bot.channels[channel].topic.to_s
+ topic = channel.topic.to_s
topicarray = topic.split(/\s+#{Regexp.escape(sep)}\s*/)
topicarray[num] = txt
newtopic = topicarray.join(" #{sep} ")
@@ -191,18 +194,19 @@ class TopicPlugin < Plugin
end
def restoretopic(m, channel)
+ return if !@bot.auth.allow?("topic::store::restore", m.source, m.replyto)
return if !@bot.auth.allow?("restoretopic", m.source, m.replyto)
k = channel.downcase
if @registry.has_key?(k) && @registry[k].has_key?(:topic)
topic = @registry[k][:topic]
- @bot.topic channel, topic
+ topicset(m, channel, topicl
else
m.reply "I don't remember any topic for this channel"
end
end
def topicset(m, channel, text)
- return if !@bot.auth.allow?("topic", m.source, m.replyto)
+ return if !@bot.auth.allow?("topic::edit::replace", m.source, m.replyto)
@bot.topic channel, text
end