Показано с 1 по 6 из 6

Тема: Telegram-XMPP бот: теперь еще больше опций для чата с мобильных устройств!

  1. #1
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    44

    По умолчанию Telegram-XMPP бот: теперь еще больше опций для чата с мобильных устройств!

    Возвращайся, сделав круг!
    Больше 10 лет назад я сделал бота для Джаббера и выложил на этот форум. Бот просто пересылал сообщения с Джаббер-клиентов в миры и обратно, в то время это было как магия - можно было "сидеть в мирах" с телефона! Затем, пару лет назад, я обновил этого бота под новые реалии - теперь он пересылал сообщения из Telegram и обратно, и обзавелся базовым коммандным интерфейсом - для управления пересылкой сообщений и (для админов) управления пользователями. Конечно, он тоже доступен на форуме. И вот недавно я обнаружил что сейчас, в 2026 году, Джаббер (который теперь официально называется XMPP) - снова актуален. Вместо того чтобы устареть и уйти в небытие вместе с ICQ, Skype и остальными, все эти годы XMPP активно развивался, при этом оставаясь тем чем он был с самого начала - открытым протоколом (см XMPP).

    Что же это такой за зверь, открытый протокол? Популярные мессенджеры обычно работают только если вы используете их приложение и подключаетесь к их серверам. Это называется закрытый протокол. В принципе, это позволяет избежать головной боли с совместимостью разных серверов и клиентов, и в какой-то степени даже сделать общение более безопасным - владельцы мессенджера обычно обновляют приложения как только узнают о новых уязвимостях, и не разрешают подключаться старым приложением. Но у этого есть обратная сторона - полный контроль с их стороны над вашими данными. Хотите общаться с друзьями в WhatsApp? Будьте добры, дайте доступ ко всей вашей адресной книжке. Является ли это технической необходимостью для работы приложения? Абсолютно нет, но иначе никак. Никаких альтернатив нет. В последние годы большие корпорации таким образом заставляют юзеров делиться всё больше и больше своими данными, и так как они владеют всё большей частью приложений, эти данные собираются в единый профиль (который намного точнее и подробнее чем многие осознают!) и продаются любому кто больше заплатит (в основном рекламодателям, но так же и - государственным органам, мошенникам и т.д.). По сути вашими данными вы платите за "бесплатный" сервис общения. Здесь многие обычно говорят: ну и что такого? Мне скрывать нечего, я и так всё о себе публикую. Я считаю такой подход очень наивным, но конечно это ваше право. Другой аргумент, который также близок мне лично - это просто непривычно и неприятно. Я начал пользоваться интернетом когда у всех был только ник, как до сих пор у нас в мирах, и мне это очень нравилось. Когда везде вдруг понадобились реальное имя, номер телефона, номер кредитной карты... Думаешь: зачем!? не хочу!

    XMPP Ликбез

    Возвращаясь к XMPP. Там до сих пор для регистрации нужно только придумать ник и пароль - всё! Регистрироваться нужно на каком-либо сервере и аккаунт выглядит так: user@server.com. Похоже на имейл но сходство только внешнее. Протокол поддерживает сообщения от сервера к серверу, поэтому имея аккаунт alice@server1.com юзер может без проблем общаться с другом на bob@server2.com. Это всё было и 12 лет назад. Но вот что нового, теперь XMPP поддерживает все современные функции: отправка фото и видео, любых других файлов, аудио- и видеозвонки (!). При этом приложения для XMPP обычно с открытым исходным кодом и существуют для всех платформ. Тут нужно оговориться: XMPP это "расширяемый" протокол, и не все серверы и приложения поддерживают его "полную" версию. Например ваш сервер или приложение могут не поддерживать видеозвонки. Или, если ваши поддерживают, поддержки может не быть у вашего собеседника на другом сервере/приложении. Но есть достаточно серверов которые поддерживают всё. Для лучших результатов лучше чтобы у собеседника был аккаунт на том же сервере и то же приложение что у вас.

    Есть еще одна плюшка в современном XMPP, которая выгодно отличает его от закрытых протоколов и которую поддерживают все серверы и клиенты, кроме допотопных. Это сквозное шифрование с помощью OMEMO (если нет поддержки - не используйте этот сервер/приложение!). Некоторые популярные закрытые мессенджеры тоже поддерживают шифрование - так в чем же разница? Есть одна существенная особенность. В любом приложении чтобы вы могли прочитать зашифрованные сообщения вашего собеседника, они должны быть расшифрованы и показаны на дисплее. То есть приложение имеет доступ к расшифрованным сообщениям. В закрытых протоколах обычно и приложение с закрытым исходным кодом. Это значит что вы не можете знать не происходит ли что-нибудь с вашими сообщениями между расшифровкой и показом. Например, не передаются ли они куда-то еще?? В XMPP, приложения обычно с открытым кодом и поэтому можно даже самому убедиться что это не так (или довериться многочисленным энтузиастам которые этот код проверили за вас). Кто-то скажет что всё это паранойя если вы не агент спецслужб (а тогда у вас есть свои "чаты"), и может будет прав. Но для кого-то это аргумент в пользу XMPP. Важная оговорка - даже с наличием сквозного шифрования и надежным приложением с открытым исходным кодом, надо всё-таки в какой-то степени доверять серверу где у вас аккаунт. Например, убедиться что он в стране с хорошей защитой персональных данных и компания которая предоставляет сервис и хостинг заслуживают доверия. Ну и напоследок на всякий случай добавлю: я лично не поощряю никакой коммуникации целью которой является нарушение законов Для меня приватное общение важно само по себе, по тем же причинам что не всё что мы говорим родным и близким мы бы готовы были прокричать на площади.

    Хочу себе XMPP, как??

    Для тех кого убедили предыдущие параграфы, краткая инструкция как скачать приложение и завести себе аккаунт на XMPP имея телефон на Андроиде:
    • Качаем и устанавливаем магазин приложений F-DROID: https://f-droid.org/. Что это и зачем? На F-Droid размещаются приложения с открытым исходным кодом которые прошли проверку. Поэтому в целом ему можно доверять. Но в частности - не любому приложению! Много ли пользователей, оценок? Имя какое-то странное или похоже на популярный продукт? Есть красный флаг - не качаем. Так же нужно руководствоваться здравым смыслом, как и в Google Play. Для разработчиков там чаще проще размещать приложения. У Гугла драконовские условия, включая финансовые затраты для разработчиков. Для энтузиастов которые делают открытые приложения это просто не окупается.
    • В F-droid ищем приложение Conversations. Иконка - зеленый чат с точками. Устанавливаем
    • При открытии можно зарегистрировать аккаунт. Введите желаемое имя пользователя - и - внимание! - скорее всего другой сервер. По умолчанию там user@conversations.im. Если сработает, то отлично. А если висит и ничего не происходит, можно попробовать @jabber.fr - так по крайней мере у одного человека получилось. А вообще вот длинный (и все равно не полный!) список серверов https://providers.xmpp.net/. Смотрите что каждый из себя представляет, сходите на их сайт. Я не рекомендую любому оттуда безоговорочно доверять.
    • Всё! Никаких номеров телефона, даже имейла не надо. Не забудьте пароль, потому что его никак не восстановить если потерялся! (у некоторых провайдеров можно оставить свой имейл при регистрации через сайт).


    Telegram-XMPP бот в мирах

    Возвращаясь к теме этого поста. Теперь, зарегистрировав XMPP аккаунт, как же общаться в мирах? Надо написать боту
    Код:
    aw@conversations.im
    и следовать инструкциям. Рекомендую почитать описание здесь - все команды бота те же что и через Телеграм. И так же, бота кто-то должен запускать. На момент написания он работает только иногда в тестовом режиме в мире Старт, поэтому если на ваше сообщение нет ответа - значит бот оффлайн...

    Примечание: бот миров не поддерживает (пока) шифрование, поэтому если ему отправлять зашифрованные сообщения он не будет "понимать". В приложении Conversations надо нажать на символ замка в заголовке чата чтобы отключить шифрование. Для параноиков которые спрашивают "как же так?!" - в мирах шифрования вообще-то тоже нет, так что для этой конкретной задачи нет смысла шифровать от вас до бота, и затем открытым текстом отправлять в миры. (Для наивных параноиков: да, это значит что рассказывать ваши большие секреты в мирах - плохая идея!)

    Хочу своего Telegram-XMPP бота! Программа и исходники

    Качаем отсюда: http://teatr.activeworlds.ru/bots/mo..._chat_v1.0.zip. Опять же, см. инструкции "Установка и настройка бота" здесь. Очевидным образом, при установке добавились вопросы про XMPP аккаунт (для бота и ваш). Если всё успешно, бот будет пересылать сообщения в Телеграм и XMPP и обратно. Со всего мира (с привами хранителя) или из локального чата. Конечно, можно запускать только Телеграм или только XMPP - это как нравится.

    Исходники в том же архиве. "Краткое руководство программиста" здесь по-прежнему актуально. Добавилась только библиотека qxmpp (её исходники там же), и еще одна зависимость - Qt5, который должен быть установлен в системе. Для начинающих программистов это последнее может быть головной болью потому что нужен 32-битный Qt (конкретно использовался Qt 5.18) - к сожалению библиотека миров только 32-битная. Как всё это делать - за рамками короткого поста на форуме, если вдруг кто-то зайдет так далеко и будут вопросы - спрашивайте телеграмой в мирах.

    И напоследок...

    С новым Годом всех!

    abstract-images-fireworks_979495-53601-3982079085.jpg

  2. #2
    Хранитель мира Аватар для Lija
    Регистрация
    05.08.2007
    Сообщений
    235

    По умолчанию

    Спасибо! Прекрасный подарок всем на Новый год)

  3. #3
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    44

    По умолчанию

    Казалось бы, бот уже достиг совершенства и лучше уже некуда. Однако, прогресс не стоит на месте! Теперь бот обзавелся интуитивно понятным графическим интерфейсом. Больше не надо утомительно вводить команды вручную с тачскрина мобильного телефона! Качаем отсюда: http://teatr.activeworlds.ru/bots/im...chat_relay.zip

    chat_relay_bot.jpg

  4. #4
    Администратор Аватар для abyse
    Регистрация
    05.08.2007
    Сообщений
    50

    По умолчанию

    Я думал ты давно забросил эту затею, рад видеть, что это не так.

  5. #5
    Пользователь
    Регистрация
    22.06.2013
    Сообщений
    44

    По умолчанию

    Абис, ты заходи иногда на форум, у нас тут бывает иногда что-то новое появляется Возвращение к этой идее впрочем обусловлено тем что я недавно рассказал нашим друзьям какой классный протокол XMPP для мессенджеров и других штук типа вот этого бота. Интерес, однако, там типа как здесь - умеренный На уровне отдельных граждан определенная доля любопытства присутствует, но на уровне администрации, с тем чтобы огрганизовать какой-то постоянный сервис на этой основе, это пока не материализовалось Но я считаю, что я даю людям возможности (программу, код и и информацию) - а дальше уже их дело как этим распоряжаться.

  6. #6
    Администратор Аватар для abyse
    Регистрация
    05.08.2007
    Сообщений
    50

    По умолчанию

    Цитата Сообщение от doctor Посмотреть сообщение
    Абис, ты заходи иногда на форум, у нас тут бывает иногда что-то новое появляется Возвращение к этой идее впрочем обусловлено тем что я недавно рассказал нашим друзьям какой классный протокол XMPP для мессенджеров и других штук типа вот этого бота. Интерес, однако, там типа как здесь - умеренный На уровне отдельных граждан определенная доля любопытства присутствует, но на уровне администрации, с тем чтобы огрганизовать какой-то постоянный сервис на этой основе, это пока не материализовалось Но я считаю, что я даю людям возможности (программу, код и и информацию) - а дальше уже их дело как этим распоряжаться.
    Да я в общем-то тут каждый день. Без присмотра тут бы уже давно иноземцы гастроном запрещенки устроили бы.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
TAG.Hosting — Хостинг сайтов и Регистрация Доменов