CrazyHackGUT
Проверенные
		- Сообщения
- 3,945
- Решения
- 129
- Реакции
- 9,128
- Баллы
- 4,200
- Меценат
- #241
Подробный разбор установки 2.х
С 1.х многое поменялось. Что-то стало проще, что-то - сложнее. Мне показалось, что будет разумнее написать один большой пост про установку и ссылаться, в случае чего, на него. Ну и ссылку на него в описание впилить...
В этом "подробном" разборе будет опущена процедура скачивания архива, его распаковки и загрузки на удалённый сервер посредством любого протокола (
Если выбран Direct способ, и бот Вам ничем не отвечает (читай: не работает) после установки веб-хуков (если Cron - нужно время, чтобы задача сработала), есть два возможных корня проблемы:
Вот и вся настройка. Всё не так сложно, как кажется.
По мере необходимости, пост буду дополнять.
				
			С 1.х многое поменялось. Что-то стало проще, что-то - сложнее. Мне показалось, что будет разумнее написать один большой пост про установку и ссылаться, в случае чего, на него. Ну и ссылку на него в описание впилить...
В этом "подробном" разборе будет опущена процедура скачивания архива, его распаковки и загрузки на удалённый сервер посредством любого протокола (
FTP / SFTP / WebDav) с последующим нажатием кнопки Установить в админке. Это такие банальные вещи, которые надо уже уметь делать без явных уточнений, что и как.- Переходим в Telegram и через поиск находим "отца ботов" (@BotFather).
- В диалоге с ним нажимаем Start.
- В ответ, отец напишет Вам, что он помогает с созданием и управление ботами в Telegram, и выведет перечень всех команд, которые он для этого знает. Нас интересует /newbot. Нажимаем на неё прямо в сообщении.
 
 В ответ последовательно сообщаем отцу имя нашего бота и его имя пользователя.
- В ответ, отец пришлёт нам токен бота. На скриншоте ниже, его местоположение будет выделено красной рамочкой.
  
 Обратите внимание на предостережение отца ботов касательно токена. Никому его [токен] не показывайте! Это важно!
- Для возможности использовать авторизацию через Telegram, нам так же нужно сообщить отцу ботов, на каком домене располагается наш сайт. Для этого, мы либо листаем в диалоге выше, находим команду /setdomainи нажимаем левой кнопкой мыши по ней, либо вводим её вручную в чате.
 В вылезшей клавиатуре выбираем нашего бота и отправляем в ответ чисто домен (без протокола; пример ниже).
 Клавиатура может вылезть, а может и не вылезть.
 Своего первого бота я делал в 2016 году, и с тех пор утекло много воды. Всех деталей я не помню.
 Но, на данный момент, на моём аккаунте приличное кол-во аккаунтов ботов (не менее 10 штук), и я всегда вижу эту клавиатуру. Вылезает ли она, когда бот один - я, соответственно, не помню. 
- На этом наши приготовления бота завершены. Если необходимо - можете так же через отца задать аватарку (/setuserpic) или изменить имя (/setname). Изменить тег бота не представляется возможным на данный момент. Если Вы на этом этапе резко осознали, что выбрали плохой тег боту - самое время удалить бота (/deletebot) и сделать его с нуля.
- Переходим на форум и заходим в панель администратора (/admin.php). В меню сбоку заходим вSetup→Service providers→Connected accounts, в списке находим Telegram и нажимаем левой кнопкой мыши по нему.
- В отличие от 1.х, где нам нужно было ввести и имя бота в определенном формате (без символа собаки) и токен, в 2.х теперь нужен только токен. Его и заполняем, выбираем способ авторизации и нажимаем Save.
 Похоже, Ваш хостинг-провайдер чтит законы РФ и блокирует доступ к Telegram. Поздравляем.
 На эти случаи, аддон имеет возможность настройки прокси-сервера. Она локальная и распространяется только на запросы к Telegram API.
 ВSetup→OptionsнаходимTelegram(/admin.php?options/groups/smodders_telegram/). Там будет опцияProxy connection string. В неё нам нужно ввести адрес прокси-сервера в определённой URL-схеме (для тех, кому нужны подробности - на странице настроек, прямо в описании данного пункта есть ссылочка).
 
 Тут можно напороться снова на хостинг-провайдера, который блокирует запросы к неизвестным портам.
 Чтож, тут можно написать в техническую поддержку с просьбой открыть исходящие TCP-соединения на порт выбранного прокси-сервера.
- В настройках аддона (Setup→OptionsнаходимTelegram(/admin.php?options/groups/smodders_telegram/)) включаем веб-хуки в идеале для того, чтобы все выполняемые действия с ботом (новые сообщения, например, к нему от кого-то; нужно если выбрали Direct способ авторизации) приходили на наш сервер самостоятельно.
 Если Вы до сих пор сидите без HTTPS, можете даже не пробовать включать веб-хуки. Telegram без HTTPS присылать веб-хуки откажется, и единственно верным решением для Вашей ситуации будет лонг-поллинг (крон-задача), но тут надо понимать, что по-умолчанию, cron-задачи обрабатываются XF только когда кто-то заходит на сайт, потому задумайтесь об установке хотя бы Lets Encrypt сертификата.
Если выбран Direct способ, и бот Вам ничем не отвечает (читай: не работает) после установки веб-хуков (если Cron - нужно время, чтобы задача сработала), есть два возможных корня проблемы:
- Хостинг-провайдер чтит законы, и блокирует входящие запросы от Telegram.
 Честно, редко такое вижу (на ру-хостах, да), но оно есть. На такие случаи реализован "финт ушами" в виде проксирования веб-хуков.
 У Вас недостаточно прав для просмотра ссылок. Вход или Регистрация, который все входящие POST-запросы с типомapplication/json"реплицирует" на полученный в GET-параметрах адрес. Такой простой, но действенный "финт ушами".
 Я его тоже захостил. Кому необходимо - значение для настройкиhttps://one.oracle.kruzya.me/telegramWebHookProxy.php?_target={webHook}
- "Анти-ддос" сервисы (привет, CloudFlare).
 Решается добавлением IP-адресов Telegram в белый список на файрволе. Подсети IP-адресов, откуда приходят веб-хуки,У Вас недостаточно прав для просмотра ссылок. Вход или Регистрация, но если Вам мешает РКН -149.154.160.0/20и91.108.4.0/22(актуально на 16.11.2019).
Вот и вся настройка. Всё не так сложно, как кажется.
По мере необходимости, пост буду дополнять.
			
				Последнее редактирование: 
			
		
	
								
								
									
	
								
							
							 
				 
						
![[Telegram] Core](/data/resource_icons/6/6733.jpg?1525260233)
 
 
		 
 
		 
 
		
 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		