"""Reaction callback: play an emotion when someone says the robot's name.""" import logging from reachy_mini.motion.recorded_move import RecordedMoves from lyon_chatbox.tools.core_tools import ToolDependencies from lyon_chatbox.dance_emotion_moves import EmotionQueueMove from lyon_chatbox.cascade.transcript_analysis.base import TriggerMatch logger = logging.getLogger(__name__) RECORDED_MOVES = RecordedMoves("pollen-robotics/reachy-mini-emotions-library") async def react_to_name(deps: ToolDependencies, match: TriggerMatch, emotion: str = "enthusiastic1", **kwargs: object) -> None: """Play an emotion when someone mentions Reachy's name.""" logger.info(f"Someone said my name! Matched: {match.words} — playing {emotion}") deps.movement_manager.queue_move(EmotionQueueMove(emotion, RECORDED_MOVES))