mirror of
				https://github.com/jlu5/PyLink.git
				synced 2025-11-04 00:47:21 +01:00 
			
		
		
		
	automode: mangle channels to "#chanid" on networks where they're stored as int
This allows the bulk of automode's commands to actually function.
This commit is contained in:
		
							parent
							
								
									d28a9681ac
								
							
						
					
					
						commit
						41497a8a13
					
				@ -3,6 +3,7 @@ automode.py - Provide simple channel ACL management by giving prefix modes to us
 | 
			
		||||
hostmasks or exttargets.
 | 
			
		||||
"""
 | 
			
		||||
import collections
 | 
			
		||||
import string
 | 
			
		||||
 | 
			
		||||
from pylinkirc import conf, structures, utils, world
 | 
			
		||||
from pylinkirc.coremods import permissions
 | 
			
		||||
@ -97,6 +98,8 @@ def match(irc, channel, uids=None):
 | 
			
		||||
    Set modes on matching users. If uids is not given, check all users in the channel and give
 | 
			
		||||
    them modes as needed.
 | 
			
		||||
    """
 | 
			
		||||
    if isinstance(channel, int) or str(channel).startswith(tuple(string.digits)):
 | 
			
		||||
        channel = '#' + str(channel)  # Mangle channels on networks where they're stored as an ID
 | 
			
		||||
    dbentry = db.get(irc.name+channel)
 | 
			
		||||
    if not irc.has_cap('has-irc-modes'):
 | 
			
		||||
        log.debug('(%s) automode: skipping match() because IRC modes are not supported on this protocol', irc.name)
 | 
			
		||||
@ -169,6 +172,10 @@ def _get_channel_pair(irc, source, chanpair, perm=None):
 | 
			
		||||
    Fetches the network and channel given a channel pair, also optionally checking the caller's permissions.
 | 
			
		||||
    """
 | 
			
		||||
    log.debug('(%s) Looking up chanpair %s', irc.name, chanpair)
 | 
			
		||||
 | 
			
		||||
    if '#' not in chanpair and chanpair.startswith(tuple(string.digits)):
 | 
			
		||||
        chanpair = '#' + chanpair  # Mangle channels on networks where they're stored by ID
 | 
			
		||||
 | 
			
		||||
    try:
 | 
			
		||||
        network, channel = chanpair.split('#', 1)
 | 
			
		||||
    except ValueError:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user