eartharoid / discord-media-helper

A Discord bot to fix media embeds
https://lurc.cc
MIT License
7 stars 3 forks source link
discord-js

MediaHelper

This bot watches chat for video links and replies to messages containing supported links with an embedded video, so you don't need to click the link to watch shared videos.

Idea and hosting by @RTCFlyer.

Click here to add MediaHelper

Supported links

Links to these website will cause an automatic reply with either an image/video attachment or a rich embed.

Videos

Videos and some images from posts, shorts, reels, stories, etc are attached in chat as if uploaded directly to Discord.

Other

Using the message context menu command (Apps > Embed media) will cause the bot to attempt to download media from any (including unrecognised) links using yt-dlp.

Rich embeds

For multimedia social websites where text is often the primary content, the bot replies with links to existing "embed fixer" services which usually provide text content, author name, number of likes and comments, and improved image and video embeds.

Self-hosting

Requirements

Installation

Clone the repository:

git clone https://github.com/eartharoid/discord-media-helper.git bot && cd bot

Then create a .env file with the following contents:

DISCORD_CLIENT_ID=
DISCORD_TOKEN=
DOWNLOAD_DIR=
FFMPEG_BIN=ffmpeg
HOST=
MAX_FILE_SIZE=50M
RAPID_API_KEY=
YTDL_BIN=yt-dlp

Create a Discord application and bot with the message content privileged intent enabled and paste the token into the .env file.

Also, set the other environment variables:

Install Node.js dependencies:

npm i

Compile:

npm run build

Download yt-dlp:

curl -o /usr/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp

And then install ffmpeg.

Finally, register the commands:

node scripts/commands