def command(self, command, token, team_id=None, methods=['<STR_LIT:GET>'], **kwargs):
if team_id is None:<EOL><INDENT>team_id = self.team_id<EOL><DEDENT>if team_id is None:<EOL><INDENT>raise RuntimeError('<STR_LIT>')<EOL><DEDENT>def deco(func):<EOL><INDENT>self._commands[(team_id, command)] = (func, token, methods, kwargs)<EOL>return func<EOL><DEDENT>return deco<EOL>
A decorator used to register a command.
        Example::

            @slack.command('your_command', token='your_token',
                           team_id='your_team_id', methods=['POST'])
            def your_method(**kwargs):
                text = kwargs.get('text')
                return slack.response(text)

        :param command: the command to register
        :param token: your command token provided by slack
        :param team_id: optional. your team_id provided by slack.
                        You can also specify the "TEAM_ID" in app
                        configuration file for one-team project
        :param methods: optional. HTTP methods which are accepted to
                        execute the command
        :param kwargs: optional. the optional arguments which will be passed
                       to your register method