This repository has been archived on 2023-06-09. You can view files and clone it, but cannot push or open issues or pull requests.
jarvis-server/jarvis/skills/entertainement/jokes/__init__.py

37 lines
1.1 KiB
Python
Raw Normal View History

from jarvis.skills import Skill, SkillRegistering
from jarvis.skills.decorators import intent_file_handler
from jarvis.skills.entertainement.jokes.providers import jokes_french_provider, jokes_english_provider
from jarvis.utils import languages_utils
class JokesSkill(Skill, metaclass=SkillRegistering):
def __init__(self, data=dict):
super().__init__("JokesSkill", data)
@intent_file_handler("tell_a_joke.intent", "TellAJokeIntent")
def handle_joke(self, data):
self.speak(get_joke(False))
def get_joke(nsfw, lang=languages_utils.get_language()):
"""
Returns a joke in the good language
Args:
lang: use language from config by default, you can specify a custom language here
nsfw: should include nsfw jokes
Returns:
array
"""
if lang.startswith("fr-"):
return jokes_french_provider.get_joke(nsfw)
elif lang.startswith("en-"):
return jokes_english_provider.get_joke(nsfw)
else:
return ['Error', "I don't know any jokes in your language..."]
def create_skill(data):
return JokesSkill(data)