botbook/src/06-gbdialog/keywords-media.md

143 lines
3.1 KiB
Markdown
Raw Normal View History

2025-12-03 19:56:35 -03:00
# Media & Messaging Keywords
Keywords for displaying media content and sending messages across various channels.
## Overview
These keywords handle media playback, QR code generation, and messaging operations that extend beyond the basic TALK/HEAR conversation flow.
## Keywords in This Section
| Keyword | Description |
|---------|-------------|
| [PLAY](./keyword-play.md) | Display videos, images, documents, and presentations |
| [QR CODE](./keyword-qrcode.md) | Generate QR code images from data |
| [SEND SMS](./keyword-sms.md) | Send SMS text messages |
## Quick Reference
### Media Display
```basic
' Play video with controls
PLAY "training.mp4" WITH OPTIONS "controls"
' Display image fullscreen
PLAY "banner.png" WITH OPTIONS "fullscreen"
' Show PDF document
PLAY "contract.pdf"
' Display PowerPoint presentation
PLAY "slides.pptx"
```
### QR Code Generation
```basic
' Generate basic QR code
qr_path = QR CODE "https://example.com"
SEND FILE qr_path
' Generate with custom size
qr_path = QR CODE "payment-data", 512
' WiFi QR code
wifi_data = "WIFI:T:WPA;S:MyNetwork;P:password123;;"
qr_path = QR CODE wifi_data
```
### SMS Messaging
```basic
' Send basic SMS
SEND SMS "+1234567890", "Hello from General Bots!"
' Send with specific provider
SEND SMS phone, message, "twilio"
' Two-factor authentication
otp = RANDOM(100000, 999999)
SEND SMS user.phone, "Your code: " + otp
```
## Channel Behavior
These keywords adapt their behavior based on the active channel:
| Keyword | Web | WhatsApp | Teams | SMS |
|---------|-----|----------|-------|-----|
| PLAY | Modal player | Send as media | Adaptive card | N/A |
| QR CODE | Display inline | Send as image | Embed in card | N/A |
| SEND SMS | N/A | N/A | N/A | Direct send |
## Configuration
### SMS Providers
Configure in `config.csv`:
```csv
sms-provider,twilio
twilio-account-sid,YOUR_SID
twilio-auth-token,YOUR_TOKEN
twilio-phone-number,+15551234567
```
### Supported Providers
- **Twilio** - Global coverage, reliable
- **AWS SNS** - AWS integration, cost-effective
- **Vonage** - Good international rates
- **MessageBird** - European coverage
## Common Patterns
### Interactive Media Training
```basic
TALK "Welcome to the training module!"
PLAY "intro-video.mp4" WITH OPTIONS "controls"
HEAR ready AS TEXT "Type 'next' when ready:"
PLAY "chapter-1.pptx"
HEAR quiz AS TEXT "What did you learn?"
' Process quiz response
```
### QR Code Payment Flow
```basic
HEAR amount AS NUMBER "Enter payment amount:"
payment_data = GENERATE_PAYMENT_CODE(amount)
qr_path = QR CODE payment_data, 400
TALK "Scan to pay $" + amount + ":"
SEND FILE qr_path
```
### SMS Verification
```basic
otp = RANDOM(100000, 999999)
REMEMBER "otp_" + user.id, otp, "5 minutes"
SEND SMS user.phone, "Your code: " + otp
HEAR code AS TEXT "Enter verification code:"
IF code = RECALL("otp_" + user.id) THEN
TALK "✅ Verified!"
ELSE
TALK "❌ Invalid code"
END IF
```
## See Also
- [Universal Messaging](./universal-messaging.md) - Multi-channel messaging
- [SEND MAIL](./keyword-send-mail.md) - Email messaging
- [TALK](./keyword-talk.md) - Basic text output
- [File Operations](./keywords-file.md) - File handling