Python package for a Webex Bot based on websockets.
Project description
Introduction
By using this module, you can create a Webex bot extremely quickly in just a couple of lines of code.
Some other packages require you to set up an ngrok tunnel to receive incoming messages when behind a firewall or inside a LAN. This package instead uses a websocket to receive messages from the Webex cloud.
Features
- Uses the websockets module to receive incoming messages, thus avoiding the need to have a public IP or use incoming webhooks.
- Simply add 'commands' which are just strings which instruct the bot to perform some action and reply with some result.
- Allows for single or multi-post responses. This is useful if you want to reply with a lot of data, but it won't all fit in a single response.
- Uses the webexteamssdk package to send back replies from the bot.
Getting started
- Install this module from pypi:
pip install webex_bot
- 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>
- Run your script:
python example.py
See example.py for details:
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 for the bot to listen out for.
# bot.add_command(command, help_message, function_to_call)
bot.add_command("/echo", "Send me back the message I sent you as a demo.", send_echo)
# Call `run` for the bot to wait for incoming messages.
bot.run()
- Now, just interact 1-1 with the bot. Send it a message with the text:
/echo hello there
and you will see the reply.
History
0.1.2 (2021-03-15)
- First release on PyPI.
0.1.3 (2021-03-23)
- Better retry on websocket connection failure
- Added support for approved domains
- Other cleanup
Project details
Release history Release notifications | RSS feed
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.3.tar.gz
(15.7 kB
view details)
Built Distribution
File details
Details for the file webex_bot-0.1.3.tar.gz
.
File metadata
- Download URL: webex_bot-0.1.3.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93617a0fe4fbefc9ed6cc054c19ee8273b25e819d0e199fc462531d475f2ac8b |
|
MD5 | c25430d31c8cf938115d52433a976bfc |
|
BLAKE2b-256 | fa5d00e10a3636511de8579e7e4563caf379b9664be3f4632d8bda26c40ca5d6 |
File details
Details for the file webex_bot-0.1.3-py2.py3-none-any.whl
.
File metadata
- Download URL: webex_bot-0.1.3-py2.py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d1eeab88066c10b6656938835051b2975eee40dbc3ecc14ddfdbf2c5b91113c |
|
MD5 | 09ed709292132255b1e0311fe7559373 |
|
BLAKE2b-256 | bdaa5982be611db0dc7d88e600444f4649c20ceb65963419cc2be337c1701cc5 |