[Python, Социальные сети и сообщества, Лайфхаки для гиков, Голосовые интерфейсы] Clubhouse без iPhone. How-to инструкция

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
19-Фев-2021 12:30

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

iPhone 11 на app-live.browserstack.comНикаких дополнительных настроек не надо - заходим в App Store под своим Apple ID и устанавливаем Clubhouse:

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

Поиск людей в приложении 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Еще важный момент: консольное приложение по-умолчанию отображает 20 записей в списке каналов и 20 пользователей в каналах. Чтобы увеличить лимиты можно изменить значение переменной max_limit в файле cli.py:
max_limit = 30
ВыводЯ смог протестировать Clubhouse и полноценно зарегистрировать себя и еще нескольких друзей таким способом. И уже несколько дней слушаю беседы и периодически общаюсь в них.
У приложения на python'е есть недостатки: самый главный - это консольный интерфейс. Вы не увидите обновления списка спикеров и не сможете включать/выключать ваш микрофон из приложения. Как workaround включайте/выключайте микрофон другими способами. Кроме того, список доступных бесед ограничен количество строк и возможна ситуация, когда вы не увидите нужную вам беседу. Немного поэкспериментировав, я не нашел способа выводить больше 30 записей в списке бесед, но думаю что такой способ точно есть. Иногда помогает сохранить channel_name отдельно и подключаться напрямую по адресу. Адрес беседы можно взять из ссылки на событие, например: https://www.joinclubhouse.com/event/M1e7eO3N. Приложение не создает подписку на события ( это не реализовано в протоколе clubhouse-py ), поэтому вы не сможете получать приглашения на приватные беседы и прочие оповещения. Но часть проблем можно решить, используя виртуальные лабы с iPhone'ами. Например, это удобно для того, чтобы посмотреть список предстоящих мероприятий, подписаться на каких-то известных людей и просто поискать своих друзей.
В общем, если нет айфона, но есть мозги, то решить проблему с популярным приложением можно. Обратное не работает.
Спасибо за внимание!
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_python, #_sotsialnye_seti_i_soobschestva (Социальные сети и сообщества), #_lajfhaki_dlja_gikov (Лайфхаки для гиков), #_golosovye_interfejsy (Голосовые интерфейсы), #_clubhouse, #_android, #_vendorlock, #_iphone, #_clubhousepy, #_sotsialnye_seti (социальные сети), #_python, #_sotsialnye_seti_i_soobschestva (
Социальные сети и сообщества
)
, #_lajfhaki_dlja_gikov (
Лайфхаки для гиков
)
, #_golosovye_interfejsy (
Голосовые интерфейсы
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 19-Май 19:13
Часовой пояс: UTC + 5