Страница 1 из 1

Telegram Bot, как активировать?

СообщениеДобавлено: Вт июн 13, 2017 5:05 pm
Ox1
Ку!
заинтересовала функция Telegram Bot, но не получилось активировать.
сервер при настройке возвращает ошибку "Result:{"ok":false,"error_code":400,"description":"Bad Request: bad webhook: HTTPS url must be provided for webhook"}"
что было сделано:
- был создан бот в Telegram, получен token
- включена интеграция в настройках сервера и прописан token
при нажатии "Подключить Bot" возникает вышеописанная ошибка

сервер установлен за NAT на стандартных портах (web порт 8081), в настройка прописывал внешний ip и пробрасывал порты на роутере, картина не менялась.
пробывал повесить web сервер на порт 8443 и пробрасывал данный порт, ошибка осталась (в документации telegram bot есть описание "На текущий момент отправка обновлений через вебхуки доступна только на эти порты: 443, 80, 88, 8443"). при стандартных настройка формируется webhook следующего вида (Webhook: http://XX.XX.XX.XX:8081/rest/Telegram/<token>/

как настраивается данный функционал?

Re: Telegram Bot

СообщениеДобавлено: Вт июн 13, 2017 5:13 pm
Андрей Раков
Добрый день.

Bad Request: bad webhook: HTTPS url must be provided for webhook

Для работы с телеграмом нужно включить шифрование HTTPS для веб-сервера, но тут есть один нюанс, у вас должен быть домен и сертификаты для него.

Начнем с домена, он у вас есть?

Re: Telegram Bot

СообщениеДобавлено: Вт июн 13, 2017 5:17 pm
Ox1
Домен отсутствует. Можно ли использовать самоподписанные/стандартные сертификаты?

Re: Telegram Bot

СообщениеДобавлено: Вт июн 13, 2017 5:39 pm
Андрей Раков
К сожалению самоподписные он не может проверить и не принимает.

Вот сервис, которым я воспользовался для создания сертификата для нашего сервера: https://zerossl.com/usage.html

В результате он создает сертификаты от Let's Encrypt.

Короткая инструкция:

1) делаем любой домен для вашего внешнего адреса, можно сделать бесплатный;

2) качаем генератор: https://github.com/do-know/Crypt-LE/releases, файл le32.zip;

3) настраиваем доступ из интернета к вашему веб-серверу, также нужен доступ по ICMP, чтобы сервис сертификации мог сделать "ping" вашего домена со своей стороны;

4) создаем папку "C:\Program Files (x86)\MyChat Server\node\server\www\lobby\.well-known\acme-challenge"

5) запускаем приложение из архива:
Код: Выделить всё
le32.exe --key account.key --csr mydomain.csr --csr-key mydomain.key --crt mydomain.crt --domains "ИМЯ_ВАШЕГО_ДОМЕНА" --path "C:/Program Files (x86)/MyChat Server/node/server/www/lobby/.well-known/acme-challenge"  --generate-missing --unlink --live

6) надеемся что все получится;

7) берем созданные сертификаты mydomain.key и mydomain.crt (валидны 90 дней, дальше нужно их обновлять);

8) заходим в админку, раздел "Настройки" - "Веб-сервисы", ставим галочку "Использовать шифрование", нажимаем на кнопку "Свои", выбираем "публичный ключ" — mydomain.crt, а "приватный ключ" — mydomain.key;

9) сохраняем, перезагружаем и ожидаем запуска веб-сервера с шифрованием, в адресной строке должен быть HTTPS;

10) теперь возвращаемся к веб-хуку телеграма и регистрируем его.

Подробно про генератор ключей: https://zerossl.com/usage.html

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 14, 2017 11:36 am
Ox1
спасибо!
с доменом не много перепутал. Домен в виде Active Directory отсутствует =) доменное имя присутствует. тогда получается можно сформировать ssl сертификаты для домена и использовать их

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 14, 2017 11:40 am
Андрей Раков
Когда будут какие-то результаты — напишите.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 14, 2017 11:41 am
Ox1
сразу возникает вопрос безопасности открытого web сервера, так как он на старте предлагает сервисы и администраторскую панель. можно ли закрыть доступ до всех сервисов за исключением необходимого для работы бота?

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 14, 2017 11:48 am
Андрей Раков
Добавьте в фильтры IP адреса, с которых можно входить в админку.
chrome_2017-06-14_11-49-15.png
chrome_2017-06-14_11-49-15.png (195.36 КБ) Просмотров: 16782

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 11:31 am
Ox1
Спасибо! подключил webhook, осталось разобраться как его использовать и сопоставлять пользователей.

делал по инструкции, добалю пару моментов:
- создал дополнительный поддомен
- настроил nat на маршрутизаторе с 80 на 8081 порт, иначе при генерации сертификата скрипт не может проверить владельца домена, запрос приходит на стандартный порт
- директорию под windows создавать через "mkdir -p C:/Program Files (x86)/MyChat Server/node/server/www/lobby/.well-known/acme-challenge/", иначе каталог с точкой создать не получится.
- перевёл WebServer на 8443 порт, и подключил сертификаты

после этого webhook активировался

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 12:21 pm
Алексей Пикуров
Отлично.
осталось разобраться как его использовать и сопоставлять пользователей

По логике работы вам поможет свежая статья "Интеграция офисного чата MyChat и мессенджера Telegram".

Если будете что-то непонятно — создавайте новую тему, там поможем.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 12:32 pm
Андрей Раков
Хочу уточнить, вы создали сертификаты, как я описал или у вас они уже были?

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 3:18 pm
Ox1
Сертификаты создал по вашей инструкции.

Дабы не плодить много тем. С указанным внешним адресом в виде IP не приходила регистрация от бота Telegram в MyChat (может были задержки), установил внешний адрес в виде домена, клиент зарегистрировался, но я не могу его сделать активным. После установки статуса активен, не выходит кнопки сохранить, а если сделать активным, потом подключить бота и сохранить настройки статус клиента не активируется.

Предлагаю ссылку на статью обновить в новостях:
https://nsoft-s.com/news/1154-mychat-6- ... onferenciy

ссылка в новости просто указывает на форум.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 3:42 pm
Андрей Раков
После подключения бота, когда активируете пользователей, никакой кнопки "Сохранить" не должно быть. Вы должны активировать пользователя и привязать к телеграм-акаунту внутреннего пользователя и все.

Насчет ссылки — обновите страницу, там давно уже ссылка на статью.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 3:56 pm
Ox1
Разобрался спасибо!
если сначала выбрать клиента, а потом активировать, статус не сохранялся
если активировать, а потом выбрать клиента, всё нормально

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 4:01 pm
Андрей Раков
Похоже в сохранении активации и пользователя есть какой-то баг, так как не имеет значение последовательность, разберемся...

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 15, 2017 5:14 pm
Алексей Пикуров
Поправили, обновите сервер.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт июн 16, 2017 10:16 am
Ox1
Обновил поверх текущую установку, получил ошибку на запуске
1.jpg
1.jpg (36.43 КБ) Просмотров: 16756

при попытке закрыть приложение
2.jpg
2.jpg (22.1 КБ) Просмотров: 16756


ещё выходила ошибка с 00000000 в адресах

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

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт июн 16, 2017 10:26 am
Алексей Пикуров
Баг репорт можете дать?

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт июн 16, 2017 1:32 pm
Алексей Пикуров
Обновите сервер, дистрибутивы пересобраны и перезалиты.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт июн 16, 2017 4:54 pm
Ox1
К сожалению в тот момент не подумал об этом (в принципе не ориентируюсь как его снимать), быстрее перенакатил предыдущий билд.
При подобных ситуациях постараюсь учесть баг репорт.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт июн 16, 2017 4:55 pm
Андрей Раков

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 21, 2017 4:51 pm
Станислав Ц.
Добрый день!
2) качаем генератор: https://github.com/do-know/Crypt-LE/rel ... 3/le32.zip (зеркало на нашем сайте — https://nsoft-s.com/files/le/le32.zip);

А у меня вот на этом этапе, почему-то затык.. Не распаковываются архивы
FvG4KNZvQHGzJJ8OvwBPNw.png
FvG4KNZvQHGzJJ8OvwBPNw.png (19.65 КБ) Просмотров: 16728

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 21, 2017 4:55 pm
Алексей Пикуров
Здравствуйте, Станислав.

Я изменил ваше сообщение, вставил картинку в пост, пожалуйста, вставляйте картинки, как вложения, не ставьте ссылки на внешние хранилища.

ZIP - это стандартный тип архива, поддерживается Windows, WinRar для него не нужен. Правая кнопка мышки на архиве, "Извлечь всё".

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 21, 2017 5:10 pm
Станислав Ц.
По поводу картинок все понял, Алексей, спасибо..
Но по поводу архива, тут не в архиваторе суть, а в том, что он скачивается битым..
Хотел узнать, только у меня ли так? У Вас он нормально извлекается, если сейчас скачать?

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июн 21, 2017 5:12 pm
Алексей Пикуров
Да, отлично качается, я только что проверил.
Размер — 8 141 244 байт.
SHA1: fe51690f21fc5f3037e1bfa97be558885bea137f

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт июн 22, 2017 11:34 am
Станислав Ц.
Да, спасибо, дома все скачалось тоже без проблем.. Странненько. Видимо антивирь на шлюзе архив портил. Ладно, буду продолжать дальше мучиться :)

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Ср июл 12, 2017 11:56 am
Андрей Раков
Добрый день.

Обновите пожалуйста сервер чата, иначе у вас может оказаться сборка, где я допустил ошибку в активации пользователя через команду "/start" боту:

https://nsoft-s.com/files/mcserv.zip

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт сен 07, 2017 10:34 am
ota-elena
Добрый день!
Про сертификаты. Делаем по инструкции выше, уже по-разному пытались и все равно на последнем этапе ошибки. Последняя ошибка вот такая (скрин)

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт сен 07, 2017 11:20 am
Андрей Раков
Добрый день.
4) создаем папку "C:\Program Files (x86)\MyChat Server\node\server\www\lobby\.well-known\acme-challenge"


Папку нужно создать там, потому что она должна быть видна из интернета, чтобы робот мог провести верификацию.

И в строке запуска le32 должен быть именно этот путь.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Чт сен 07, 2017 11:34 am
ota-elena
Спасибо за ответ. Попробуем, эти два пункта у нас не так были сделаны

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт сен 08, 2017 8:51 am
ota-elena
К сожалению, после создания папки C:\Program Files\MyChat Server\node\server\www\lobby\.well-known\acme-challenge все такая же ошибка на моменте верификации. Говорит проверка домена - эрорр.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт сен 08, 2017 9:07 am
Андрей Раков
Покажите скрин.

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт сен 08, 2017 9:55 am
Андрей Раков
Если перейти по адресу http://knk.i.tomsk.ru — ничего нет, а должен быть виден веб сервер чата, раньше ведь работало.

Поэтому и не отрабатывает механизм создания сертификатов.

Но у вас работает https://knk.i.tomsk.ru/, там выдается страница с текстом "It works!".

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт сен 08, 2017 10:18 am
ota-elena
У нас по вот такому адресу http://knk.i.tomsk.ru :8443 консоль админки открывается...по крайней мере вчера было. Это не верное решение?

Re: Telegram Bot, не получилось активировать

СообщениеДобавлено: Пт сен 08, 2017 10:23 am
Андрей Раков
Поменяйте порт на 80 и выключите шифрование, для создания сертификатов это очень важно.

Проверьте, что открывается страница http://knk.i.tomsk.ru и там загружается страница веб-сервера, после этого запускайте повторно le32.