Minor Improvements
All checks were successful
git.cronocide.net/bluebubbles-bot/pipeline/head This commit looks good

This commit is contained in:
Daniel Dayley 2023-04-17 17:07:43 -06:00
parent 33013bc5f5
commit de3b39f3ca
2 changed files with 28 additions and 3 deletions

View File

@ -3,11 +3,24 @@ from typing import List
import persona import persona
from persona import PersonaBaseSkill from persona import PersonaBaseSkill
import datetime import datetime
import logging
import re import re
BACKOFF_SEC = 30
class PersonaSkill(PersonaBaseSkill) : class PersonaSkill(PersonaBaseSkill) :
"""A simple test skill that responds to the joke 'Why did ____ cross the road?''""" """A simple test skill that responds to the joke 'Why did ____ cross the road?''"""
def __init__(self) :
self.last_check = datetime.datetime.now().timestamp() - BACKOFF_SEC
self.log = logging.getLogger(__name__)
self.log = logging.LoggerAdapter(self.log,{'log_module':'chicken'})
def match_intent(self,message: Message) -> Bool : def match_intent(self,message: Message) -> Bool :
# Don't respond if you've responded already recently
if datetime.datetime.now().timestamp() < (self.last_check + BACKOFF_SEC) :
self.log.warn('Responding too fast, not responding again.')
return False
matches = re.search('^Why did the .* cross the road\?', message.text) matches = re.search('^Why did the .* cross the road\?', message.text)
if matches : if matches :
return True return True
@ -15,5 +28,4 @@ class PersonaSkill(PersonaBaseSkill) :
def respond(self, message: Message) -> Message : def respond(self, message: Message) -> Message :
"""Respond to a message by generating another message.""" """Respond to a message by generating another message."""
message.text = 'To get to the other side!' return persona.Message(text='To get to the other side!',sender_identifier=message.sender_identifier,chat_identifier=message.chat_identifier,attachments=[],timestamp=datetime.datetime.now(), recipients=[message.sender_identifier], identifier=None, meta={})
return message

View File

@ -4,13 +4,26 @@ import persona
from persona import PersonaBaseSkill from persona import PersonaBaseSkill
from dataclasses import dataclass from dataclasses import dataclass
import datetime import datetime
import logging
import random import random
import re import re
BACKOFF_SEC = 30
class PersonaSkill(PersonaBaseSkill) : class PersonaSkill(PersonaBaseSkill) :
"""A simple test skill that responds to the message 'Hello' with 'Hello!'""" """A simple test skill that responds to the message 'Hello' with 'Hello!'"""
def __init__(self) :
self.last_check = datetime.datetime.now().timestamp() - BACKOFF_SEC
self.log = logging.getLogger(__name__)
self.log = logging.LoggerAdapter(self.log,{'log_module':'greeter'})
def match_intent(self,message: Message) -> Bool : def match_intent(self,message: Message) -> Bool :
matches = re.search('^Hello', message.text) # Don't respond if you've responded already recently
if datetime.datetime.now().timestamp() < (self.last_check + BACKOFF_SEC) :
self.log.warn('Responding too fast, not responding again.')
return False
matches = re.search('^Hello$', message.text)
if matches : if matches :
return True return True
return False return False