Go to file
2021-10-28 15:31:30 +02:00
2021-12-04 21:06:03 +01:00
2021-05-10 23:13:11 +02:00
2021-12-04 20:49:34 +01:00
2021-12-04 20:49:34 +01:00
2021-10-29 02:07:55 +02:00
2021-10-29 02:07:55 +02:00
2021-05-10 23:13:11 +02:00
2021-12-07 20:02:21 +01:00
2021-12-04 20:49:34 +01:00
2021-12-04 21:45:24 +01:00
2021-12-04 21:45:24 +01:00
2021-12-04 20:49:34 +01:00
2021-12-07 20:02:21 +01:00

discord-embed

Discord will only create embeds for videos and images if they are smaller than 8MB. We can "abuse" this by using the twitter:image HTML meta tag.

This is useful when you send a video and want it to be playable in Discord.

How it works

This program will create a .html that you will send instead of a .mp4 file. Discord will parse the HTML and create an embed for you. The embed will be the same as the one you would get if you send a .mp4 file.

Installation

This implies that you have experience with Nginx. Don't be afraid to contact me if you need help.

  • Install latest version of git, Python, Poetry and Nginx.
  • Clone the repository or download the source code directly from GitHub.
  • Install the dependencies using Poetry.
    • poetry install
  • Rename .env.example to .env and fill in the required values.
  • Copy discord-embed.service to /etc/systemd/system/discord-embed.service.
    • sudo cp discord-embed.service /etc/systemd/system/discord-embed.service
    • Change lovinator to your username.
    • Change DOMAIN to the domain where we will serve the files.
  • There is a bundled nginx config file that can be used to serve the site.
    • sudo cp nginx.conf /etc/nginx/
  • Start Nginx at boot.
    • sudo systemctl enable --now nginx
  • Create directory for uploaded files.
    • sudo mkdir /Uploads
  • Check what user is running Nginx, Arch is using http. Others could be www-data:
    • ps aux | grep nginx
  • Change permissions of /Uploads directory. Change lovinator to your username and http to the user running Nginx.
    • sudo chown -R lovinator:http /Uploads
  • Create log folder.
    • sudo mkdir /var/log/discord-embed
  • Change permissions of /var/log/discord-embed directory. Change lovinator to your username.
    • sudo chown -R lovinator:lovinator /var/log/discord-embed
  • Start the services.
    • sudo systemctl enable --now discord-embed.service
    • sudo systemctl enable --now discord-embed.socket
  • Check if the services are running.
    • sudo systemctl status discord-embed.service
    • sudo systemctl status discord-embed.socket
  • Check logs for errors.
    • cat /var/log/discord-embed/error.log and cat /var/log/discord-embed/access.log

Need help?

Description
Discord will only create embeds for videos and images if they are smaller than 10MiB. We can "abuse" this by using the twitter:image HTML meta tag.
Readme GPL-3.0 1.6 MiB
Languages
Python 93.6%
Dockerfile 6.4%