Как удалить сразу несколько резервных каналов?
Это стало возможным благодаря простой команде 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