Créer un ChatBot dans Mattermost avec Python


  • Français


  • ChatOps est un modèle de collaboration qui connecte les personnes, les processus, les outils et l’automatisation dans un flux de travail transparent. Le plus important est une plate-forme de messagerie open source auto-hébergée qui permet aux organisations de communiquer de manière sécurisée, efficace et efficiente. C’est une excellente alternative open source à Slack, Discord et à d’autres plates-formes de messagerie propriétaires. Cet article décrit les étapes pour créer un bot ChatOps sur Mattermost, y compris les exemples de code et les explications nécessaires.

    Conditions préalables

    Avant de commencer, assurez-vous que vous avez accès à un serveur Mattermost, que Python est installé et que vous avez installé le pilote Mattermost Python à l’aide de pip.

    Créer un compte bot sur Mattermost

    Pour créer un compte de bot, accédez à la console système Mattermost et ajoutez un compte de bot avec les autorisations d’accès appropriées. Récupérez le nom d’utilisateur et le mot de passe du bot à utiliser dans le script Python.

    Configurer le pilote Mattermost Python

    Installez le pilote Mattermost Python en utilisant pip, et importez-le dans le script Python. Créez une nouvelle instance de pilote et connectez-vous au serveur Mattermost.

    Créer le bot ChatOps en Python

    Créez un nouveau script Python, définissez les bibliothèques nécessaires à importer et implémentez les fonctionnalités du bot à l’aide de l’API du pilote Mattermost. Écrivez du code pour gérer les messages, les commandes et d’autres événements, et utilisez les méthodes API du pilote Mattermost pour envoyer des messages et des notifications aux canaux et aux utilisateurs. Enfin, déboguez et testez le bot ChatOps.

    Exemple de code de bot ChatOps

    Voici un exemple de code Python pour un simple bot ChatOps qui répond au message d’un utilisateur :

    from mattermostdriver import Driver
    
    bot_username="bot_username"
    bot_password = 'bot_password'
    server_url="https://your.mattermost.server.url"
    
    def main():
        driver = Driver({'url': server_url, 'login_id': bot_username, 'password': bot_password, 'scheme': 'https'})
        driver.login()
        team = driver.teams.get_team_by_name('team_name')
        channel = driver.channels.get_channel_by_name(team['id'], 'channel_name')
    
        @driver.on('message')
        def handle_message(post, **kwargs):
            if post['message'] == 'hello':
                driver.posts.create_post({
                    'channel_id': post['channel_id'],
                    'message': 'Hi there!'
                })
    
        driver.init_websocket()
    
    if __name__ == '__main__':
        main()

    Ajouter des fonctionnalités

    Une fois que vous avez créé un bot ChatOps de base sur Mattermost, vous pouvez ajouter plus de fonctionnalités pour étendre ses fonctionnalités. Voici les étapes :

    1. Déterminez la fonctionnalité que vous souhaitez ajouter: Avant d’écrire le code, vous devez déterminer la fonctionnalité à ajouter à votre bot ChatOps. Cela peut aller de l’envoi de notifications à l’intégration avec des outils tiers.

    2. Écrivez le code: Une fois que vous avez déterminé la fonctionnalité que vous souhaitez ajouter, vous pouvez commencer à écrire le code. Le code dépendra de la fonctionnalité que vous ajoutez, mais vous pouvez utiliser le pilote Mattermost Python pour interagir avec l’API Mattermost et implémenter la fonctionnalité.

    3. Testez le code: Après avoir écrit le code, il est important de le tester pour s’assurer qu’il fonctionne comme prévu. Avant de le déployer sur votre serveur de production, vous pouvez tester le code sur un serveur de développement ou dans un canal de test.

    4. Déployer le code: Une fois que vous l’avez testé et qu’il fonctionne comme prévu, vous pouvez le déployer sur votre serveur de production. Suivez le processus de déploiement de votre organisation et assurez-vous que le nouveau code n’interrompt aucune fonctionnalité existante.

    5. Documenter la nouvelle fonctionnalité: Il est important de documenter la nouvelle fonctionnalité que vous avez ajoutée à votre bot ChatOps. Cela permettra aux autres membres de l’équipe d’utiliser plus facilement le bot et de comprendre ses capacités.

    Un exemple de fonctionnalité ChatOps Bot pourrait être l’intégration à un outil tiers et la fourniture de mises à jour de statut sur certaines tâches.

    from mattermostdriver import Driver
    import requests
    
    bot_username="bot_username"
    bot_password = 'bot_password'
    server_url="https://your.mattermost.server.url"
    
    def main():
        driver = Driver({'url': server_url, 'login_id': bot_username, 'password': bot_password, 'scheme': 'https'})
        driver.login()
        team = driver.teams.get_team_by_name('team_name')
        channel = driver.channels.get_channel_by_name(team['id'], 'channel_name')
    
        @driver.on('message')
        def handle_message(post, **kwargs):
            if post['message'] == 'status':
                # Make a request to the third-party tool API to get the status
                response = requests.get('https://api.thirdpartytool.com/status')
                if response.status_code == 200:
                    status = response.json()['status']
                    driver.posts.create_post({
                        'channel_id': post['channel_id'],
                        'message': f'The status is {status}'
                    })
                else:
                    driver.posts.create_post({
                        'channel_id': post['channel_id'],
                        'message': 'Failed to get status'
                    })
    
        driver.init_websocket()
    
    if __name__ == '__main__':
        main()

    Dans cet exemple, le bot ChatOps écoute la commande “status” et fait une demande à une API d’outil tiers pour obtenir le statut actuel. Il publie ensuite la mise à jour du statut dans le canal Mattermost où la commande a été émise. Cela permet aux membres de l’équipe d’obtenir rapidement des mises à jour sur l’état de la tâche sans avoir à quitter la plateforme de chat.

    ChatOps open source

    En résumé, la création d’un bot ChatOps sur Mattermost est un processus simple qui peut apporter de nombreux avantages à la communication et au flux de travail de votre organisation. Cet article a fourni une ventilation étape par étape et des exemples de code pour vous aider à démarrer la création de votre bot et même à le personnaliser en ajoutant de nouvelles fonctionnalités. Maintenant que vous connaissez les bases, vous pouvez explorer davantage ChatOps et Mattermost pour optimiser la collaboration et la productivité de votre équipe.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code