Telegram Bot for re-encoding media
- change a video resolution, bitrate, frame rate, speed
- change an audio bitrate, volume, pitch
- apply audio effects, compressor
- extract or remove audio from the video
- resend video note as a regular video, or video as an audio track
- output audio spectrum for quick analysis
- Telegram bot username and token, @BotFather
- JRE 17+ or JDK 17+ (for build)
ffmpegmust be installed and available inPATH.python3version 3.8+ must be installed and available inPATH.yt-dlpfor/dlcommand.
# Build
./gradlew shadowJar
# Config
cp effybot.yaml.template effybot.yaml
vim effybot.yaml
mkdir {input,output}
# Run
java -jar ./build/libs/effybot-1.3-SNAPSHOT-all.jarNote: FFmpeg binary might be installed with limited number of filters and codecs. Some bot features might not work (Audio pitch, robot effect, etc.).
docker run -d -t -i \
-e BOT_TOKEN='...' \
-e APP_ID='...' \
-e APP_HASH='...' \
-e SUPERUSERS='12345' \
-e ALLOWED_USERS='12346,12347' \
--name effybot ghcr.io/annimon/effybot:latestBOT_TOKEN— Telegram bot tokenAPP_ID— Telegram API app_id (see https://core.telegram.org/api/obtaining_api_id)APP_HASH— Telegram API app_hashSUPERUSERS— Comma-separated list of superusers. Superuser can execute /run commandALLOWED_USERS— Comma-separated list of allowed user ids
Terminal UI alternative: effy