Получаете список всех гильдий и ищете на каждой канал с нужным названием, забиваете id пойманных каналов в список и пробегаетесь по списку, отправляя сообщение в каждый, при этом проверяя права
Если, конечно, предполагается передавать из приложения огромные массивы данных, и имена стобцов вынесены в отдельный блок ради оптимизации, то вопросов нет
Во-первых, подобная практика запрещена условиями пользования Discord, во-вторых, вероятнее всего приложение дискорд генерирует уникальные заголовки запроса, чтобы повторить которые потребуется некоторое время
в теории можно все подгружаемые файлы пересылать через веб-сокеты, правда они в любом случае будут в открытом доступе, однако от недалеких "кодеров" такой метод способен защитить. При таком раскладе стили или скрипты на странице не будут представляться корректно
Вы не совсем понимаете значение асинхронности в js, в данном случае внутри асинхронной функции при использовании await, исполнитель будет ожидать ответа от функции, точнее от обещания, которое вернуло функция, однако функция then делает тоже самое, она ожидает успешного выполнения и обрабатывает полученные данные при помощи переданной функции, если же вы пытаетесь получить значение обещания вне catch-then конструкций, то вам нужно использовать асинхронность
Если речь идет о выключении машины, на которой лежит бот, то вам нужно будет зарываться в документацию ядра ос, чтобы найти способ назначить программу, выполняющуюся перед началом отключения системы