Slack API Python Client Не удается найти каналы - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь найти в моей рабочей области Slack каналы с соответствующим именем, используя библиотеку Python.

Конечная цель - установить назначение каналов с помощью инструмента. Для этого API в качестве параметра требуется channel_id.

Я заметил, что функция поиска работает для некоторых названий каналов, но не работает для других. Любая помощь будет оценена.

from utils import *
import slack

def slack_get_client():
    fdata = get_settings()
    client = slack.WebClient(token=fdata["slack"]["token"])
    return client

def slack_search_channel(query=""):
    client = slack_get_client()

    r = client.search_all(query=query)
    if r["ok"]:
        matches = r["messages"]["matches"]
        for m in matches:
            if m["channel"]["is_channel"] and query == m["channel"]["name"]:
                channel_id = m["channel"]["id"]
                return True, channel_id
    return False, ""

if __name__ == "__main__":
    r,c = slack_search_channel( "abc-test") # this exists
    if r:
        print( "channel found", c)  # this is printed
    else:
        print( "channel not found")

    r,c = slack_search_channel( "abc-debug20191009") # this also exists
    if r:
        print( "channel found", c)
    else:
        print( "channel not found")  # this is printed

Примечания: * Чтобы уточнить: этот скрипт запускается от имени администратора. Я проверил, вручную войдя в систему, что он имеет доступ ко всем каналам. * Единственное отличие, которое я вижу в названии канала, это его длина. Обновлен код выше с реальными именами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...