You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
847 B

import hashlib
import random
import time
from edmond.plugin import Plugin
class OpinionPlugin(Plugin):
REQUIRED_CONFIGS = [
"questions",
"thinking",
"thinking_time",
"positive",
"negative",
]
def __init__(self, bot):
super().__init__(bot)
def on_pubmsg(self, event):
if not self.should_answer_question(event.arguments[0]):
return False
self.bot.say(event.target, self.config["thinking"])
time.sleep(self.config["thinking_time"])
content = self.question.content
positive = not bool(hashlib.md5(content.encode()).digest()[0] % 2)
reply_list = self.config["positive" if positive else "negative"]
reply = f"{content}... {random.choice(reply_list)}"
self.bot.say(event.target, reply)
return True