Spaces:
Sleeping
Sleeping
JerameeUC
12 Commit PyTest Working But Failing for some. The individual sections need to be completed to fix.
0c4f0e3 | # /integrations/botframework/bots/echo_bot.py | |
| # from botbuilder.core import ActivityHandler, TurnContext | |
| # from botbuilder.schema import ChannelAccount | |
| def simple_sentiment(text: str): | |
| """ | |
| Tiny, no-cost heuristic so you can demo behavior without extra services. | |
| You can swap this later for HF/OpenAI/Azure easily. | |
| """ | |
| t = (text or "").lower() | |
| pos = any(w in t for w in ["love","great","good","awesome","fantastic","excellent","amazing"]) | |
| neg = any(w in t for w in ["hate","bad","terrible","awful","worst","horrible","angry"]) | |
| if pos and not neg: return "positive", 0.9 | |
| if neg and not pos: return "negative", 0.9 | |
| return "neutral", 0.5 | |
| CAPS = [ | |
| "Echo what you say (baseline).", | |
| "Show my capabilities with 'help' or 'capabilities'.", | |
| "Handle malformed/empty input politely.", | |
| "Classify simple sentiment (positive/negative/neutral).", | |
| ] | |
| class EchoBot(ActivityHandler): | |
| async def on_members_added_activity( | |
| self, members_added: [ChannelAccount], turn_context: TurnContext | |
| ): | |
| for member in members_added: | |
| if member.id != turn_context.activity.recipient.id: | |
| await turn_context.send_activity( | |
| "Hi! I’m your sample bot.\n" | |
| "- Try typing: **help**\n" | |
| "- Or any sentence and I’ll echo it + sentiment." | |
| ) | |
| async def on_message_activity(self, turn_context: TurnContext): | |
| text = (turn_context.activity.text or "").strip() | |
| # Handle empty/malformed | |
| if not text: | |
| await turn_context.send_activity( | |
| "I didn’t catch anything. Please type a message (or 'help')." | |
| ) | |
| return | |
| # Capabilities | |
| if text.lower() in {"help","capabilities","what can you do"}: | |
| caps = "\n".join(f"• {c}" for c in CAPS) | |
| await turn_context.send_activity( | |
| "Here’s what I can do:\n" + caps | |
| ) | |
| return | |
| # Normal message → echo + sentiment | |
| label, score = simple_sentiment(text) | |
| reply = f"You said: **{text}**\nSentiment: **{label}** (conf {score:.2f})" | |
| await turn_context.send_activity(reply) | |