@@ -785,20 +785,33 @@ class BotBase(GroupMixin):
 | 
			
		||||
        message: :class:`discord.Message`
 | 
			
		||||
            The message context to get the prefix of.
 | 
			
		||||
 | 
			
		||||
        Raises
 | 
			
		||||
        --------
 | 
			
		||||
        :exc:`.ClientException`
 | 
			
		||||
            The prefix was invalid. This could be if the prefix
 | 
			
		||||
            function returned None, the prefix list returned no
 | 
			
		||||
            elements that aren't None, or the prefix string is
 | 
			
		||||
            empty.
 | 
			
		||||
 | 
			
		||||
        Returns
 | 
			
		||||
        --------
 | 
			
		||||
        Union[List[str], str]
 | 
			
		||||
            A list of prefixes or a single prefix that the bot is
 | 
			
		||||
            listening for.
 | 
			
		||||
        """
 | 
			
		||||
        prefix = self.command_prefix
 | 
			
		||||
        prefix = ret = self.command_prefix
 | 
			
		||||
        if callable(prefix):
 | 
			
		||||
            ret = prefix(self, message)
 | 
			
		||||
            if asyncio.iscoroutine(ret):
 | 
			
		||||
                ret = yield from ret
 | 
			
		||||
            return ret
 | 
			
		||||
        else:
 | 
			
		||||
            return prefix
 | 
			
		||||
 | 
			
		||||
        if isinstance(ret, (list, tuple)):
 | 
			
		||||
            ret = [p for p in ret if p]
 | 
			
		||||
 | 
			
		||||
        if not ret:
 | 
			
		||||
            raise ClientException('invalid prefix (could be an empty string, empty list, or None)')
 | 
			
		||||
 | 
			
		||||
        return ret
 | 
			
		||||
 | 
			
		||||
    @asyncio.coroutine
 | 
			
		||||
    def get_context(self, message, *, cls=Context):
 | 
			
		||||
@@ -840,7 +853,7 @@ class BotBase(GroupMixin):
 | 
			
		||||
        prefix = yield from self.get_prefix(message)
 | 
			
		||||
        invoked_prefix = prefix
 | 
			
		||||
 | 
			
		||||
        if not isinstance(prefix, (tuple, list)):
 | 
			
		||||
        if isinstance(prefix, str):
 | 
			
		||||
            if not view.skip_string(prefix):
 | 
			
		||||
                return ctx
 | 
			
		||||
        else:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user