Попробуйте обновить страницу. После включения плагина потребуется обновление.
Я вижу это теперь, спасибо!
Ребята, возникает ошибка при настройке этого плагина с Discord. Канал создан, вебхук настроен через плагин.
Теперь я получаю следующую ошибку.
А при отправке теста получаю эту ошибку.
В логах вот что выводится.
Буду благодарен за любую помощь.
Можете ли вы поделиться содержимым вкладки «Информация» для этого? Если вы можете скопировать и вставить текст, это было бы отлично — читать логи на скриншоте сложно.
Сообщение (2 копии отправлены)
Тестовый провайдер не удался {:error_key=>nil, :message=>{:content=>"", :embeds=>[{:title=>"FAYN Rule Book [Alliance/Announcements] ", :color=>12525102, :description=>"[image] \nFAYN — это группа корпораций, работающих вместе как единое целое для развития как отдельных участников, так и группы в рамках данных руководящих принципов и правил. \nИнструменты администрирования\nКак часть FAYN вы обязаны связать ВСЕХ своих персонажей, независимо от их значимости, с вашим основным персонажем в SeAT. Это является частью требований при найме и поддерживает текущее управление нашей корпорацией...", :url=>"https://forum.darksideoftheeclipse.co.uk/t/fayn-rule-book/45/1", :author=>{:name=>"@PJHustle", :url=>"https://forum.darksideoftheeclipse.co.uk/u/PJHustle", :icon_url=>"https://forum.darksideoftheeclipse.co.uk/user_avatar/forum.darksideoftheeclipse.co.uk/pjhustle/45/4_2.png"}}]}, :response_body=>"<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body>\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"}
Трассировка стека
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.0.3.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.0.3.3/lib/abstract_controller/base.rb:195:in `process_action'
actionpack-6.0.3.3/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.0.3.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.0.3.3/lib/active_support/callbacks.rb:112:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:354:in `block in with_resolved_locale'
i18n-1.8.5/lib/i18n.rb:313:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:354:in `with_resolved_locale'
Окружение
HTTP HOSTS: forum.darksideoftheeclipse.co.uk
В первую очередь следует обратиться в поддержку Discord с этой информацией и спросить, почему это происходит.
Да, возможно. Но я пас. Я не разработчик и не имею ни малейшего представления, что делать или что спрашивать. Я мало что в этом понимаю. Просто публикую это, потому что раньше всё работало, а теперь нет.
Может, из-за того, что Discord что-то меняет? Не знаю.
У меня есть ощущение, что скоро я не буду единственным, у кого возникнет эта проблема.
Поделиться — это полезно. Мы лишь отмечаем, что, судя по данным, проблема, похоже, находится на стороне Discord. Мы не можем это контролировать.
Я нашел проблему.
Вебхук Discord изменился с discordapp.com на discord.com.
Когда я изменил вебхук с discord.com на discordapp.com, всё заработало.
Так что пока всё работает. Я отправил тикет в поддержку Discord с этой проблемой.
Но пока неясно, где именно кроется проблема: в Discord или в приложении?
Редактирование: URL вебхука в Discourse я изменил.
Спасибо за решение. Я чуть не сошёл с ума, пытаясь отладить это.
Привет.
У меня тоже возникла такая же проблема. При нажатии на кнопку test в разделе Плагины — Интеграции чата появляется сообщение DiscourseChat::ProviderError, а при попытке использовать URL вебхука Discord возвращается ошибка 403 Forbidden.
Есть какие-нибудь советы, как это исправить?
Вам всё ещё нужно изменить URL вебхука, чтобы использовать домен discordapp.com вместо discord.com.
Привет. Это решило мою проблему. Спасибо.
Думаю, сам плагин тоже должен поддерживать новый формат домена API в следующем обновлении.
Отлично, это тоже помогло мне.
В консоли появляются эти ошибки, и канал плагина не загружается. Это из-за темы? Нужно ли её отключить?
Вам нужно проверить конфигурацию вашего сервера, так как она меняется в зависимости от того, используете ли вы Apache или Nginx. Вы можете поискать это сообщение ![]()
Кстати, возможно ли добавить миниатюры и сократить цитируемое сообщение в Discord? Оно слишком длинное и ломает наш чат ![]()
Кстати, спасибо за вашу работу (всего сообщества), как всегда!
В логе была такая ошибка:
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.1.4.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.1.4.1/lib/abstract_controller/base.rb:228:in `process_action'
actionpack-6.1.4.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.1.4.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.1.4.1/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
i18n-1.8.10/lib/i18n.rb:314:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:397:in `with_resolved_locale'
Я просто изменил URL вебхука с discord.com на discordapp.com, и всё заработало ![]()
Моя первоначальная мотивация для поиска интеграции Discourse с Discord заключалась в том, чтобы отправлять помеченные сообщения в Discord для более быстрого уведомления и проверки среди команды. Стандартный плагин этого не поддерживает. Поэтому теперь поддержка отправки помеченных сообщений в Discord реализована здесь.
Обратите внимание, что, вероятно, существует более «рубистый» способ реализации этого. Возможно, метод on(:reviewable) должен использовать очередь, специфичную для объектов reviewable, а передача флага flagged в качестве булева значения — это своего рода хакинг. Также, возможно, есть другие более универсальные действия, которые можно выполнять с объектом reviewable, но текущее решение подходит для моих целей.
Используйте с осторожностью: я не планирую отправлять этот код в основной репозиторий, так как не намерен поддерживать что-либо, кроме Discord, и не планирую тратить больше времени на устранение других выявленных выше проблем для улучшения.
В итоге это выглядит так…
Всем привет.
Вебхук с Discord работает корректно… за исключением того, что содержимое сообщения пустое. Тема/ответ на дискурсе не отображаются на сервере Discord.
Если я добавлю ‘chat integration discord message content’, эта часть включается корректно.
Спасибо,
Мне наконец удалось заставить это работать, методом проб и ошибок. Для тех, кто придет после меня…
В инструкциях сказано:
ПРИМЕЧАНИЕ: Если при использовании вебхука возникает ошибка, убедитесь, что доменное имя — discordapp.com, а не discord.com.
Когда я скопировал свой вебхук из Discord, он был в следующем формате: https://discordapp.com/api/webhooks/xxx/yyy-zzz-aaa
Таким образом, приведенные выше инструкции соответствуют URL, который предоставляет Discord.
Проблема возникает при следовании инструкциям. Настройки плагина отклоняют схему URL, указанную в документации, и принимают схему, которая запрещена. Будто бы в коде где-то не хватает знака «!».
К счастью, URL вебхука работает, когда я использую второй адрес, как показано на скриншоте ниже.
Поэтому несколько предложений, которые могли бы прояснить эту проблему для следующего человека, который, возможно, не будет проводить столько же проб и ошибок, как я:
- Обновить валидатор так, чтобы
discordapp.comпроходил, аdiscord.com— нет. - Обновить валидатор так, чтобы проходили оба адреса:
discordapp.comиdiscord.com. - Изменить формулировку в инструкциях, чтобы убрать это противоречивое примечание.
Дополнительные предложения:
в разделе настроек «Настройка Discourse»:
Шаг 0: после установки плагина включите его.
Шаг 1: добавьте скриншот.
Шаг 3: добавьте скриншот.
Я немного беспокоюсь, что Discord перестанет поддерживать «неправильную» схему, которую я сейчас использую, поэтому мне бы хотелось, чтобы Discourse исправил это, чтобы мне не приходилось использовать обходной путь до того, как Discord сломает мой альтернативный URL.


