Minor Improvements
All checks were successful
git.cronocide.net/bluebubbles-bot/pipeline/head This commit looks good
All checks were successful
git.cronocide.net/bluebubbles-bot/pipeline/head This commit looks good
This commit is contained in:
parent
33013bc5f5
commit
de3b39f3ca
@ -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
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user