hello I want to create a bot that deletes inactive channels, but I don’t know how to discover the inactivity of the channel. Is there a native that returns that value?
If you have temporary channels you can set the deletion offset in the server Settings. For example if a user is no longer in this channel it will be deleted after 60 seconds
obviously I’m not talking about tem channels
But they can handle what you want without any need to use any other tool or create new one.
Empty time is only available for temporary channels.
So if you need a bot then you need to check all channels all the time manually with clientlist or channelinfo commands or etc. see ServerQuery.
Correct me if I am wrong, but I remember that “JTS3ServerMod” has the option to check the channel status and how much time has been empty (any channel type).
You can also choose exactly which channels will be checked or a section of sub channels.
The ServerQuery command
channelinfo will return an array including an item called
If a channel is empty the value will increase by 1 each iteration; obviously the value represents seconds.
If a client is inside a channel the value will be
A spacer will return
-1 as value, too if a client is inside any of it’s subchannels.
A simple script calling the mentioned ServerQuery commands will solve your issue.
For example using the WebQuery interface.
channellistto receive all channels of your server
- loop through each channel calling
channelinfoto receive the channel details
channeldeleteto remove the channel if it matches your filter
Make sure to exclude all channels which may be empty but you don’t wanna remove.
Create a task or cronjob to run the process repeatedly.
if that’s how you say I thought the project was discontinued, I sent more to stefan while waiting for his answer I wanted to find a way to do it myself
You can setup a Sinusbot and install this Script: https://forum.sinusbot.com/resources/unused-channel-deleter.385/ this is easier and if you need help, i will help you.
There are tons of examples how to do it yourself in the WebQuery thread.
Getting the channel list and the channel details as I mentioned above are just a few lines of code.
There’s an example how to send requests to the endpoint using node.js as well.
node.js - Fetch
Instead of using third-party apps or scripts doing it yourself is the better way to understand how to work with it.
Not really. I also donated in the past and i have the web & mysql version of it. Everything works fine.