Yesterday, I made a Utopian development post regarding all the new features that has been added to my IPFS bot. For those who haven't see it, make sure you check it out by clicking here.
Referring to the original post that I wrote about the bot, it is not possible to use the js-ipfs-api to pin downloaded files as the
ipfs.add method does not support the trickledag (
-t) option which is needed in order to obtain the same hash as the hash in the file name of downloaded file. Since I can't execute
New feature: Bot now pins files to IPFS node immediately after downloading!
Today, I came across a dependency for NodeJS applications called ShellJS. It's a dependency that allows developers to execute Unix shell commands within a NodeJS application. With this dependency, I was be able to call the exec() method to execute any valid shell commands.
Therefore, I can use this method to pin downloaded files right after it has completed downloading. Firstly, I have to add the downloaded file to IPFS, then in the callback function, I can pin the file that has been added to IPFS. shell.rm method deletes the original downloaded file from disk as the file is already in the IPFS repo after pinning has been done.
To clean up the repository, most script files and pinning queue text files have been deleted as you can see here as manual pinning is no longer needed after ShellJS dependency has been installed to execute pinning scripts right after completing the download.
To finish off, the pre-configured settings has been changed to notify that files have been pinned to IPFS instead of file being added to manual pinning queue.
Note: the above replies have been modified to differentiate between 2 different servers (in a different location) running the same bot.
This bot has been invited into the following Discord servers so that you can try it out: