Configurer l'intégration Telegram avec le plugin discourse-chat-integration

Ce howto décrit comment configurer le fournisseur Telegram inclus dans discourse-chat-integration.

Activer le plugin

Le plugin discourse-chat-integration est fourni avec Discourse. Si ce n’est pas déjà fait, suivez les instructions principales du plugin pour l’activer.

Configuration de Telegram

  1. Parlez au Botfather de Telegram :robot: et configurez un nouveau bot. Instructions détaillées ici
  2. Assurez-vous de copier le jeton que le BotFather vous donne. Il ressemblera à ceci :
    110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
    

Configuration de Discourse

  1. Dans les paramètres de votre site, collez le jeton que vous avez obtenu précédemment dans le paramètre chat integration telegram access token, puis enregistrez-le.

  2. Activez le paramètre chat_integration_telegram_enabled, puis enregistrez-le.

  3. Allez dans l’onglet Plugins, puis Intégrations de chat

  4. Allez dans l’onglet Telegram

    • Note : si l’onglet Telegram n’est pas visible, cela signifie qu’une erreur s’est produite lors de la connexion à leur API. Vous devriez vérifier les journaux de votre site, puis réessayer en réactivant le paramètre chat_integration_telegram_enabled.

Ajout d’un canal

  1. Ajoutez votre bot à une discussion de groupe sur Telegram (ou démarrez simplement une discussion privée avec lui).

  2. Envoyez n’importe quel message au bot (ou dans le chat de groupe où le bot a été ajouté). Vous devriez recevoir un message avec l’ID du chat. Vous pouvez également envoyer un message commençant par /getchatid.

  3. Copiez l’ID du chat. S’il y a un signe moins avant, assurez-vous de l’inclure - c’est très important !

  4. Allez dans votre panneau d’administration Discourse, Plugins, Intégrations de chat, Telegram

  5. Cliquez sur Ajouter un canal

  6. Entrez un nom pour le canal (ceci n’est affiché que dans le panneau d’administration de Discourse, cela peut être n’importe quoi).

  7. Collez l’ID du chat d’auparavant dans la case, puis cliquez sur Enregistrer le canal.

  8. Utilisez le bouton Tester sur le canal que vous venez de créer pour vérifier que tout fonctionne. Vous devriez voir quelque chose comme ceci :

  9. Configurez des « Règles » pour votre canal, conformément aux instructions de discourse-chat-integration.

  10. Profitez de toutes les notifications :allthethings:

Utilisation dans un canal de diffusion

Pour envoyer des notifications à un canal de diffusion Telegram, ajoutez le bot comme administrateur du canal, puis envoyez le message

/getchatid

pour obtenir l’ID du chat. Suivez ensuite les instructions ci-dessus pour configurer sur Discourse. Pour les canaux publics, vous pouvez également utiliser le format @nomducanal (par exemple, @moncanaldeforum) au lieu de l’ID numérique du chat.

Dans un canal de diffusion, vous ne pouvez pas utiliser de commandes slash pour gérer les règles.

Commandes slash

Vous pouvez utiliser des « commandes slash » pour contrôler les règles depuis Telegram. Vérifiez que le paramètre de site chat integration telegram enable slash commands est activé. Notez que cela donne à toute personne pouvant publier dans le chat de groupe la permission de modifier les règles.

Pour apprendre à les utiliser, envoyez simplement /help (ou /help@mon-bot-forum si dans un chat de groupe) et le bot vous enverra un message d’aide.

Configuration de l’auto-complétion des commandes (non nécessaire, mais rend leur utilisation beaucoup plus facile)

  1. Parlez au BotFather de Telegram :robot:
  2. Sélectionnez votre bot, cliquez sur modifier le bot, puis sur modifier les commandes
  3. Copiez et collez cette liste de commandes
    watch - [category] [tag:name] | notifier ce canal pour les nouveaux sujets et les nouvelles réponses correspondant à la règle
    follow - [category] [tag:name] | notifier ce canal pour les nouveaux sujets correspondant à la règle
    mute - [category] [tag:name] | bloquer les notifications vers ce canal pour les messages correspondant à la règle
    remove - [numéro de règle] | supprimer une règle (voir /status pour les numéros)
    status - lister toutes les règles pour ce canal
    help - afficher un message d'aide
    
  4. Vous devriez recevoir un message de succès :slight_smile:

Autres personnalisations de bot

Parlez au BotFather de Telegram :robot: pour personnaliser le nom, la description et l’icône de votre bot. Vous devriez laisser la « Confidentialité de groupe » activée, sinon le bot essaiera de répondre à chaque message dans une discussion de groupe.

27 « J'aime »

Isn’t possible to allow users to subscribe to any public category? Without asking an admin to add their id to the whitelist?

1 « J'aime »

Not currently. It is possibly something that could be added (this is how Slack works), but given there is no concept of “organisations” on telegram, we would need to be careful that only public-facing categories are visible.

For per-user stuff you could try the telegram-notifications-plugin

1 « J'aime »

But that means two different bots :sweat_smile:
Anyway, thanks for such good plugins :+1:

1 « J'aime »

I’ve set it up, and it works with bot itself. However, when I set it up for public channel and try to test, an error “422 No Reason Phrase” occurs.
Could someone help me out?

Where does this error occur? In telegram, or in the “test” dialog in the Discourse admin panel?

Hi! I don’t see any submenu in the admin panel to manage Telegram settings

But i got my chat ID through the bot.

Hello,
Can you tell me what different Telegram notifications using the discourse-chat-integration plugin and Telegram Notifications Plugin (discourse-telegram-notifications)

Check the very top of this topic: Telegram Notifications Plugin (discourse-telegram-notifications) (the part with the :warning: next to it)

2 « J'aime »

Whenever users reply to the Telegram bot message, it keeps informing them of the current chat ID, telling them to configure something different on the admin panel.

I have the actual message in Portuguese:

Este chat está configurado WTTD Fórum. Configure-o no painel de administração. (ID do bate-papo:-1001093143218)

Google translated:

This chat is configured for WTTD Forum. Configure it in the administration panel. (Chat ID: -1001093143218)

It’s quite annoying.

Also, I’ve disabled chat integration telegram enable slash commands, but it still replies with the command list.

Is there a way to make the bot ignore any reply?

where can we Add the channel in discourse? we don’t find nothing… caht bot is active and we get also the Chat-ID, thanks in advance

1 « J'aime »

After enabling the telegram site settings, head to your admin panel, click “plugins” at the top, then “chat integration” on the left.

3 « J'aime »

Hello, i don’t know is it ok right now, but after setting up bot in admin and adding bot to channel nothing happened.

Did you try using the “test channel” button. Did you get any errors?

1 « J'aime »

test channel button works, but i expect ‘welcome’ message like in guide.

I’m not sure which guide you are talking about. The chat-integration plugin doesn’t send a welcome message.

Once you have configured the channel, you need to add some “rules”. Then, topics/posts you make on your discourse forum will appear in Telegram.

1 « J'aime »

Je parle de cette instruction.

1 « J'aime »

Ah, I see. Try sending a message in the group, including the bot’s username (like @myforumbot). Then it should respond with that message.

3 « J'aime »

I’ve configured everything successfully, except that whenever a new member leaves/adds into the telegram group which has the ‘chat integration bot’ as one of this groups member, I receive this msg in the telegram group:

New rule: /[watch|follow|mute] [category] [tag:name]
(you must specify a rule type and at least one category or tag)

  • watch – notify this channel for new topics and new replies
  • follow – notify this channel for new topics
  • mute – block notifications to this channel

Remove rule: /remove [rule number]
([rule number] can be found by running /status)

List rules: /status

Help: /help

This msg has started irritating every time a member is added or removed into/from the telegram group.
And if I create a telegram broadcast/channel and add the chat integration bot into that, this problem doesn’t arise therein.