This bot is currently in development and not yet ready for public use. Inviting it will not work until this notice is removed. Feel free to create your own instance using the instructions below though.
Features • Usage • Commands • Privacy • Local development
Free Discord bot that replies to YouTube links with information from Return YouTube Dislike (approximate likes and dislikes), SponsorBlock (timestamps to skip certain segments) and DeArrow (crowdsourced thumbnails and titles).
Since the bot is free to use, I rely on donations to keep the bot running and maintained.
Please consider donating to support development. Any help is greatly appreciated ❤️
- Return YouTube Dislike:
Shows the approximate like and dislike count, as well as ratio between them.
These numbers are crowdsourced and extrapolated, so they might not be 100% accurate. - SponsorBlock:
Shows timestamps for segments that can be skipped, such as sponsor segments, intros, non-music parts, etc.
These timestamps are crowdsourced and might not be 100% accurate. - DeArrow:
Shows a crowdsourced thumbnail and title for the video.
These are usually made to reduce clickbait, but they also might spoil parts of the video. - Fallback:
If no information is present in the DeArrow database, the bot will fall back to the original video's title and thumbnail.
If all three providers from above have no information on the video, the bot will not reply to the link at all.
The bot will automatically reply to YouTube links in any channel it has access to.
If there are multiple links in a single message, it will reply to up to 5 links (configurable).
These automatic replies contain slightly reduced information by default to reduce spam.
To access these, right-click (or hold on mobile) on a message and select the command under "Apps".
If you want to opt out of automatic replies across every server, you can use the command /settings set auto_reply new_value:false
- Video Info:
/video_info video:<URL or ID> [type:<reduced|all|votes_only|dearrow_only|timestamps_only>]
Shows detailed information about a video, given its URL (supports youtube.com, music.youtube.com and youtu.be), or just the video ID.
If no type is provided, the bot will default to what the server configuration specifies (reduced
by default).
- User settings:
/settings list
Shows a list of all available user settings and their current values./settings set <name> new_value:<value>
If no new_value argument is provided, the value of the current setting will be shown.
Otherwise, that setting is changed to the given value./settings reset
Resets the settings to the default values.
(Shows a confirmation before actually resetting.)/settings delete_data
Deletes all data stored about your user.
(Shows a confirmation before actually deleting.)
- Server configuration:
- 🔒
/config list
Shows a list of all available server configuration settings and their current values.
Requires theManage Server
permission to use. - 🔒
/config set <name> new_value:<value>
If no new_value argument is provided, the value of the current setting will be shown.
Otherwise, that setting is changed to the given value.
Requires theManage Server
permission to use. - 🔒
/config reset
Resets the configuration to the default values.
(Shows a confirmation before actually resetting.)
Requires theManage Server
permission to use.
- 🔒
Note
Commands prefixed with 🔒 require special permissions, while others can be used by any member.
They are also generally ephemeral (only visible to the user who executed them).
Arguments surrounded by []
are optional.
Whatever is surrounded by <>
is a placeholder and should be replaced with an actual value.
If there is a list of options, they are separated by |
and only one of them can be specified.
The bot stores rudimentary information about the servers it is in and the users that use it, related to configuration settings.
The only uniquely identifiable information stored are the user ID and server ID (which are publicly obtainable by every member anyway).
At no point will user account info or message content be persistently stored or shared with third parties.
To get rid of all data stored about your server, just kick the bot.
To delete your personal cross-server data, use the command /settings delete_data
- note that it will be recreated if you manually use the bot again. After deleting, automatic replies will use the default settings.
- Have Node.js and pnpm installed.
- Have a PostgreSQL database and a user set up (you may follow this guide on Linux or WSL).
- Clone the repository or download the ZIP file and extract it.
- Open a terminal in the folder containing
package.json
and runpnpm i
to install all dependencies. - Run
pnpm run prepare-env
to create all environment files.
Edit all files that are listed in the console to fill in the required values. - Run
pnpm start
to start the bot orpnpm dev
to start it in development mode.
You may also use the VS Code debugger to start and debug the bot using breakpoints.
Refer to scripts
in package.json
for a list of all commands.
©️ Copyright 2024 Sv443 - AGPL-3.0-or-later license
Made with ❤️ - please consider donating to support development