This is a simple tool which downloads pictures (and instagram videos) posted in discord channels of your choice to a local folder. It handles various sources like twitter differently to make sure to download the best quality available.
- Discord attachments
- Tistory
- Gfycat
- Imgur
- Google Drive Files and Folders
- Flickr
- Streamable
- Any direct link to an image or video
When you run the tool for the first time it creates a config.ini
file with example values. Edit these values and run the tool for a second time. It should connect to discords api and wait for new messages.
In case you are using two-factor authentication you have to login using your token. Remove the email and password lines under the auth section in the config file and instead put in token = <your token>
. You can acquire your token from the developer tools in your browser (localStorage.token
) or discord client (Control+Shift+I (Windows) or Command+Option+I, click Application, click Local Storage, click https://discordapp.com
, and find "token" and paste the value).
-
When you've downloaded the latest release, put the discordgo-imagescraper-windows-amd64.exe file in a folder, let's say 'C:\DiscordDL' for the purposes of this instruction, but you can choose your own location.
-
You will see a command window open and close as it's generating a skeleton config file that you can use to config the selfbot. it will look like so:
[auth]
email = [email protected]
password = your password
[general]
skip edits = true
download tistory sites = false
max download retries = 5
download timeout = 60
send notices to interactive channels = false
discord status = Running image scraper
[channels]
channelid1 = C:\full\path\1
channelid2 = C:\full\path\2
channelid3 = C:\full\path\3
[flickr]
api key = your flickr api key
[twitter]
consumer key = your consumer key
consumer secret = your consumer secret
access token = your access token
access token secret = your access token secret
change 'send notices to interactive channels = false' to 'send notices to interactive channels = true'
-
fill out your email and password.
-
Create a new section somewhere in the file with the heading [interactive channels], you need that to be able to 'chat' with your secondary account.
-
in a browser, open https://discordapp.com/, and login with your secondary account.
-
You'll be in the DM view, open a chat with your main account, and you'll notice that the URL is something along the lines of https://discordapp.com/channels/@me/873685642264840742.
-
copy the last number from the url and paste it in the config file under [interactive channels], and add a location like so:
[interactive channels]
873685642264840742 = C:\DiscordDL\DM
-
now you're going to need the id of the channel you want to download from, the easiest way to do so is to enable developer mode. You can do so in either the main client or the browser view by going to the discord settings, under Appearance. After activating it, right click on the channel you want and select Copy ID.
-
Paste it under [channels], and include a download location, like so:
[channels]
232143587603644416 = C:\DiscordDL\Server\Channel
If you've done as instructed, when you write 'history' (without ') in a DM to your secondary account, you should get the following response:
Please tell me one or multiple Channel IDs (separated by commas)
Please make sure the channels have been whitelisted before submitting.
Just paste a ID that's already listed under [channels] into the chat, and it should start downloading every image posted to that channel
If you leave the selfbot running, it will automatically download all new images added to all channels listed under [channels], and if you only want to launch it every now and then to update, it seems to ignore pictures that you've already downloaded, so just run the 'history' command again.
Your config.ini should look something like this when you're done:
[auth]
email = [email protected]
password = super1337pw
[general]
skip edits = true
download tistory sites = false
max download retries = 5
download timeout = 60
send notices to interactive channels = true
discord status = Running image scraper
[interactive channels]
873685642264840742 = C:\DiscordDL\DM
[channels]
232143587603644416 = C:\DiscordDL\Server\Channel
[flickr]
api key = your flickr api key
[twitter]
consumer key = your consumer key
consumer secret = your consumer secret
access token = your access token
access token secret = your access token secret
Open discord in your browser and go to the channel you want to monitor. In your address bar should be a URL like https://discordapp.com/channels/1234/5678
. The number after the last slash is the channel id, in this case, 5678
. Or, enable Developer mode and right click the channel you need, and click Copy ID.