tell
The Tell module is an interstellar answering machine that allows users to leave messages for other users who may not be online at the moment. When the recipient joins a channel or sends a message, they will receive all pending messages that were left for them.
Features
- Leave messages for offline users with
tell <username> <message> - Delete your own messages with
rmtell <message-id> - List your pending messages with
list-tells - Automatic delivery of pending messages when users are active
- Persistent storage using SQLite database
- Rate limiting to prevent abuse
- Multi-platform support
Usage
tell Someone Something
To leave a message for someone who is not currently online:
tell <username> <message>
Example:
tell alice Hey, check out this cool link!
Removing Your Messages
To remove a message you previously sent:
rmtell <message-id>
Example:
rmtell a1b2c3d4-e5f6-7890-abcd-ef1234567890
The message ID is provided when your message is stored for delivery to the recipient.
Listing Your Pending Messages
To see your pending tell messages:
list-tells
The bot will respond with a list of your pending messages and their IDs.
Configuration
To deploy the tell module, add it to your bot’s botModules configuration with moduleName: "tell":
botModules:
- name: tell
spec:
size: 1
image: ghcr.io/eeveebot/tell:latest
pullPolicy: Always
metrics: true
metricsPort: 8080
ipcConfig: my-eevee-bot
moduleName: tell
moduleConfig: |
ratelimit:
mode: drop
level: user
limit: 5
interval: 1m
Requirements
This module uses better-sqlite3 for persistent storage, which requires native compilation during npm install. Ensure your build environment has a C++ compiler and Python 3 (for node-gyp).