diff --git a/modules/Markov.py b/modules/Markov.py index 83ee9e5..1a2c7f2 100644 --- a/modules/Markov.py +++ b/modules/Markov.py @@ -449,8 +449,8 @@ class Markov(Module): new_sentence = self._create_chain_with_k1_k2(self.start1, self.start2, - 3, - context_id) + 3, context_id, + avoid_address=True) if len(new_sentence) > 0: self.log.debug("started new sentence " @@ -587,7 +587,8 @@ class Markov(Module): raise finally: cur.close() - def _create_chain_with_k1_k2(self, k1, k2, length, context_id): + def _create_chain_with_k1_k2(self, k1, k2, length, context_id, + avoid_address=False): """Create a chain of the given length, using k1,k2. k1,k2 does not appear in the resulting chain. @@ -604,7 +605,13 @@ class Markov(Module): if v: chain.append(v) - return chain[2:] + # check for addresses (the "whoever:" in + # __start1 __start2 whoever: some words) + addressing_suffixes = [':', ','] + if chain[2][-1] in addressing_suffixes and avoid_address: + return chain[3:] + else: + return chain[2:] def _get_chatter_targets(self): """Get all possible chatter targets."""