
Security News
CVE Volume Surges Past 48,000 in 2025 as WordPress Plugin Ecosystem Drives Growth
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.
knitting-bot
Advanced tools
[!WARNING] When invited the bot is in
manual mode, to prevents errors when the bot is added to a server. You need to activate the automatic events with the/config autocommand.
If you want to try out the bot, you can join this discord server!
A bot that helps you to add user to a thread, to keep the thread always visible for everyone, and without pinging them!
[!NOTE] The user added to the thread needs to have the permission to see it.
The bot will automatically add a user to a thread when:
The bot won't do anything when joining the server. If you want to update all threads, you can use the slash command /update-all-threads (see below).
The slash command /config allows you to configure the bot. It will open a window with buttons to change the configuration.
/config languageDisplays the current language and allows you to change it.
/config modeDisplays the current modes and allows you to change them. You can:
/config autoDisplays the current automatic events and allows you to change them. You can enable or disable the following automatic events:
You can also enable the "manual" mode, which disables all automatic events.
/config helpDisplays general information about bot configuration, as well as a link to the README.
[!NOTE]
The button will be red if activate it will disable the event, and green if it will enable it.
Allow to only "ping" specific channels or roles.
You need to activate the follow-only mode to use these commands. You can do that with the /config command.
/follow channel (channel) : Add a channel to the list of followed channels1. If the channel is not specified, it will use the current channel./follow role [role] : Add a role to the list of followed roles/follow specific [role] [channel] : Add a role to the list of followed roles in a specific channel1.
/follow list : List all followed channels and roles[!NOTE]
To unfollow a channel/role, you need to redo the command with the same channel/role.
The exact opposite of the follow command. It won't ping the channels or roles ignored.
/ignore channel (channel) : Add a channel to the list of ignored channels1. If the channel is not specified, it will use the current channel./ignore role [role] : Add a role to the list of ignored roles/ignore specific [role] [channel] : Add a role to the list of ignored roles in a specific channel1.
/ignore list : List all ignored channels and roles[!NOTE]
To un-ignore a channel, you need to redo the command with the same channel. Same for the role.
[!WARNING]
You can't follow and ignore "role" or "channel" at the same time. For example:
- If the
only-channelmode is activated, you can't ignore a channel.- If the
only-rolemode is activated, you can't ignore a role. Factually, thefollowcommands will ignore all un-specified channels/roles.
If you want to manually update a thread, you can use the slash commands:
/update thread (thread) : Update a specific thread. If the thread is not specified, it will update the current thread./update all : Update all threads in the server/update help : Get help about the manual slash commandsThese commands don't appear for user that haven't the manage thread permission.
[!WARNING]
It will re-add all users that leave the thread, even if they left it on purpose.
[!NOTE]
There is no way that I can code something that don't add any notification on the thread. You always will have the thread that becomes white when the bot activates.
More over, you can configure the bot and disable event that you don't want to use. You can do that with the /config command. You can see the configuration with /config show
A simple embed with some information about the bot and the main developer.
For some optimization purpose, the bot will first @role when a thread must be updated. After it will check if some users (that don't have role/allowed role) can see the thread and add them. Moreover, if there is no role in the server, the bot process on the members list instead.
Note that role will be mentioned if some users that have the role aren't in the thread.
After making the list of user/role to ping, there is two possibility:
_ _) and edit it with the new list of user/role to ping.After sending/editing the message, the bot will edit the message again to _ _.
[!WARNING]
The message send won't be deleted, because I discover that if a ping with editing an old message doesn't make a notification. So the bot will keep this message to edit it when the thread need to be updated. With that, user already in the thread won't get a white notification on the thread.
The bot needs some intents to work:
(For some reason, the bot needs the presence intents to get the user id when they join the server)
The bot is made with discord.js. You need to have node.js (LTS) installed on your computer. After cloning the repo, you need to install the dependencies with:
npm run init
The script will ask your for your .env variable, and the file will be created automatically.
It can look like this:
BOT_TOKEN=your_token
CLIENT_ID=your_client_id
NODE_ENV=development# or production
MESSAGE= #Anything you want
GITHUB_EMOJI="1125070935855222845" #Emoji ID
KOFI="1125071623658164274" #Emoji ID
DISCORD="1125072006937849876" #Emoji ID
[!NOTE]
If you want try your bot, you need to create an application in the discord developer portal. Here a tutorial Don't forget to invite your bot in a testing discord server!
BOT_TOKEN is the token of the bot that you can get in Bot > Reset token in the discord developer portal.CLIENT_ID is the client id of the bot, you can get it from General Information > Client ID in the discord developer portal.NODE_ENV is the environment of the bot. It can be development or production. If you are in development, the bot will log a lot of event. If you are in production, the bot will log only errors.MESSAGE : The message you want to send when waiting for the list of users/roles. You can use a simple message, an emoji, stickers or external emoji. Beware of them. The bot must be on the server where the emoji is (but it can use it everywhere).The bot uses Enmap to store data. You can find the documentation here. You need a special installation for it, so follow the instructions here.
The bot is translated in:
I use i18next to translate the bot. You can find the documentation here.
If you want to add a translation, you need to:
src/i18next/locales/en.json and rename it with the language code (ex: fr.json)src/i18next/index.ts and add the language in the ressources object, without forgetting to import it (ex: import * as fr from "./locales/fr.json";)src/commands) file, and update:
const lang = i18next.getFixedT("lang"); at the top of the filesetNameLocalizations({lang: lang("same key of other langue")})setDescriptionLocalizations.
You can get more information about commands localization on the official discordJS documentation
The slash commands language is directly based on your discord client language.A cool bot to use with this bot is Thread Watcher!
FAQs
A bot used to add new user automatically in thread, without pinging them!
The npm package knitting-bot receives a total of 0 weekly downloads. As such, knitting-bot popularity was classified as not popular.
We found that knitting-bot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.