Slack was always marked as untested and is being dropped, leaving Telegram as the sole supported platform. - Delete the internal/platform/slack connector package - Remove Slack registration in the platform factory - Remove SlackConfig and its SLACK_TOKEN env vars from config - Scrub Slack from README, docs, and .env examples - Drop incidental Slack references from the gallerydl plugin copy Also fixes a pre-existing staticcheck SA5011 warning in db_test.go so the tree lints cleanly.
3.5 KiB
3.5 KiB
Provided plugins
Development
ping: Saypingto get response with time elapsed.
Fun and entertainment
- Lo quito: What happens when you say "lo quito"...? (Spanish pun)
- Dice: Put
!diceand wathever roll you want to perform. - Coin: Flip a coin and get heads or tails.
Utility
- Help: Shows available commands when you type
!help. Lists all enabled plugins for the current channel organized by category with their descriptions and usage instructions. - Remind Me: Reply to a message with
!remindme <duration>to set a reminder. Supported duration units: y (years), mo (months), d (days), h (hours), m (minutes), s (seconds). Examples:!remindme 1yfor 1 year,!remindme 3mofor 3 months,!remindme 2dfor 2 days,!remindme 3hfor 3 hours. The bot will mention you with a reminder after the specified time. - Search and Replace: Reply to any message with
s/search/replace/[flags]to perform text substitution. Supports flags:g(global),i(case insensitive),n(regex pattern). Example:s/hello/hi/gireplaces all occurrences of "hello" with "hi" case-insensitively. - Gallery-DL Downloader: Reply to a message containing a link with
!gallerydl(or send!gallerydl <link>directly) to download the media at that link using the gallery-dl CLI and have it posted back as a reply. Restricted to allowed users only — no one is allowed by default. Configure the comma-separatedallowed_userslist (Telegram@username, with or without the leading@) through the admin interface, globally or per channel. An optionalgallery_dl_pathoption sets the executable path (defaultgallery-dlon PATH). Media upload is currently supported on Telegram only, and thegallery-dlbinary must be installed on the host running the bot.
Security
- Domain Blocker: Blocks messages containing links from specified domains. Configure it per channel with a comma-separated list of domains to block. When a message contains a link matching any of the blocked domains, the bot will notify that the message contained a blocked domain. This plugin requires configuration through the admin interface.
Social Media
- Twitter Link Expander: Automatically converts twitter.com and x.com links to alternative domain links and removes tracking parameters. This allows for better media embedding in chat platforms. Configure with
domainoption to set replacement domain (default: fxtwitter.com). - Instagram Link Expander: Automatically converts instagram.com links to alternative domain links and removes tracking parameters. This allows for better media embedding in chat platforms. Configure with
domainoption to set replacement domain (default: ddinstagram.com).
Plugin configuration
Plugins that require configuration (e.g. Domain Blocker, Twitter/Instagram Link Expander) can be configured in two places through the admin interface:
- Global configuration — app-wide defaults for a plugin, set from the Plugins page
via the "Configure" button (
/admin/plugins/config/<plugin id>). These values apply to every channel that has the plugin enabled. - Per-channel configuration — set from a channel's plugin list. A channel inherits the global configuration and only overrides the values you fill in.
The effective configuration a plugin receives for a message is the global configuration with the channel's non-empty values layered on top. Leaving a channel field blank makes it inherit the global value for that field, so you only need to set values globally once and override per channel where needed.