Как удалить сразу несколько резервных каналов?

Это стало возможным благодаря простой команде Python, которую мы создали. Вы хотите изучить Python? Ознакомьтесь с нашим Бесплатным курсом Python!

Мы используем Drift для взаимодействия с нашими учениками на нашем веб-сайте, и нам это очень нравится: он интегрирован со Slack, поэтому каждый раз, когда пользователь заходит на наш сайт и начинает разговор, мы получаем уведомление и можем поговорить прямо здесь, изнутри Slack, где мы проводили большую часть дня.

Единственная проблема, с которой мы сталкиваемся, заключается в том, что, когда посетитель начинает разговор, в нашей учетной записи Slack создается новый канал. Более того, все созданные каналы открыты и доступны всем. Решение состоит в том, чтобы удалить все каналы после завершения разговора, но это не всегда возможно. Иногда мы просто торопимся и забываем, иногда мы пользуемся мобильными устройствами, и это не совсем удобно.

Результат. Дрейфовые каналы начинают накапливаться:

Думать об удалении всех этих каналов вручную было полным обломом, поэтому мы пошли проверить Slack API. В Slack есть действительно хороший API, который позволяет вам взаимодействовать с большинством частей приложения. Целый раздел посвящен каналам с методами архивирования (channels.archive) или удаления каналов (channels.delete). Итак, мы только что создали простой инструмент командной строки для решения этой задачи. Мы назвали это: slack.py 🐍💌. Это простой инструмент командной строки Python, который взаимодействует со Slack и позволяет управлять каналами: искать, архивировать и / или удалять их.

Имея под рукой slack.py, мы смогли удалить все эти надоедливые каналы Drift сразу. Вот пошаговое руководство на случай, если у вас возникнет такая же проблема:

1. Установите slack.py

Просто запустите команду: pip install slack.py

Мы знаем, что это слишком странно, но вам нужно использовать Python для его установки. Надеюсь, у вас есть друг или коллега, который поможет вам в этом.

2. Получите свой токен Slack

Чтобы удалить каналы, вам необходимо пройти аутентификацию и подтвердить, что у вас есть для этого достаточно прав. Slack Auth может быть сложным (особенно когда он использует OAuth), но есть обходной путь. Вы можете сгенерировать токен тестирования, чтобы попробовать что-нибудь. Перейдите на эту страницу и сгенерируйте правильный токен для своей учетной записи Slack: https://api.slack.com/custom-integrations/legacy-tokens

3. Запустите команду, чтобы проверить, все ли работает.

Мы добавили в нашу команду «тестовый режим», чтобы убедиться, что он установлен правильно и токен авторизации, созданный на предыдущем шаге, действителен. Это команда auth_test, и вот как вы должны ее запускать: slack -a YOUR_TOKEN auth_test

В этом случае YOUR_TOKEN - это токен, который вы получили на предыдущем шаге. Вы только что выполнили команду slack, используя подкоманду auth_test, передав правильный токен. Если все работает нормально, вы должны увидеть что-то вроде этого:

4. Найдите каналы, изучите те, которые хотите удалить.

Пришло время запустить команду и начать изучение каналов, которые вы хотите удалить. Вы можете выполнить эту простую команду для поиска всех каналов, которые начинаются с шаблона «z-посетитель»: slack -a YOUR_TOKEN channels --starts-with "z-visitor"

Параметры поиска включают: «начинается со следующего слова» с параметром --starts-with и «содержит слово» с —-contains.

5. Удалите каналы.

Если вы уверены в том, какие каналы хотите удалить, вы можете использовать флаг --delete для выполнения действия. Тогда команда будет: slack -a YOUR_TOKEN channels --starts-with "z-visitor" --delete

Это явно 🚨 опасно 🚨, так как удаленные каналы будут потеряны навсегда, поэтому используйте это на свой страх и риск. Вы можете передать флаг optional--dry-run, чтобы произвести «имитацию» процесса без фактического удаления чего-либо, на случай, если вы хотите быть в этом более уверенным.

Мы надеемся, что эта команда сделает вашу жизнь немного проще. Мы постараемся и дальше улучшать его и добавлять больше функций. Приглашаем вас внести свой вклад и отправить свой отзыв: https://github.com/santiagobasulto/slack.py