def scream(self, message): message = message.lower() scrms = [c.action(message)['text'] for c in self._other_commands] + self._screams def react(): for t in self._triggers: if any(map(lambda p: re.search(message, p), t.patterns)): return t.probability, t.answer return 0, None probability, reply = react() if self.pattern in message or chance(probability): return wrap_t(reply or random.choice(scrms)) elif chance(self._probability): return wrap_t(random.choice(scrms)) else: return None
def _about(self, message): return wrap_t('Орущий бот\n' + '\n'.join([c.help for c in self._commands]))
def _trigger(self, message): self._active = not self._active return wrap_t('ЩА ОБОРУ ТЕБЯ' if self._active else 'Бот выключен')