Twilo chat (JavaScript API): невозможно удалить канал его создателем после повторного подключения к тому же каналу - PullRequest
0 голосов
/ 02 января 2019

Я выполнил следующие шаги:

  1. Подключитесь к приложению как клиент (например, с именем Адам).
  2. Добавить новый канал (например, с именем Channel1).
  3. Покинуть канал.
  4. Снова переподключитесь к приложению (как Адам).
  5. Удалить канал (Channel1).

Я получаю следующую ошибку (на шаге 5, упомянутом выше): «Пользователь не авторизован для команды»

Следовательно, создатель канала не может удалить его.

Код для удаления канала:

   

 function deleteCurrentChannel() {
    if (!tc.currentChannel) {
      return;
    }

    if (tc.currentChannel.sid === tc.defaultChannel.sid) {
      alert('You cannot delete the default channel');
      return;
    }
    
    tc.currentChannel.delete().then(function(channel) {
      setupChannel(tc.joinDefaultChannel);
    }).catch((err) => {
      console.error(err.message);
    });
  }

На консоли инструментов Chrome Dev я попытался проверить значения и получил результаты, как показано ниже:

  • currentChannel => Channel1
  • messagingClient => Адам
  • currentChannel.createdBy => Адам

Создатель канала должен иметь возможность удалить канал. Как этого достичь в таком состоянии?

1 Ответ

0 голосов
/ 07 января 2019

Разработчик Twilio здесь.

Я думаю, что это связано с ролями и разрешениями объекта-члена, задействованного здесь. Участник может удалить канал только в том случае, если у него есть роль с разрешением destroyChannel .

Чтобы создатель канала мог его удалить, вы должны убедиться, что каждый раз, когда пользователь присоединяется к каналу, вы назначаете его участнику роль, которая имеет разрешение на уничтожение канала.

Дайте мне знать, если это поможет.

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