Configurar notificaciones de Discord con el plugin discourse-chat-integration

¿Puedes intentar recargar la página? Se necesitará una recarga después de habilitar el complemento.

3 Me gusta

¡Ya lo veo, gracias!

Hola, chicos. Estoy teniendo un error al configurar este plugin con Discord. El canal se creó y el webhook se configuró con el plugin.

Ahora obtengo el siguiente error:

Y cuando envío una prueba, obtengo este error:

Y los registros me muestran esto:

Agradecería cualquier ayuda.

¿Podrías compartir el contenido de la pestaña “info” para esto? Si puedes copiar y pegar, sería genial; es difícil leer los registros en una captura de pantalla.

1 me gusta

Mensaje (2 copias reportadas)

El proveedor de prueba falló {:error_key=>nil, :message=>{:content=>"", :embeds=>[{:title=>"Libro de Reglas FAYN [Alianza/Anuncios]", :color=>12525102, :description=>"[imagen] \nFAYN es un grupo de corporaciones que trabajan juntas como un colectivo para crecer tanto individual como grupalmente dentro de este conjunto de pautas y reglas. \nHerramientas de Administración\nComo parte de FAYN, se requiere que TODOS tus personajes, por insignificantes que sean, estén vinculados a tu personaje principal en SeAT. Esto forma parte de los requisitos de reclutamiento y apoya la gestión continua de nuestra corporación...", :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 Prohibido</title></head>\r\n<body>\r\n<center><h1>403 Prohibido</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"}

Pila de llamadas

/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'

Entorno

HOSTS HTTP: forum.darksideoftheeclipse.co.uk

Lo primero que se debería hacer es contactar al soporte de Discord con esta información y preguntar por qué está ocurriendo esto.

1 me gusta

Sí, quizás. Pero lo dejaré pasar. No soy desarrollador y no tengo ni idea de qué hacer o qué preguntar. No entiendo mucho de esto. Solo lo publico porque antes funcionaba y ahora no.

¿Quizás sea porque Discord está cambiando cosas? No lo sé.
Tengo la sensación de que no seré el único que se encuentre con este problema pronto.

Es útil compartirlo; solo estamos señalando que, según los datos, parece que el problema está del lado de Discord. No podemos controlar eso.

1 me gusta

Encontré el problema.

El webhook de Discord ha cambiado de discordapp.com a discord.com.
Cuando modifiqué el webhook de discord.com a discordapp.com, empezó a funcionar.

Así que por ahora está funcionando. He enviado un ticket al soporte de Discord con este problema.
Pero no estoy seguro de dónde radica el problema ahora: ¿en Discord o en la aplicación?

Edit: He alterado la URL del webhook en Discourse.

5 Me gusta

gracias por publicar la solución. Me estaba volviendo loco tratando de depurar esto.

Hola.

Yo también tengo el mismo problema. Veo el mensaje DiscourseChat::ProviderError cuando hago clic en probar en Plugins - Integraciones de chat, y recibo un error 403 prohibido desde la URL del webhook de Discord.

¿Tienes alguna sugerencia para solucionarlo?

Todavía necesitas cambiar la URL de tu webhook para usar el dominio discordapp.com en lugar de discord.com.

4 Me gusta

Hola. Eso resolvió mi problema. Gracias.

Creo que el propio plugin debería admitir el nuevo formato de dominio de la API en una nueva actualización también.

2 Me gusta

Genial, esto también lo solucionó para mí.


Estoy recibiendo estos errores en la consola y el canal del complemento no se está cargando. ¿Se debe a un tema y necesito desactivarlo?

Necesitas revisar la configuración de tu servidor, ya que cambia dependiendo de si estás en Apache o Nginx. Puedes buscar ese mensaje :love_you_gesture:

Sobre el tema, ¿sería posible agregar miniaturas y reducir el mensaje citado en Discord? Es muy largo y interrumpe nuestro chat :neutral_face:

Por cierto, gracias por el trabajo de todos (de toda la comunidad), ¡como siempre!

Hubo un error así en el registro:

/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'

Solo cambié la URL del webhook de discord.com a discordapp.com y todo está bien :+1:

3 Me gusta

Mi motivación inicial para buscar una integración de Discourse con Discord era inyectar publicaciones marcadas en Discord para una notificación y revisión más rápidas entre un equipo de personas. El plugin estándar no lo soporta. Por lo tanto, la inyección de publicaciones marcadas en Discord ahora es compatible aquí.

Tenga en cuenta que probablemente exista una forma más idiomática de Ruby de hacer esto, y quizás on(:reviewable) debería usar una cola específica para elementos revisables, y pasar el booleano marcado es un poco un truco, y quizás haya otras cosas más genéricas que hacer con un elemento revisable, pero funciona para mis propósitos.

Proceda con precaución: no planeo intentar integrarlo en la rama principal ya que no tengo planes de apoyar nada más que Discord, ni tengo planes de dedicar más tiempo a ninguno de los otros problemas de mejora identificados anteriormente.

Termina viéndose así…

1 me gusta

Hola a todos.
El webhook con Discord funciona correctamente… excepto que el contenido del mensaje está vacío. El tema/respuesta de Discourse no se muestra en el servidor de Discord.

Si incluyo un ‘contenido del mensaje de chat integration discord’, esta parte se incluye bien.

Gracias.

Lo he conseguido, finalmente, a través de prueba y error. Para aquellos que vengan detrás de mí…

Estas instrucciones dicen:

:warning: NOTA: Si recibe un error al usar el webhook, asegúrese de que el nombre de dominio sea discordapp.com en lugar de discord.com.

Cuando copié mi webhook de Discord, estaba en el siguiente formato. https://discordapp.com/api/webhooks/xxx/yyy-zzz-aaa

por lo tanto, las instrucciones anteriores son coherentes con la url que proporciona Discord.

El problema surge al seguir las instrucciones. La configuración del plugin rechaza el esquema de url que está documentado y acepta el esquema de URL que está prohibido. Es como si faltara el “!” en algún lugar del código.

Afortunadamente, la url del webhook funciona cuando uso la segunda dirección, como se muestra en la captura de pantalla a continuación.

Así que algunas sugerencias que podrían aclarar este problema, para el próximo que no haga tantas pruebas y errores como yo:

  1. Actualizar el validador para que “discordapp.com” pase y “discord.com” falle.
  2. Actualizar el validador para que tanto “discordapp.com” como “discord.com” pasen.
  3. Actualizar la redacción de las instrucciones para que no contengan esa nota contradictoria.

Sugerencias adicionales,
en la configuración “Configurar Discourse”:
Paso 0: después de instalar el plugin, habilitar el plugin
paso 1: proporcionar una captura de pantalla
paso 3: proporcionar una captura de pantalla

Me preocupa un poco que Discord deje de admitir el esquema “incorrecto” que estoy utilizando actualmente, por lo que me gustaría que Discourse lo arreglara para no tener que usar la solución alternativa antes de que Discord rompa mi URL alternativa.