Skip to main content

Python package for a Webex Bot based on websockets.

Project description

Introduction

Pypi Build Status

Pipeline

Python package for a Webex Bot based on websockets.

  • Uses the websocket module to receive incoming messages, thus avoiding the need to have a public IP for incoming webhooks.
  • Uses the webexteamssdk package to send back replies from the bot.

This is licensed under the MIT license.

Features

  • Receive incoming messages without having to run ngrok or similar.
  • Send replies based on your defined 'commands'.

Getting started

  1. Install this module:

pip install webex_bot

  1. On the Webex Developer portal, create a new bot token and expose it as an environment variable.
export WEBEX_TEAMS_ACCESS_TOKEN=<your bots token>
  1. Run the bot:
import os
from webex_bot.webex_bot import WebexBot

# Create a Bot Object
bot = WebexBot(teams_bot_token=os.getenv("WEBEX_TEAMS_ACCESS_TOKEN"))


def send_echo(message, teams_message):
    """
    Sample command function that just echos back the sent message
    :param message: message with command already stripped
    :param teams_message: teams_message object. Get more info about the message received from this. e.g.

        room_id = teams_message.roomId
        user_email = teams_message.personEmail
        raw_message = teams_message.text

    :return: a string. Or a List of strings. If you return a list of strings, each will be sent in
    an individual reply to the user.
    """
    return message


# Add new commands to the box.
bot.add_command("/echo", "Send me back the message I sent you as a demo.", send_echo)

bot.run()

See example.py

======= History

0.1.2 (2021-03-15)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webex_bot-0.1.2.tar.gz (14.8 kB view hashes)

Uploaded Source

Built Distribution

webex_bot-0.1.2-py2.py3-none-any.whl (9.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page