'Implementing the function'

def func(self):

    caller = self.caller
    args = self.args
    if (not args):
        caller.msg('Usage:    @boot[/switches]    <player>    [:reason]')
        return
    if (':' in args):
        (args, reason) = [a.strip() for a in args.split(':', 1)]
    else:
        (args, reason) = (args, '')
    boot_list = []
    if ('sid' in self.switches):
        sessions = SESSIONS.get_sessions(True)
        for sess in sessions:
            if (sess.sessid == int(args)):
                boot_list.append(sess)
                break
    else:
        pobj = search.player_search(args)
        if (not pobj):
            caller.msg(('Player    %s    was    not    found.' % args))
            return
        pobj = pobj[0]
        if (not pobj.access(caller, 'boot')):
            string = ("You    don't    have    the    permission    to    boot    %s." % (pobj.key,))
            caller.msg(string)
            return
        matches = SESSIONS.sessions_from_player(pobj)
        for match in matches:
            boot_list.append(match)
    if (not boot_list):
        caller.msg('No    matching    sessions    found.    The    Player    does    not    seem    to    be    online.')
        return
    feedback = None
    if ('quiet' not in self.switches):
        feedback = ('You    have    been    disconnected    by    %s.\n' % caller.name)
        if reason:
            feedback += ('\nReason    given:    %s' % reason)
    for session in boot_list:
        session.msg(feedback)
        session.player.disconnect_session_from_player(session)
