143 lines
3.1 KiB
Markdown
143 lines
3.1 KiB
Markdown
|
|
# 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
|