[Telegram] Core

[Telegram] Core 2.0.5 Alpha 9

Нет прав для скачивания
В-общем, была задача - реализовать возможность регистрации и авторизации на форуме только через Телеграм. На форуме не должны использоваться E-mail ни в каком виде и оповещения от форума должны поступать в Телеграм. Форум нужен был для размещения контента и индексации его, при этом, быть пользователем форума мог только пользователь Телеграм. Сейчас найдено решение и как оказалось, форум вообще не нужен, всё в Телеграм. ) Сейчас у меня вопрос, возможна ли реализация такой задачи? Вероятно такое решение может пригодиться и я бы заказал разработку при случае.
Возможно всё, но вам в раздел поиска исполнителя
 
В-общем, была задача - реализовать возможность регистрации и авторизации на форуме только через Телеграм. На форуме не должны использоваться E-mail ни в каком виде и оповещения от форума должны поступать в Телеграм. Форум нужен был для размещения контента и индексации его, при этом, быть пользователем форума мог только пользователь Телеграм. Сейчас найдено решение и как оказалось, форум вообще не нужен, всё в Телеграм. ) Сейчас у меня вопрос, возможна ли реализация такой задачи? Вероятно такое решение может пригодиться и я бы заказал разработку при случае.

Ну это вы можете сделать, авторизация может происходить по запросу "контакт", в этом случае, вы получаете номер телефона того кто авторизуется. Но если форум не нужен, что тогда нужно? Зачем вам ксен, если вы пишет что форум вообще не нужен? Что нужно?
 
Валера19, возможно он имеет ввиду что додумался создать канал и чат в телеге, чтобы размещать контент в канале и обсуждать его в чате ?
 
Несколько ошибочек
TelegramBot\Api\HttpException: Forbidden: bot was blocked by the user src/addons/SModders/TelegramCore/vendor/telegram-bot/api/src/BotApi.php:281
Трассировка стека
Код:
#0 src/addons/SModders/TelegramCore/vendor/telegram-bot/api/src/BotApi.php(258): TelegramBot\Api\BotApi::curlValidate(Resource id #6, '{"ok":false,"er...')
#1 src/addons/SModders/TelegramCore/vendor/telegram-bot/api/src/BotApi.php(227): TelegramBot\Api\BotApi->executeCurl(Array)
#2 [internal function]: TelegramBot\Api\BotApi->call('sendMessage', Array)
#3 src/addons/SModders/TelegramCore/vendor/telegram-bot/api/src/Client.php(405): call_user_func_array(Array, Array)
#4 src/addons/SModders/TelegramCore/ChatCommand/Authenticate.php(43): TelegramBot\Api\Client->__call('call', Array)
#5 src/addons/SModders/TelegramCore/SubContainer/Telegram.php(163): SModders\TelegramCore\ChatCommand\Authenticate->run(Object(TelegramBot\Api\Types\Message), Array)
#6 src/addons/SModders/TelegramCore/CommandDispatcher.php(158): SModders\TelegramCore\SubContainer\Telegram->SModders\TelegramCore\SubContainer\{closure}(Object(TelegramBot\Api\Types\Message), Array, Object(Closure))
#7 src/addons/SModders/TelegramCore/CommandDispatcher.php(170): SModders\TelegramCore\CommandDispatcher->SModders\TelegramCore\{closure}(Object(TelegramBot\Api\Types\Message), Array)
#8 src/addons/SModders/TelegramCore/SubContainer/Telegram.php(226): SModders\TelegramCore\CommandDispatcher->SModders\TelegramCore\{closure}(false, false)
#9 src/addons/SModders/TelegramCore/CommandDispatcher.php(171): SModders\TelegramCore\SubContainer\Telegram->asTelegramVisitorById(1087916018, Object(Closure))
#10 src/addons/SModders/TelegramCore/CommandDispatcher.php(127): SModders\TelegramCore\CommandDispatcher->SModders\TelegramCore\{closure}(Object(TelegramBot\Api\Types\Message), Array)
#11 src/addons/SModders/TelegramCore/ChatCommand/AbstractHandler.php(86): SModders\TelegramCore\CommandDispatcher->runCommand('auth', Object(TelegramBot\Api\Types\Message), Array)
#12 src/addons/SModders/TelegramCore/ChatCommand/StartAuthenticate.php(25): SModders\TelegramCore\ChatCommand\AbstractHandler->redirect('auth', Object(TelegramBot\Api\Types\Message))
#13 src/addons/SModders/TelegramCore/SubContainer/Telegram.php(163): SModders\TelegramCore\ChatCommand\StartAuthenticate->run(Object(TelegramBot\Api\Types\Message), Array)
#14 src/addons/SModders/TelegramCore/CommandDispatcher.php(158): SModders\TelegramCore\SubContainer\Telegram->SModders\TelegramCore\SubContainer\{closure}(Object(TelegramBot\Api\Types\Message), Array, Object(Closure))
#15 src/addons/SModders/TelegramCore/CommandDispatcher.php(170): SModders\TelegramCore\CommandDispatcher->SModders\TelegramCore\{closure}(Object(TelegramBot\Api\Types\Message), Array)
#16 src/addons/SModders/TelegramCore/SubContainer/Telegram.php(226): SModders\TelegramCore\CommandDispatcher->SModders\TelegramCore\{closure}(false, false)
#17 src/addons/SModders/TelegramCore/CommandDispatcher.php(171): SModders\TelegramCore\SubContainer\Telegram->asTelegramVisitorById(1087916018, Object(Closure))
#18 src/addons/SModders/TelegramCore/CommandDispatcher.php(127): SModders\TelegramCore\CommandDispatcher->SModders\TelegramCore\{closure}(Object(TelegramBot\Api\Types\Message), Array)
#19 src/addons/SModders/TelegramCore/CommandDispatcher.php(111): SModders\TelegramCore\CommandDispatcher->runCommand('start', Object(TelegramBot\Api\Types\Message), Array)
#20 src/addons/SModders/TelegramCore/Pub/Controller/Telegram.php(45): SModders\TelegramCore\CommandDispatcher->run(Array)
#21 src/XF/Mvc/Dispatcher.php(350): SModders\TelegramCore\Pub\Controller\Telegram->actionHandleWebhook(Object(XF\Mvc\ParameterBag))
#22 src/XF/Mvc/Dispatcher.php(261): XF\Mvc\Dispatcher->dispatchClass('SModders\\Telegr...', 'HandleWebhook', Object(XF\Mvc\RouteMatch), Object(SModders\TelegramCore\Pub\Controller\Telegram), NULL)
#23 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SModders\TelegramCore\Pub\Controller\Telegram), NULL)
#24 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#25 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#26 src/XF.php(391): XF\App->run()
#27 index.php(20): XF::runApp('XF\\Pub\\App')
#28 {main}
Содержимое запроса
Код:
array(4) {
  ["url"] => string(72) "/smodders_telegram/handle-webhook?token=3e7d0e7ff0d12762cf7216d10dae3937"
  ["referrer"] => bool(false)
  ["_GET"] => array(2) {
    ["/smodders_telegram/handle-webhook"] => string(0) ""
    ["token"] => string(32) "3e7d0e7ff0d12762cf7216d10dae3937"
  }
  ["_POST"] => array(0) {
  }
}
Error: Call to a member function getAccessToken() on boolean src/addons/SModders/TelegramCore/ConnectedAccount/ProviderData/Telegram.php:27
Трассировка стека
Код:
#0 src/addons/SModders/TelegramCore/ConnectedAccount/ProviderData/Telegram.php(66): SModders\TelegramCore\ConnectedAccount\ProviderData\Telegram->getProviderKey()
#1 [internal function]: SModders\TelegramCore\ConnectedAccount\ProviderData\Telegram->get('username')
#2 src/XF/Template/Templater.php(999): call_user_func_array(Array, Array)
#3 internal_data/code_cache/templates/l2/s78/public/connected_account_associated_smodders_telegram.php(6): XF\Template\Templater->method(Object(SModders\TelegramCore\ConnectedAccount\ProviderData\Telegram), 'get', Array)
#4 src/XF/Template/Templater.php(1315): XF\Template\Templater->{closure}(Object(SV\ConversationEssentials\XF\Template\Templater), Array)
#5 src/XF/ConnectedAccount/Provider/AbstractProvider.php(360): XF\Template\Templater->renderTemplate('connected_accou...', Array)
#6 src/XF/Entity/ConnectedAccountProvider.php(81): XF\ConnectedAccount\Provider\AbstractProvider->renderAssociated(Object(XF\Entity\ConnectedAccountProvider), Object(Datio\AllowedEmails\XF\Entity\User))
#7 [internal function]: XF\Entity\ConnectedAccountProvider->renderAssociated()
#8 src/XF/Template/Templater.php(999): call_user_func_array(Array, Array)
#9 internal_data/code_cache/templates/l2/s78/public/connected_account_macros.php(38): XF\Template\Templater->method(Object(XF\Entity\ConnectedAccountProvider), 'renderAssociate...', Array)
#10 src/XF/Template/Templater.php(701): XF\Template\Templater->{closure}(Object(SV\ConversationEssentials\XF\Template\Templater), Array, Array)
#11 internal_data/code_cache/templates/l2/s78/public/account_connected.php(30): XF\Template\Templater->callMacro('connected_accou...', 'disassociate', Array, Array)
#12 src/XF/Template/Templater.php(1315): XF\Template\Templater->{closure}(Object(SV\ConversationEssentials\XF\Template\Templater), Array)
#13 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('account_connect...', Array)
#14 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#15 src/XF/Mvc/Dispatcher.php(458): XF\Mvc\Renderer\Html->renderView('XF:Account\\Conn...', 'public:account_...', Array)
#16 src/XF/Mvc/Dispatcher.php(440): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#17 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#18 src/XF/Mvc/Dispatcher.php(58): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#19 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#20 src/XF.php(391): XF\App->run()
#21 index.php(20): XF::runApp('XF\\Pub\\App')
#22 {main}
Содержимое запроса
Код:
array(4) {
  ["url"] => string(28) "/account/connected-accounts/"
  ["referrer"] => string(36) "https://sait.ru/account/privacy"
  ["_GET"] => array(1) {
    ["/account/connected-accounts/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
programist19, читайте отсюда:
Кто-то попытался авторизоваться, но заблочил бота. Что-то новое.
OFFTOP Никогда бы не подумал, что в том каллбеке может случиться такое. Видимо, придётся предусмотреть.

Как вариант, переключитесь на ручное получение обновлений один раз, выполните с крона его, и обратно на вебхуки.
 
Все получилось, спасибо)
 
Последнее редактирование:
После установки клауда в вебхуках Received error from Telegram when pushing update by webhook method: Wrong response from the webhook: 403 Forbidden
 
Artherious, а пробовали обновлять ссылку на веб-хук? Это больше похоже на проблему настройки веб-сервера или самого Клауда.
У меня у самого один форум за Клаудом "прячется", и на нём всё работает нормально.

P.S.: Это относится к ядру, пост переместил.
 
Artherious, а пробовали обновлять ссылку на веб-хук? Это больше похоже на проблему настройки веб-сервера или самого Клауда.
У меня у самого один форум за Клаудом "прячется", и на нём всё работает нормально.

P.S.: Это относится к ядру, пост переместил.
Update Webhook details в смысле? если так то да, несколько раз пробовал, оповещения идут, а вот команды перестали работать.
 
Artherious, возможность посмотреть access-лог есть? Если да, запросы на smodders_telegram/handle-webhook прилетают?
 
(Не)интересное наблюдение. Если форум отключить, попробовать установить плагин и поставить вебхук(SSL разумеется есть), то при попытке просмотреть детали вебхука, будет возвращаться ошибка 503. Если же форум включить и попробовать сделать тоже самое - все работает
 
будет возвращаться ошибка 503
Сама админка возвращает этот код ошибки или Телега получает его? Если второе - логично, форум же отключен. Но посмотрю, что можно сделать, чтобы Телега при отключенном форуме работала нормально.
 
CrazyHackGUT, иронично, при попытке снова повторить это - все проходит нормально...
Попробую чуть позже и отпишусь

Словил.
Received error from Telegram when pushing update by webhook method: Wrong response from the webhook: 503 Service Unavailable

Received: Только что
 
Телега получает его
логично, форум же отключен
посмотрю, что можно сделать, чтобы Телега при отключенном форуме работала нормально
Возможно какую-нибудь настройку ввести, надо подумать.
 
Не знаю как так произошло, и когда оно произошло тоже, но в общем, есть проблема.
В профиле отображается, что Телеграм привязан, но на какой аккаунт - не отображается. При попытке удалить аккаунт - ничего не происходит, все остаётся также
IMG_20201206_092035.jpg
В логах админки никаких ошибок нет, при попытке протестировать вход через телегу бот просто молчит, как партизан.

Сейчас пока попробую с другого акка (и телеги, и форума) протестировать вход, но хотелось бы починить проблему выше:)

UPD: проблема "починилась" при обновлении форума на 2.2.2, не знаю как это связано, но все же...
 
Последнее редактирование:
с 2.2 версией движка не будет трудностей?
 
CrazyHackGUT Нашелся баг, по крайней мере у меня вылез. При открытии /account/connected-accounts/ в журнале вылетает ошибка. Ранее забивал на эту ошибку, но сейчас решил все же о ней сообщить. Привязка аккаунта телеги к другим аккаунтам форума работает, уведомления тоже.

Журнал ошибок сервера
Код:
Error: Template public:connected_account_associated_smodders_telegram error: Call to a member function getAccessToken() on bool src/addons/SModders/TelegramCore/ConnectedAccount/ProviderData/Telegram.php:27

Трассировка стека
Код:
#0 src/addons/SModders/TelegramCore/ConnectedAccount/ProviderData/Telegram.php(66): SModders\TelegramCore\ConnectedAccount\ProviderData\Telegram->getProviderKey()
#1 [internal function]: SModders\TelegramCore\ConnectedAccount\ProviderData\Telegram->get('username')
#2 src/XF/Template/Templater.php(1166): call_user_func_array(Array, Array)
#3 internal_data/code_cache/templates/l2/s11/public/connected_account_associated_smodders_telegram.php(7): XF\Template\Templater->method(Object(SModders\TelegramCore\ConnectedAccount\ProviderData\Telegram), 'get', Array)
#4 src/XF/Template/Templater.php(1626): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#5 src/XF/ConnectedAccount/Provider/AbstractProvider.php(369): XF\Template\Templater->renderTemplate('connected_accou...', Array)
#6 src/XF/Entity/ConnectedAccountProvider.php(81): XF\ConnectedAccount\Provider\AbstractProvider->renderAssociated(Object(XF\Entity\ConnectedAccountProvider), Object(SV\ReportImprovements\XF\Entity\User))
#7 [internal function]: XF\Entity\ConnectedAccountProvider->renderAssociated()
#8 src/XF/Template/Templater.php(1166): call_user_func_array(Array, Array)
#9 internal_data/code_cache/templates/l2/s11/public/connected_account_macros.php(40): XF\Template\Templater->method(Object(XF\Entity\ConnectedAccountProvider), 'renderAssociate...', Array)
#10 src/XF/Template/Templater.php(799): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#11 internal_data/code_cache/templates/l2/s11/public/account_connected.php(28): XF\Template\Templater->callMacro('connected_accou...', 'disassociate', Array, Array)
#12 src/XF/Template/Templater.php(1626): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#13 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('account_connect...', Array)
#14 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#15 src/XF/Mvc/Dispatcher.php(458): XF\Mvc\Renderer\Html->renderView('XF:Account\\Conn...', 'public:account_...', Array)
#16 src/XF/Mvc/Dispatcher.php(440): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#17 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#18 src/XF/Mvc/Dispatcher.php(58): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#19 src/XF/App.php(2326): XF\Mvc\Dispatcher->run()
#20 src/XF.php(488): XF\App->run()
#21 index.php(20): XF::runApp('XF\\Pub\\App')
#22 {main}

Содержимое запроса
Код:
array(4) {
  ["url"] => string(28) "/account/connected-accounts/"
  ["referrer"] => string(26) "https://site.com/home/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

xf: 2.2.3.1
php: 7.4.14
MySQL: 8.0.22
 
dems_dd, Не могу воспроизвести ошибку, проблема где-то на вашей стороне
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу