Я внедряю бота Slack Ops, который будет уведомлять пользователей о завершении работы на сервере сборки. Он должен быть доступен пользователям DM по завершении работы.
Я установил пользователя-бота в соответствии с инструкциями @ https://api.slack.com/bot-users. Чтобы отправить DM определенному пользователю, chat.postMessage
принимает первый аргумент (канал) как @username
или идентификатор IM-канала согласно документации @ https://api.slack.com/methods/chat.postMessage#channels. Чтобы получить идентификатор канала обмена мгновенными сообщениями пользователя, можно использовать im.list
. Но im.list
дает только идентификаторы каналов обмена мгновенными сообщениями пользователей, с которыми бот ранее взаимодействовал (или пользователь отправил пинг на бота или бота, и пользователь является частью любого канала).
Таким образом, похоже, что бот не может DM никому из пользователей, с которыми он ранее не взаимодействовал. Правильно ли я понимаю поведение бота?
Есть ли обходной путь для этого варианта использования?