Webex-Teams-Interactive-Bot
Basic interactive bot for Webex Teams.
Webex Teams bots
Bots are similar to regular Webex Teams users. They can participate in 1-to-1 and group spaces and users can message them directly or add them to a group space. A special badge is added to a bot's avatar in the Webex Teams clients so users know they're interacting with a bot instead of a human.
A bot can only access messages sent to it directly. In group spaces, bots must be @mentioned to access the message. In 1-to-1 spaces, a bot has access to all messages from the user.
Bots do not, however, perform actions within Webex Teams on behalf of a Webex Teams user.
More information about bots
Getting started
Creating a Virtual env and install the required packages.
Run the commands below to create a virtual environment and activate it. Commands might slightly differ depending of your OS. Commands below are for Unix kernerls.
python -m venv venv
source ./venv/bin/activate
Then, install the required packages
pip install -r requirements.txt
ngrok
If you run the bot directly on your computer, you can use ngrok to make it publicly accessible via a public URL.
Sart ngrok on port 8080.
./ngrok http 8080
Launching the bot
Then, execute the ./core/main.py
file.
Capabilities
Capabilities of the bot are listed in the ./core/bot_capabilities.py
file.
Webhooks tools
Webex Teams webhooks
A webhook is an HTTP callback, or an HTTP POST, to a specified URL that notifies your app when a particular activity or “event” has occurred in one of your resources on the Webex Teams platform. The benefit of using webhooks is that they allow your application to receive real-time data from Webex Teams, so you can keep up with the state of your resources (i.e. rooms, messages, memberships, etc.).
More information about Webex Teams wehbooks
post_webhooks.py
Post Webhooks for when my bot is mentioned, and when my bot is added to a new room.
- mentioned will be sent to
{URL}/newmessage
- mentioned will be sent to
{URL}/newroom
Usage: python post_webhooks.py [-h] -t TOKEN -u URL
To avoid errors, if the URL giving as a parameter ends with a "/", removes it.
delete_webhooks.py
Deletes all active webhooks for a specific Webex Teams token.
Usage: delete_webhooks.py [-h] -t TOKEN
function.py
Set of functions used by the files in this folder.
Editing the variables
Don't forget to edit the ./core/variables.py
file with your bot token.
Examples
Interfaces configuration data
Listing the interfaces with their configuration data.
