def setUp(self): """ Instantiate the trainer class for testing. """ super(TwitterTrainerTestCase, self).setUp() self.trainer = TwitterTrainer( self.chatbot.storage, twitter_consumer_key='twitter_consumer_key', twitter_consumer_secret='twitter_consumer_secret', twitter_access_token_key='twitter_access_token_key', twitter_access_token_secret='twitter_access_token_secret' ) self.trainer.api = Mock() self.trainer.api.GetSearch = MagicMock(side_effect=get_search_side_effect) self.trainer.api.GetStatus = MagicMock(side_effect=get_status_side_effect)
To use this example, create a new file called settings.py. In settings.py define the following: TWITTER = { "CONSUMER_KEY": "my-twitter-consumer-key", "CONSUMER_SECRET": "my-twitter-consumer-secret", "ACCESS_TOKEN": "my-access-token", "ACCESS_TOKEN_SECRET": "my-access-token-secret" } ''' # Comment out the following line to disable verbose logging logging.basicConfig(level=logging.INFO) chatbot = ChatBot("TwitterBot", logic_adapters=["chatterbot.logic.BestMatch"], input_adapter="chatterbot.input.TerminalAdapter", output_adapter="chatterbot.output.TerminalAdapter", database_uri="./twitter-database.db", twitter_consumer_key=TWITTER["CONSUMER_KEY"], twitter_consumer_secret=TWITTER["CONSUMER_SECRET"], twitter_access_token_key=TWITTER["ACCESS_TOKEN"], twitter_access_token_secret=TWITTER["ACCESS_TOKEN_SECRET"]) trainer = TwitterTrainer(chatbot) trainer.train() chatbot.logger.info('Trained database generated successfully!')