На фоне последних новостей про Discord решил запилить небольшой гайд для тех, кто хочет покинуть тонущий корабль побыстрее но хочет унести с собой и приятные воспоминания, связанные с дрискордом.
Поможет в этом утилита DiscordChatExporter (https://github.com/Tyrrrz/DiscordChatExporter). Она позволит скачать как отдельные каналы/лички, так и все доступные лички, все доступные сервера, все каналы с отдельных серверов, либо вообще всё, что доступно с вашего аккаунта. Программа исключительно полезная, строго рекомендую. На выбор предлагается две версии: с графическим интерфейсом и без. Первая более удобная, но менее гибкая в настройках (хотя от второй её выгодно отличает возможность выбрать, какие каналы качать с сервера, а какие нет, в то время как вторая такого не предусматривает). Вторую придётся запускать через консоль, но она позволяет помимо всего прочего скачивать и картинки для последующего их открытия в оффлайн-режиме.
Нажимаем Stable release интересующей версии, и ищем нужную версию. Если вы хотите скачать версию с графическим интерфейсом (при условии, что у вас х64 система, если нет - выбираем аналогичный файл но с 86), ищем вот это:
Если хотите скачать консольную версию, ищем это:
Прежде всего, вне зависимости от того, какую версию вы выбрали, вы должны получить свой юзверь-токен. Ни в коем случае никому не скидывайте и не сообщайте его, поскольку это, по сути, то же что и ваш пароль, тот кто им владеет может получить доступ к вашему аккаунту. В браузерной версии получить его можно следующим образом: нажимаем ctrl+shift+i; когда откроется панель справа, нажимаешь вкладку Network; далее нажимаем ctrl+r, ждём пока панель обновится, затем ищем (можно ввести нужное слово в строку Filter) строку, начинающуюся со слова message.
Нажимаем, при необходимости пролистываем вниз, кликаем правой кнопкой мыши по строке Authorization (замазана зелёным), нажимаем Copy value. Готово.
Если вы используете приложение, придётся повозиться подольше, особенно если вы не красноглазик. Переходите в папку своего дискорда appdata/discord/settings.json, вписывайте после первой фигурной скобки следующее: "DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true (да, именно с кавычками) и сохраните файл.
Выглядеть оно должно так:
{
"DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true
"BACKGROUND_COLOR": "#202225",
"IS_MAXIMIZED": true
}
В версии с графическим интерфейсом этот гайд в упрощенном виде представлен на стартовом экране.
Когда получили токен, вам нужен ID канала/сервера/лички, которые вы хотите скачать. В браузере это не составит труда, айди можно скопировать из адресной строки (в случае с каналами на сервере айди сервера будет слева от косой черты, айди канала - справа; в личках айди будет всего одно). В приложении придётся включить Режим разработчика через меню Дополнительно в настройках, после чего можно нажать на нужный канал или сервер ПКМ и нажать Copy Server ID/Copy Channel ID.
Основное сделано. Если вы используете графический интерфейс, вас с самого начала попросят ввести свой токен, после чего вам в удобном формате покажется список ваших серверов. Вы сможете выбрать нужные сервера, нужные каналы на отдельных серверах, нужные лички и так далее, и скачать то что вам необходимо без лишних заморочек. Будет создан html файл с данным каналом, но изображения будут сохранены в виде ссылок. То есть, изображения будут показываться, но лишь до тех пор пока лично ваш аккаунт имеет доступ к этому серверу, а следовательно и к этим картинкам. Как только вы удалите аккаунт или иным образом потеряете доступ к отдельным картинкам - они будут недоступны. Останутся лишь сообщения.
Для скачивания картинок придётся использовать версию для командной строки. Когда скачает её и распакуете, поместите в удобную для вас папку, после чего нажмите на DiscordChatExporter.Cli.exe. На долю секунды откроется чёрное окно и закроется. Не пугайтесь, так и нужно. Затем вы должны ввести cmd в адресную строку вашего Проводника (просто нажмите левой кнопкой мыши на строку и введите. Обратите внимание, вы должны открывать cmd именно через ту папку, куда вы установили программу):
затем нажмите Enter. Откроется командная строка, куда вы сможете ввести DiscordChatExporter.Cli для вывода доступных команд и подсказок. Впоследствии любые махинации с данной программой в командной строке должны начинаться именно с этого префикса.
команда channels выводит в консоль список всех каналов с сервера (и их айди);
dm - выводит список всех личек (и их айди);
export позволяет скачать отдельную личку/канал
exportall позволяет скачать всё, что доступно на вашем акке;
exportdm позволяет скачать все лички;
exportguild позволяет скачать все каналы отдельного сервера;
guide поясняет всё то, что я объяснил чуть выше и что объяснено на страничке программы на гитхабе;
guilds выводит список всех доступных серверов (и их айди).
Например, мы хотим скачать некий канал, но не только сообщения с него и ссылки на изображения, но и сами изображения. В таком случае мы должны поставить аргумент --media. Если же мы ещё и хотим, чтобы при нажатии на отдельное изображение нас отсылали не на дискордовскую ссылку, а на данное изображение, сохраненное на нашем компьютере, надо добавить ещё и аргумент --reuse-media.
Ждём, пока всё установится. В папке, где установлена ваша программа, создастся папка со всеми картинками и смайликами, скачанными с канала/лички (включая мусор вроде шрифтов, дополнительных ассетов и так далее, необходимых для корректного отображения или типа того) а также, конечно, html файл.
Как видим, картинки есть, текст есть, всё отлично открывается в файрфоксе (в моём случае).
При нажатии на картинку получаем:
Также в официальной документации для консольной версии программы (https://github.com/Tyrrrz/DiscordChatExporter/blob/master/.docs/Using-the-CLI.md) есть и другие аргументы, с которыми можно ознакомиться. Например, есть опция фильтрации сообщений по наличию/отсутствию отдельных фраз, картинок, ссылок, по пользователям и т.д., лично мне это показалось малополезным, гораздо полезнее была бы функция выбора, какие каналы с сервера скачивать, а какие нет. Есть и что-то ещё для красноглазиков, но писать об этом я не буду - если вы красноглазик, то разберётесь сами, если нет, то вам оно, наверное, и не нужно. Благодарю за прочтение гайда. Качайте своё барахло. Не затягивайте, времени осталось мало. Всего плохого. Увидимся в будущем.
Отличный комментарий!