Clubhouse без iPhone. How-to инструкция

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Дисклеймер

В этой статье я расскажу, как запустить Clubhouse без iphone с помощью консольного python приложения, которое позволит пользоваться большинством функций социальной сети. Clubhouse оказался прикольной теплой ламповой площадкой, но для владельцев андройдов вроде меня эта соцсеть недоступна, а версия для андройда, по слухам, выйдет не ранее мая.
Автор статьи отказывается от любой ответственности за неправомерное использование полученных знаний и напоминает что статья сделана с обучающей и справочной целью. Создание ботов, кибербуллинг и прочие плохие вещи делать крайне не рекомендуется.

Шаг 1. Виртуальный iPhone

Для того, чтобы зарегистрироваться в приложении вам понадобится сервис, предлагающий автоматизированное тестирование мобильных телефонов. В целом можно обойти это требование и зарегистрироваться с использованием реверснутой библиотеки, но вероятно вас смогут вычислить и забанить. К тому же в виртуальной лабе вы сможете потыкать приложение до выхода андройд версии и зафолловить понравившихся людей, чтобы у вас был список комнат с вашими интересами. На рынке есть несколько таких сервисов. Я остановился на browserstack.com — там есть возможность получить доступ к реальному iphone, который лежит где-то в серверной и его экран расшаривается на веб-приложение. Нам понадобится функционал App Live — он доступен только по подписке. Я честно отдал порядка 40 долларов за один месяц тестирования. Кроме этого, нам понадобится любое .ipa приложение, чтобы сервис позволил вам запустить выбранную модель iPhone'а:

iPhone 11 на app-live.browserstack.com
iPhone 11 на app-live.browserstack.com

Никаких дополнительных настроек не надо - заходим в App Store под своим Apple ID и устанавливаем Clubhouse:

Установка приложения Clubhouse
Установка приложения Clubhouse

Приложение попросит ваш телефонный номер, пришлет код на ваш реальный телефон, и тут вам понадобится приглашение в Clubhouse, заранее позаботьтесь, чтобы кто-то из друзей в приложении вам его отправил на ваш номер телефона. После получения приглашения заполните информации о себе в био — это единственное место в приложении, где можно рассказать о себе текстом. Интерфейс простой, главное подписаться на интересных вам людей, чтобы дальше можно было легко находить комнаты для прослушивания в консоли:

Поиск людей в приложении Clubhouse через онлайн-доступ к реальному iPhone
Поиск людей в приложении Clubhouse через онлайн-доступ к реальному iPhone

У всех онлайн-сервисов по тестированию мобильных телефонов есть недостаток: они не умеют перенаправлять звук и микрофон на ваш браузер. То есть с этого «эмулятора» вы не сможете послушать в Clubhouse ни одной беседы и сами сказать ничего не сможете. Чтобы общаться в комнатах и слушать, что говорят другие, вам придется запустить python приложение на своем компьютере.

Шаг 2. Сlubhouse-py

Для прослушивания комнат и для диалогов будем использовать консольное pyhton приложение. Брать отсюда: https://github.com/stypr/clubhouse-py

Оно основано на реверснутом протоколе clubhouse'а и автор обещает удалить приложение после выхода нормальной версии для андройда. Для работы приложения требуется Python версии 3.7 и выше. Приложение работает под Windows и macos.
Установка простая:

git clone https://github.com/stypr/clubhouse-py
cd ./clubhouse-py
pip3 install -r requirements.txt
pip3 install agora-python-sdk

Для запуска выполните:

python3 cli.py

Если у вас все заработало с первого раза — поздравляю!

Но скорей всего будут проблемы.
Во-первых, на 19 февраля 2021 сборка библиотеки agora-python-sdk под Windows сломана, поэтому вместо установки через pip лучше собрать проект руками. Инструкция здесь: https://github.com/AgoraIO-Community/Agora-Python-SDK#installation

Во-вторых, для macos надо дать разрешения на доступ к Микрофону ( Microphone ) и Универсальный Доступ ( Accessability ) для терминала и python'а. А также, вероятно, потребуется изменить комбинацию клавиш для "поднятия руки", так как в двуязычном маке нормально не работает модуль для биндинга горячих клавиш. Для этого откройте в любом редакторе cli.py и измените :

if not channel_speaker_permission:    
  print("[*] Press [Ctrl+Shift+H] to raise your hands for the speaker permission.")    
  keyboard.add_hotkey(        
    "ctrl+shift+h",        
    _request_speaker_permission,        
    args=(client, channel_name, user_id)    
  )

на что-то подобное:

if not channel_speaker_permission:    
  print("[*] Press [3] to raise your hands for the speaker permission.")    
  keyboard.add_hotkey(        
    "3",        
    _request_speaker_permission,        
    args=(client, channel_name, user_id)    
  )

В-третьих, в macos из-за биндинга клавиш приложение надо запускать под рутом:

sudo python3 cli.py

После запуска приложение попросит указать номер телефона и ввести код для аутентификации, после чего сохранит полученный токен в settings.ini
Вот так выглядит запущенное клиентское приложение:

консольный интерфейс управления clubhouse-py
консольный интерфейс управления clubhouse-py

Еще важный момент: консольное приложение по-умолчанию отображает 20 записей в списке каналов и 20 пользователей в каналах. Чтобы увеличить лимиты можно изменить значение переменной max_limit в файле cli.py:

max_limit = 30

Вывод

Я смог протестировать Clubhouse и полноценно зарегистрировать себя и еще нескольких друзей таким способом. И уже несколько дней слушаю беседы и периодически общаюсь в них.
У приложения на python'е есть недостатки: самый главный - это консольный интерфейс. Вы не увидите обновления списка спикеров и не сможете включать/выключать ваш микрофон из приложения. Как workaround включайте/выключайте микрофон другими способами. Кроме того, список доступных бесед ограничен количество строк и возможна ситуация, когда вы не увидите нужную вам беседу. Немного поэкспериментировав, я не нашел способа выводить больше 30 записей в списке бесед, но думаю что такой способ точно есть. Иногда помогает сохранить channel_name отдельно и подключаться напрямую по адресу. Адрес беседы можно взять из ссылки на событие, например: https://www.joinclubhouse.com/event/M1e7eO3N. Приложение не создает подписку на события ( это не реализовано в протоколе clubhouse-py ), поэтому вы не сможете получать приглашения на приватные беседы и прочие оповещения. Но часть проблем можно решить, используя виртуальные лабы с iPhone'ами. Например, это удобно для того, чтобы посмотреть список предстоящих мероприятий, подписаться на каких-то известных людей и просто поискать своих друзей.

В общем, если нет айфона, но есть мозги, то решить проблему с популярным приложением можно. Обратное не работает.
Спасибо за внимание!

Источник: https://habr.com/ru/post/543198/


Интересные статьи

Интересные статьи

Появившиеся в 2006 году сервисы Google по работе с текстовыми документами (Google Docs) и таблицами (Google Sheets), дополненные 6 лет спустя возможностями работы с вирту...
Но если для интернет-магазина, разработанного 3–4 года назад «современные» ошибки вполне простительны потому что перед разработчиками «в те далекие времена» не стояло таких задач, то в магазинах, сдел...
Битрикс24 — популярная в малом бизнесе CRM c большими возможностями даже на бесплатном тарифе. Благодаря API Битрикс24 (даже в облачной редакции) можно легко интегрировать с другими системами.
Здравствуйте. Я уже давно не пишу на php, но то и дело натыкаюсь на интернет-магазины на системе управления сайтами Битрикс. И я вспоминаю о своих исследованиях. Битрикс не любят примерно так,...
Много лет назад я работал в отделе Xbox 360 компании Microsoft. Мы думали над выпуском новой консоли, и решили, что было бы здорово, если эта консоль сможет запускать игры с консоли предыдущего...