Kit de construction pour bot Discord đŸ€–

DĂ©solĂ©, langage de forum Ă  l’ancienne, Threads Ă©tant des sujets Discourse et non les Threads Discord.

Je suis heureux de payer pour des fonctionnalitĂ©s personnalisĂ©es, mais je pense avoir trouvĂ© une solution de contournement en dĂ©plaçant simplement le sujet aprĂšs sa crĂ©ation :thinking: j’ai l’impression que c’était trop simple

Les Threads Discord existaient il y a 2 ans ? mince, je vieillis :laughing: je perds la notion du temps

Mais oui, je me demande s’il serait facile d’ajouter la prise en charge des images et des mentions :thinking: ?

Donnez-moi un devis :wink:

image


1 « J'aime »

Oui, continuez cette conversation ici sur Discourse !

J’implĂ©mente Ă©galement ce plugin pour la synchronisation avec un serveur Discord !

Est-ce que cela signifie que les rĂŽles sur Discord sont copiĂ©s dans Discourse ? Ou vice versa ? En fin de compte, il serait prĂ©fĂ©rable d’autoriser les deux options de toute façon.

1 « J'aime »

Au plaisir de recevoir votre PR

1 « J'aime »

Comme le mien ? PR ? Quel PR ?

@merefield Salut ! Excellent travail lĂ -dessus. Comme beaucoup, j’imagine, j’ai trouvĂ© ce post en cherchant des plugins ou des bots qui peuvent faire le pont entre Discourse et Discord d’une maniĂšre ou d’une autre.

À ce stade, j’étais sur le point d’abandonner et d’engager un dĂ©veloppeur pour s’en occuper pour moi, mais je crois en l’open source et je suis reconnaissant d’ĂȘtre tombĂ© sur ce sujet en premier.

Sur l’une des communautĂ©s Discord que j’aide Ă  modĂ©rer, il existe plusieurs bibliothĂšques de diffĂ©rents auteurs dont les communautĂ©s se chevauchent et qui utilisent donc ce Discord et le canal pertinent pour le support technique de cette bibliothĂšque.

La solution idéale pour le SEO, la création de bases de connaissances et la commodité serait que tout le monde utilise un forum Discourse, mais à égalité, les gens préfÚrent simplement poser leurs questions sur Discord et la partie qui répond se retrouve à trouver une solution manuelle pour reproduire cette conversation dans Discourse.

Dans un effort pour lutter contre cette inefficacitĂ© sans imposer une mauvaise expĂ©rience utilisateur Ă  l’utilisateur (par exemple, “Bienvenue sur Discord, maintenant utilise Discourse et rĂ©pĂšte la mĂȘme question”), j’aimerais que le commentaire principal de chaque canal de bibliothĂšque ait la possibilitĂ© de gĂ©nĂ©rer automatiquement un nouveau sujet dans le forum Discourse. Cela deviendrait rapidement du spam, donc je voudrais que cela ne soit dĂ©clenchĂ© que si :

  1. cela se transforme en fil de discussion (impliquant que c’était une question Ă  laquelle on a rĂ©ellement rĂ©pondu)

  2. il a été répondu avec un emoji choisi par un rÎle autorisé (support technique, modérateur, administrateur, etc.)

À partir de lĂ , les commentaires de suivi dans ce fil de discussion Discord seraient automatiquement suivis et publiĂ©s comme rĂ©ponses sur le mĂȘme sujet Discourse parent. (Note : Il n’est pas important que des comptes d’utilisateurs existent - l’envoi en tant que “systĂšme” ou un bot dĂ©signĂ© serait acceptable, tant qu’il mentionne le nom d’utilisateur d’origine dans le corps des messages)

Sur la base de ces exigences, j’ai quelques questions :

  1. le bot en question dans ce sujet est-il prĂȘt pour cela ?

  2. Si non, quelles parties ne sont pas prĂȘtes ou pas encore prĂ©vues ? (Je vois que les fils de discussion sont quelque chose “en cours”, mais s’il s’agit d’une question de prioritĂ©s financiĂšres, je peux poster une belle prime pour que cela devienne une rĂ©alitĂ©)

  3. S’il faut poster ladite prime pour le dĂ©veloppement, quelle est la mĂ©thode de commission appropriĂ©e ? Quelles sont les exigences et les attentes (coĂ»ts, dĂ©lais, etc.) ?

J’apprĂ©cie le travail que vous (et tout le monde !) avez fait jusqu’à prĂ©sent et j’attends votre rĂ©ponse rapide.

~carrot

Salut @carrotcypher,

Ce plugin gratuit est maintenu par moi-mĂȘme (dans le cadre de Pavilion) sur la base du meilleur effort possible.

Il n’y a pas de feuille de route et le travail sur les fonctionnalitĂ©s n’a lieu que lorsqu’il y a un sponsor extĂ©rieur.

Votre cas d’utilisation est intĂ©ressant.

Ce « bot » repose sur ce gem Ruby qui est une dépendance critique.

Cela ne prend pas encore en charge le multithreading dans une version officielle, bien qu’il semble qu’un certain support ait Ă©tĂ© ajoutĂ© Ă  la branche principale, mais je ne suis pas sĂ»r de l’étendue. Ce serait un travail en soi de le dĂ©couvrir et peut-ĂȘtre d’en discuter avec eux s’ils prĂ©voient une version Ă  un moment donnĂ©. Leur documentation n’est mise Ă  jour qu’à chaque version. Il ne suffit pas d’avoir un support sur la branche principale, ils doivent mettre Ă  jour le gem, idĂ©alement.

Si vous ĂȘtes sĂ©rieux au sujet de ce projet, je vous recommande d’en discuter d’abord avec l’équipe de gestion de projet de Pavilion, bien que vous soyez libre de poster dans Marketplace bien sĂ»r.

Allez ici et cliquez sur contact et suivez les instructions : https://pavilion.tech/solutions/

1 « J'aime »

@merefield Salut, j’ai installĂ© le plugin mais je n’arrive pas Ă  faire en sorte que le bot rĂ©ponde aux commandes sur mon serveur.
Il affiche correctement le message « The Discourse admin bot has started his shift! », mais aprÚs cela, il ne réagit à rien.

Étrangement, cela fonctionne lorsque je lui envoie un message direct sur Discord. J’ai vĂ©rifiĂ© les autorisations sur le serveur et elles semblent ĂȘtre configurĂ©es correctement (j’ai donnĂ© au bot les autorisations d’administrateur).

Bizarre, je l’ai vĂ©rifiĂ© sur la toute derniĂšre version de Discourse et ça fonctionne.

Que se passe-t-il lorsque vous tapez Ping! sur Discord (les majuscules sont importantes) ?

VĂ©rifiez vos journaux, voyez-vous des messages d’erreur ?

il ne réagit pas à Ping ! (mais cela fonctionne dans les messages directs)

logs

Il a du mal avec le jeton dans votre configuration d’une maniùre ou d’une autre.

Avez-vous mis des caractĂšres Ă©tranges dedans ou ne l’avez-vous pas saisi du tout ?

image

J’ai abandonnĂ©. Je ne pense pas que ce soit le bon outil pour mon cas d’utilisation de toute façon.
Je ne sais pas pourquoi ça n’a pas fonctionnĂ©. J’ai tout fait avec soin, plusieurs fois.
Peut-ĂȘtre que Discord agit bizarrement ?
Quoi qu’il en soit, merci d’avoir essayĂ© de m’aider.

1 « J'aime »

Qu’essayiez-vous de faire fonctionnellement ?

Oui, bonne solution, et la commande requise est la suivante :

::DiscordBot::Bot.discord_bot.stop

Cela arrĂȘtera le bot supplĂ©mentaire dans la session de la console Rails et laissera le serveur principal actuel en cours d’exĂ©cution.

@satonotdead, vous pourriez aimer cette solution.

J’ai ajoutĂ© ces informations Ă  l’OP.

2 « J'aime »

DĂ©solĂ©, en relisant les publications ici, j’ai remarquĂ© que je vous avais donnĂ© des conseils incorrects et j’ai depuis implĂ©mentĂ© des hooks qui rĂ©pondent aux Ă©vĂ©nements Discourse qui peuvent agir sur Discord. Certains d’entre eux pourraient dĂ©jĂ  vous ĂȘtre utiles et cette technique peut ĂȘtre Ă©tendue Ă  d’autres Ă©vĂ©nements :

1 « J'aime »

Avec mes remerciements Ă  mon sponsor et pour l’aide supplĂ©mentaire de @RGJ, voici quelques mises Ă  jour importantes :

  • FONCTIONNALITÉ ; Ajoute la possibilitĂ© de copier facilement des fils Discord discrets vers Discourse, en Ă©tendant et en amĂ©liorant la commande existante !disccopy
  • AMÉLIORATION : Met Ă  jour le plugin avec le dernier code discordrb (3.5.0)
  • FONCTIONNALITÉ : Ajoute la prise en charge multisite (merci @RGJ !!)
  • FONCTIONNALITÉ : RedĂ©marre le thread du bot si le jeton est modifiĂ© ou s’il devient activĂ© (vous n’avez donc pas besoin de redĂ©marrer le serveur hĂŽte) (merci encore @RGJ !!)

@klausagnoletti, @Fma965 avec cette mise Ă  jour de l’API, nous avons enfin la possibilitĂ© d’interagir avec les fils Discord via l’API, qui sont essentiellement des “canaux” supplĂ©mentaires.

2 « J'aime »

Ah, enfin !

Une vĂ©rification fonctionnelle pour empĂȘcher le bot de se lancer Ă  des moments inappropriĂ©s du processus* !

Vous ne lancerez plus de nouveau bot lorsque :

  • migrer les modifications de la base de donnĂ©es
  • ouvrir la console Rails (il n’est donc plus nĂ©cessaire de l’arrĂȘter).

En consĂ©quence, le bavardage du bot de reconstruction est rĂ©duit d’au moins 50 %, il ne devrait donc plus s’annoncer que deux fois :sweat_smile:

Faites-moi savoir si vous rencontrez des problĂšmes avec ce dernier changement.

Crédit à @RGJ pour la suggestion ! :pray:

*la plupart du temps ! :slight_smile:

1 « J'aime »

Juste pour dire que j’ai rĂ©cemment :

  • CORRECTION : synchronisation automatique des messages Discord -> Discourse qui Ă©tait apparemment cassĂ©e depuis la derniĂšre mise Ă  jour !
  • NOUVELLE FONCTIONNALITÉ : Ajout d’un niveau de prise en charge de la synchronisation automatique des intĂ©grations Discord.

Profitez-en !

Salut, bon travail sur le script ! Merci de l’avoir créé. J’avais quelques questions
 Ă  quelle frĂ©quence le bot synchronise-t-il les membres dans les rĂŽles ? Je viens de configurer Discourse et c’était l’un des premiers plugins que j’ai installĂ©s. J’ai créé un groupe sur www, je me suis ajoutĂ© et si je tape manuellement !discsync, cela ajoute correctement le tag Discord Ă  mon nom. Maintenant, si je me retire du groupe sur www, ou si j’ajoute quelqu’un d’autre
 rien ne se passe Ă  moins que je ne tape manuellement !discsync sur Discord. Est-ce comme prĂ©vu ou devrait-il se synchroniser toutes les quelques minutes, toutes les 10 minutes ?

C’est manuel.

Vous pourriez regarder ce fork : Discord Sync: sync a Discourse forum with a Discord server mais il n’est pas maintenu et je crois qu’il est cassĂ© (j’ai aussi demandĂ© Ă  cette personne de faire un PR, mais bon !).

N’hĂ©sitez pas Ă  faire un PR pour une solution plus automatisĂ©e ou vous pouvez m’embaucher pour y travailler, ou Marketplace

C’est une « boĂźte Ă  outils » aprĂšs tout :slight_smile: