Embify is a Discord bot that intercepts messages containing URLs from social media sites and replies with an embed supported alternative.
- Listens to user messages for social media URL's.
- Disables the original URL's embed.
- Immediately provides a clean, embed-friendly link without extra text.
- Silently checks if the primary link is working in the background.
- Automatically falls back to working alternatives if needed.
The bot currently supports intercepting URLs from the following social media apps with multiple alternatives:
-
Twitter/X:
- FxEmbed (Primary)
- BetterTwitFix (Fallback)
-
TikTok:
-
Reddit:
-
Instagram:
- InstaFix (Primary)
- KKInstagram (Fallback)
-
Twitch Clips:
-
Bluesky:
- VixBluesky (Primary)
- FxEmbed (Fallback)
-
Facebook:
-
Bilibili:
- fxbilibili (Primary)
- BiliFix (Fallback)
-
Tumblr:
-
Threads:
- FixThreads (Primary)
- vxThreads (Fallback)
When a user posts a link to a supported social media site, Embify:
- Detects the URL and matches it to a supported platform
- Suppresses the original embed to prevent duplicate embeds
- Immediately replies with a clean, embed-friendly URL (no extra text or formatting)
- Checks in the background if the primary URL is working
- If the primary URL isn't working, automatically updates the message with a working alternative URL
This approach ensures users always get functioning embed links even when some services are down.
I have a self-hosted instance of the bot currently, if you wish to invite this to your server instead of running your own then feel free.
- Node.js (v16 or higher)
- npm (v7 or higher)
- A Discord bot token
- Clone the repository:
git clone https://github.com/JamsRepos/Embify.git- Navigate to the project directory:
cd Embify- Install the dependencies:
npm install- Create a
.envfile in the root directory of the project and add your Discord bot token to it:
DISCORD_BOT_TOKEN=your-token-here- Start the bot:
node bot.js-
Invite the bot to your Discord server.
-
The bot will now intercept messages containing URLs from the specified domains and reply with an amended URL.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.