mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-10-31 07:37:22 +01:00 
			
		
		
		
	topic now checks for +t mode before denying topic changes, and also allows halfops in addition to ops.
default required capabilities for topic changes (if topic is +t and user is not an op or halfop), are chan,op and chan,halfop thanks jemfinch for the suggestions. Signed-off-by: James Vega <jamessan@users.sourceforge.net>
This commit is contained in:
		
							parent
							
								
									063dd24677
								
							
						
					
					
						commit
						814d89e200
					
				| @ -64,7 +64,7 @@ conf.registerChannelValue(Topic.undo, 'max', | ||||
|     registry.NonNegativeInteger(10, """Determines the number of previous | ||||
|     topics to keep around in case the undo command is called.""")) | ||||
| conf.registerChannelValue(Topic, 'requireManageCapability', | ||||
|     registry.String('admin; channel,op',  | ||||
|     registry.String('channel,op; channel,halfop',  | ||||
|     """Determines the  | ||||
|     capabilities required (if any) to make any topic changes, | ||||
|     (everything except for read-only operations). Use 'channel,capab' for  | ||||
|  | ||||
| @ -173,7 +173,7 @@ class Topic(callbacks.Plugin): | ||||
|         manually anyway. | ||||
|         """ | ||||
|         c = irc.state.channels[channel] | ||||
|         if msg.nick in c.ops: | ||||
|         if msg.nick in c.ops or msg.nick in c.halfops or 't' not in c.modes: | ||||
|             return True | ||||
|         capabilities = self.registryValue('requireManageCapability') | ||||
|         if capabilities: | ||||
|  | ||||
| @ -73,6 +73,10 @@ class TopicTestCase(ChannelPluginTestCase): | ||||
|      | ||||
|     def testManageCapabilities(self): | ||||
|         try: | ||||
|             self.irc.feedMsg(ircmsgs.mode(self.channel, args=('+o', self.nick), | ||||
|                                       prefix=self.prefix)) | ||||
|             self.irc.feedMsg(ircmsgs.mode(self.channel, args=('+t'), | ||||
|                                       prefix=self.prefix)) | ||||
|             world.testing = False | ||||
|             origuser = self.prefix | ||||
|             self.prefix = 'stuff!stuff@stuff' | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Daniel Folkinshteyn
						Daniel Folkinshteyn