Rocket.Chat - как получить roomId
Я новичок в работе с Rocket.Chat. Мне нужно отправить сообщение на канал. Я уже получаю разрешение. Когда я читал документацию об отправке сообщения, я нашел параметр roomId, но я не знаю, как получить этот идентификатор. Я пытаюсь найти в панели администрирования на Rocket.Chat, но безуспешно. Также если кто знает, как получить доступ к базе данных Rocket.Chat
Спасибо
4 ответа
Для доступа к базе данных вы можете использовать Robo 3t (как использовать его с метеором, как подключить клиентов mongodb к локальному Meteor MongoDB).
Или вы можете использовать остальные API, чтобы получить информацию о канале https://rocket.chat/docs/developer-guides/rest-api/channels/info
Я предполагаю, что вы используете API для отправки сообщений, если да, то вы будете тем, кто создал каналы (комнаты).
Когда вы создаете новый канал, ответ содержит подробную информацию о вновь созданном канале, включая сгенерированные _id
.
В этом случае всякий раз, когда вы создаете новый канал, сохраняете его где-нибудь в хранилище данных, а затем восстанавливаете его, используя имя канала, это сэкономит вам путь к API Roekct каждый раз, когда вам понадобится получить roomId.
Сначала вызовите API create-visitor, чтобы создать посетителя, и в ответ вы получите токен, который можно использовать в следующей открытой комнате API, чтобы открыть комнату, и в ответ вы получите идентификатор комнаты.
{
"msg": "method",
"method": "createDirectMessage",
"id": "42",
"params": ["username-goes-here"]
}
используйте createDirectMessage api, вам необходимо передать имена пользователей, для которых вы хотите создать комнату. Если вы не отправите ни одного пользователя, будет создана комната, в которой есть только вы.
этот api вернет roomId созданной комнаты. Ниже приведен ответ вышеупомянутого api.
{
"msg": "result",
"id": "42",
"result": {
"rid": "room-id-would-be-here"
}
}
Каждый раз, когда вы нажимаете api createDirectMessage с одним и тем же списком пользователей, будет возвращаться один и тот же roomId.