mirror of
https://github.com/ncoevoet/ChanTracker.git
synced 2025-05-05 09:50:53 -05:00
related to askOp and a new method to permit both edit and mark
This commit is contained in:
parent
c84bd7d3ff
commit
e198c32b7a
39
plugin.py
39
plugin.py
@ -1044,6 +1044,41 @@ class ChanTracker(callbacks.Plugin,plugins.ChannelDBHandler):
|
|||||||
self.getIrc(irc)
|
self.getIrc(irc)
|
||||||
self.recaps = re.compile("[A-Z]")
|
self.recaps = re.compile("[A-Z]")
|
||||||
|
|
||||||
|
|
||||||
|
def editandmark (self,irc,msg,args,user,ids,seconds,reason):
|
||||||
|
"""<id>[,<id>] [<years>y] [<weeks>w] [<days>d] [<hours>h] [<minutes>m] [<seconds>s] [<-1> or empty means forever, <0s> means remove] <reason>
|
||||||
|
|
||||||
|
change expiration and mark an active mode change"""
|
||||||
|
i = self.getIrc(irc)
|
||||||
|
b = True
|
||||||
|
for id in ids:
|
||||||
|
be = False
|
||||||
|
bm = False
|
||||||
|
item = i.getItem(irc,id)
|
||||||
|
if item:
|
||||||
|
f = None
|
||||||
|
if self.registryValue('announceEdit',channel=item.channel):
|
||||||
|
f = self._logChan
|
||||||
|
if getDuration(seconds) == 0 and not self.registryValue('announceInTimeEditAndMark',channel=item.channel):
|
||||||
|
f = None
|
||||||
|
be = i.edit(irc,item.channel,item.mode,item.value,getDuration(seconds),msg.prefix,self.getDb(irc.network),self._schedule,f)
|
||||||
|
f = None
|
||||||
|
if self.registryValue('announceEdit',channel=item.channel):
|
||||||
|
f = self._logChan
|
||||||
|
if be:
|
||||||
|
if reason and len(reason):
|
||||||
|
bm = i.mark(irc,id,reason,msg.prefix,self.getDb(irc.network),f)
|
||||||
|
else:
|
||||||
|
bm = True
|
||||||
|
b = b and be and bm
|
||||||
|
else:
|
||||||
|
b = False
|
||||||
|
if b:
|
||||||
|
irc.replySuccess()
|
||||||
|
else:
|
||||||
|
irc.reply('item not found, already removed or not enough rights to modify it')
|
||||||
|
editandmark = wrap(editandmark,['user',commalist('int'),any('getTs',True),rest('text')])
|
||||||
|
|
||||||
def edit (self,irc,msg,args,user,ids,seconds):
|
def edit (self,irc,msg,args,user,ids,seconds):
|
||||||
"""<id> [,<id>] [<years>y] [<weeks>w] [<days>d] [<hours>h] [<minutes>m] [<seconds>s] [<-1>] means forever
|
"""<id> [,<id>] [<years>y] [<weeks>w] [<days>d] [<hours>h] [<minutes>m] [<seconds>s] [<-1>] means forever
|
||||||
|
|
||||||
@ -2431,7 +2466,7 @@ class ChanTracker(callbacks.Plugin,plugins.ChannelDBHandler):
|
|||||||
del i.askedItems[msg.prefix][found[0]]
|
del i.askedItems[msg.prefix][found[0]]
|
||||||
if not len(i.askedItems[msg.prefix]):
|
if not len(i.askedItems[msg.prefix]):
|
||||||
del i.askedItems[msg.prefix]
|
del i.askedItems[msg.prefix]
|
||||||
tokens = callbacks.tokenize('chantracker edit %s %s' % (found[0],text))
|
tokens = callbacks.tokenize('chantracker editAndMark %s %s' % (found[0],text))
|
||||||
msg.command = 'PRIVMSG'
|
msg.command = 'PRIVMSG'
|
||||||
msg.prefix = msg.prefix
|
msg.prefix = msg.prefix
|
||||||
self.Proxy(irc.irc, msg, tokens)
|
self.Proxy(irc.irc, msg, tokens)
|
||||||
@ -2517,7 +2552,7 @@ class ChanTracker(callbacks.Plugin,plugins.ChannelDBHandler):
|
|||||||
if not len(i.askedItems[msg.prefix]):
|
if not len(i.askedItems[msg.prefix]):
|
||||||
del i.askedItems[msg.prefix]
|
del i.askedItems[msg.prefix]
|
||||||
schedule.addEvent(unAsk,time.time()+180)
|
schedule.addEvent(unAsk,time.time()+180)
|
||||||
i.lowQueue.enqueue(ircmsgs.privmsg(msg.nick,'please type duration for [#%s +%s %s in %s], you have 3 minutes' % (item.uid,m,value,channel)))
|
i.lowQueue.enqueue(ircmsgs.privmsg(msg.nick,'Could you enter duration and reason for [#%s +%s %s in %s]' % (item.uid,m,value,channel)))
|
||||||
self.forceTickle = True
|
self.forceTickle = True
|
||||||
if overexpire > 0:
|
if overexpire > 0:
|
||||||
# overwrite expires
|
# overwrite expires
|
||||||
|
Loading…
x
Reference in New Issue
Block a user