[Telegram] Core

[Telegram] Core 2.0.5 Alpha 9

Нет прав для скачивания
Сегодня в админке вылезла ошибка:
Код:
ErrorException: [E_NOTICE] Trying to get property of non-object src/addons/Kruzya/Telegram/Service/Conversation/Notifier.php:31

Трассировка стека
Код:
#0 src/addons/Kruzya/Telegram/Service/Conversation/Notifier.php(31): XF::handlePhpError(8, '[E_NOTICE] Tryi...', '/var/www/www-ro...', 31, Array)
#1 src/addons/Kruzya/Telegram/Service/Conversation/Notifier.php(11): Kruzya\Telegram\Service\Conversation\Notifier->_sendTelegram('reply', Array, Object(XF\Entity\ConversationMessage), Object(XFRM\XF\Entity\User))
#2 src/XF/Service/Conversation/Notifier.php(65): Kruzya\Telegram\Service\Conversation\Notifier->_sendNotifications('reply', Array, Object(XF\Entity\ConversationMessage))
#3 src/XF/Service/Conversation/Replier.php(172): XF\Service\Conversation\Notifier->notifyReply(Object(XF\Entity\ConversationMessage))
#4 src/XF/Service/Conversation/Replier.php(151): XF\Service\Conversation\Replier->sendNotifications()
#5 src/XF/Service/ValidateAndSavableTrait.php(40): XF\Service\Conversation\Replier->_save()
#6 src/XF/Pub/Controller/Conversation.php(486): XF\Service\Conversation\Replier->save()
#7 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Conversation->actionAddReply(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Conversation', 'AddReply', 'json', Object(XF\Mvc\ParameterBag), 'conversations', Object(XenConcept\ConversationCategory\XF\Pub\Controller\Conversation), NULL)
#9 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#10 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#11 src/XF.php(328): XF\App->run()
#12 index.php(13): XF::runApp('XF\\Pub\\App')
#13 {main}

Содержимое запроса
Код:
array(4) {
  ["url"] => string(37) "/conversations/privet.12989/add-reply"
  ["referrer"] => string(47) "https://trinixy.org/conversations/privet.12989/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(9) {
    ["message_html"] => string(8) "<p>t</p>"
    ["attachment_hash"] => string(32) "09df64fd1cee72e61ebeeef0ac104671"
    ["attachment_hash_combined"] => string(109) "{"type":"conversation_message","context":{"conversation_id":12989},"hash":"09df64fd1cee72e61ebeeef0ac104671"}"
    ["last_date"] => string(10) "1533451770"
    ["last_known_date"] => string(1) "0"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(28) "/conversations/privet.12989/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}

Как излечить?

Судя по запросу- пытается создать переписку что-ли?
 
Последнее редактирование модератором:
Efremov, мой косяк. В течении 15 мин исправлю и выложу.
Нет, дело не в этом.
Оно не нашло пользователя Telegram.

Когда рефакторил, забыл проверку добавить на то, существует пользователь или нет.
 
CrazyHackGUT обновил(а) ресурс Telegram новой записью:

Обновление до 1.0.5

  • Небольшой рефактор.
  • Опция глобального выключения уведомлений заменена на пермишн:
    Посмотреть вложение 89568
  • Исправлена ошибка, когда при попытке сделать что-либо с диалогами, вылезала ошибка. Спасибо Efremov за баг-репорт.

Узнать больше об этом обновлении...
 
Теперь другая ошибка.
  • ArgumentCountError: Too few arguments to function Kruzya\Telegram\Utils::isNotificationsAllowed(), 0 passed in /var/www/www-root/data/www/trinixy.org/src/addons/Kruzya/Telegram/Listener.php on line 10 and exactly 1 expected
  • src/addons/Kruzya/Telegram/Utils.php:38
Код:
#0 src/addons/Kruzya/Telegram/Listener.php(10): Kruzya\Telegram\Utils::isNotificationsAllowed()
#1 [internal function]: Kruzya\Telegram\Listener::saveAlert(Object(XF\Entity\UserAlert))
#2 src/XF/Extension.php(50): call_user_func_array(Array, Array)
#3 src/XF.php(561): XF\Extension->fire('entity_post_sav...', Array, 'XF\\Entity\\UserA...')
#4 src/XF/Mvc/Entity/Entity.php(1151): XF::fire('entity_post_sav...', Array, 'XF\\Entity\\UserA...')
#5 src/XF/Repository/UserAlert.php(116): XF\Mvc\Entity\Entity->save()
#6 src/XF/Repository/UserAlert.php(74): XF\Repository\UserAlert->insertAlert(3720, 3, 'Cyber', 'post', 28655, 'like', Array)
#7 src/XF/Like/AbstractHandler.php(157): XF\Repository\UserAlert->alertFromUser(Object(XFRM\XF\Entity\User), Object(XFRM\XF\Entity\User), 'post', 28655, 'like', Array)
#8 src/XF/Repository/LikedContent.php(100): XF\Like\AbstractHandler->sendLikeAlert(Object(XFRM\XF\Entity\User), Object(XFRM\XF\Entity\User), 28655, Object(KST\HIDE\XF\Entity\Post))
#9 src/XF/Repository/LikedContent.php(63): XF\Repository\LikedContent->insertLike('post', 28655, Object(XFRM\XF\Entity\User), true)
#10 src/XF/ControllerPlugin/Like.php(28): XF\Repository\LikedContent->toggleLike('post', 28655, Object(XFRM\XF\Entity\User))
#11 src/XF/Pub/Controller/Post.php(356): XF\ControllerPlugin\Like->actionToggleLike(Object(KST\HIDE\XF\Entity\Post), '/posts/28655/li...', '/posts/28655/', '/posts/28655/li...')
#12 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Post->actionLike(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Post', 'Like', 'json', Object(XF\Mvc\ParameterBag), 'forums', Object(KST\HIDE\XF\Pub\Controller\Post), NULL)
#14 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#15 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#16 src/XF.php(328): XF\App->run()
#17 index.php(13): XF::runApp('XF\\Pub\\App')
#18 {main}

Код:
array(4) {
  ["url"] => string(17) "/posts/28655/like"
  ["referrer"] => string(64) "https://trinixy.org/threads/10-principov-xoroshego-dizajna.7344/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(4) {
    ["_xfRequestUri"] => string(45) "/threads/10-principov-xoroshego-dizajna.7344/"
    ["_xfWithData"] => string(1) "1"
    ["_xfToken"] => string(8) "********"
    ["_xfResponseType"] => string(4) "json"
  }
}

Обновлял с отключением аддона
 
Efremov, откройте файл src/addons/Kruzya/Telegram/Listener.php, найдите строку 10:
PHP:
if (!Utils::isNotificationsAllowed())
Замените на:
PHP:
if (!Utils::isNotificationsAllowed($entity->Receiver))

Надо пересмотреть файлы с сервака. Видимо, какие-то опять забыл слить в локальную репу Гита.
Ща всё пересмотрю, снова залью очередной фикс к фиксу :ROFLMAO:
 
Видать буду и дальше багрепортить раз уж взялся...

Код:
ArgumentCountError: Too few arguments to function Kruzya\Telegram\Utils::isNotificationsAllowed(), 0 passed in /var/www/www-root/data/www/trinixy.org/src/addons/Kruzya/Telegram/Service/Conversation/Notifier.php on line 17 and exactly 1 expected src/addons/Kruzya/Telegram/Utils.php:38

Трассировка стека

Код:
#0 src/addons/Kruzya/Telegram/Service/Conversation/Notifier.php(17): Kruzya\Telegram\Utils::isNotificationsAllowed()
#1 src/addons/Kruzya/Telegram/Service/Conversation/Notifier.php(11): Kruzya\Telegram\Service\Conversation\Notifier->_sendTelegram('reply', Array, Object(XF\Entity\ConversationMessage), NULL)
#2 src/XF/Service/Conversation/Notifier.php(65): Kruzya\Telegram\Service\Conversation\Notifier->_sendNotifications('reply', Array, Object(XF\Entity\ConversationMessage))
#3 src/XF/Service/Conversation/Replier.php(172): XF\Service\Conversation\Notifier->notifyReply(Object(XF\Entity\ConversationMessage))
#4 src/XF/Service/Conversation/Replier.php(151): XF\Service\Conversation\Replier->sendNotifications()
#5 src/XF/Service/ValidateAndSavableTrait.php(40): XF\Service\Conversation\Replier->_save()
#6 src/XF/Pub/Controller/Conversation.php(486): XF\Service\Conversation\Replier->save()
#7 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Conversation->actionAddReply(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Conversation', 'AddReply', 'json', Object(XF\Mvc\ParameterBag), 'conversations', Object(XenConcept\ConversationCategory\XF\Pub\Controller\Conversation), NULL)
#9 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#10 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#11 src/XF.php(328): XF\App->run()
#12 index.php(13): XF::runApp('XF\\Pub\\App')
#13 {main}

Содержимое запроса
Код:
array(4) {
  ["url"] => string(37) "/conversations/privet.12989/add-reply"
  ["referrer"] => string(47) "https://trinixy.org/conversations/privet.12989/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(9) {
    ["message_html"] => string(8) "<p>t</p>"
    ["attachment_hash"] => string(32) "09df64fd1cee72e61ebeeef0ac104671"
    ["attachment_hash_combined"] => string(109) "{"type":"conversation_message","context":{"conversation_id":12989},"hash":"09df64fd1cee72e61ebeeef0ac104671"}"
    ["last_date"] => string(10) "1533493843"
    ["last_known_date"] => string(1) "0"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(28) "/conversations/privet.12989/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
 
Такое чувство, будто тестерам даю нормальные файлы, а в Гит с сервера почему-то сливаю другие файлы...
Через 10 минут перезалью снова...
 
Такое чувство, будто тестерам даю нормальные файлы, а в Гит с сервера почему-то сливаю другие файлы...
Через 10 минут перезалью снова...
Ничего. Побуду тестором немного. Главное чтоб довели до стэйбла. :okay:
 
Efremov, может, тогда лучше продолжим тестирование в Телеграмме, если снова что-то пойдёт не так?
Если что, пишите .
 
Ну надеюсь что все- последнюю версию можно назвать Stable. Ошибок нет ни на форуме ни в админке.
 
По моему у меня тоже нету ошибок все четко
 
hirowatch, аддон полностью перезалей.
Специально побежал смотреть на Гитхабе, что на 17 строке, и там вовсе не вызов той самой функции.
 
Уведомления от бота не приходят о новых постах. В планировщике нет задания на отправку. Каким образом отправка происходит?

В профиле уведомления включены, телега к сайту привязана, вход через телегу работает. В журнале ошибок нет.

И русификатор не мешало бы обновить. Очень сильный "недоперевод"
 
Каким образом отправка происходит?
Как только приходит уведомление на форуме - сразу и отправляет.
Идея с планировщиком, к слову, очень даже ничего. По идее перестанет немного тормозить процесс при создании того же личного диалога с человеком, у которого включены уведомления в Telegram.
Пойду снова рефакторить...

Уведомления от бота не приходят о новых постах.
Хостинг какой? Вполне возможно, что хостинг соблюдает требования РКН, и блокирует доступ к API Telegram.
В этом случае могу лишь предоставить прокси-скрипт для запросов к API с возможностью зафелхостить.
Когда начал делать, появилась идея лучше. Guzzle же поддерживает использование прокси при выполнении запросов. Этой фичей и воспользуемся.

И русификатор не мешало бы обновить.
Это уже к Len :)
Русификатор не мой.
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу