slack.io.requests
- Requests implementation¶
Examples¶
Query¶
import os
import sys
import pprint
import logging
import requests
import slack
from slack.io.requests import SlackAPI
logging.basicConfig(level=logging.INFO)
LOG = logging.getLogger(__name__)
def query(client):
data = client.query(slack.methods.AUTH_TEST)
pprint.pprint(data)
if __name__ == "__main__":
if len(sys.argv) > 1:
TOKEN = sys.argv[1]
else:
TOKEN = os.environ.get("SLACK_TOKEN")
if not TOKEN:
raise ValueError("No slack token provided !")
session = requests.session()
slack_client = SlackAPI(token=TOKEN, session=session)
query(slack_client)
Iterate¶
import os
import sys
import pprint
import logging
import requests
import slack
from slack.io.requests import SlackAPI
logging.basicConfig(level=logging.INFO)
LOG = logging.getLogger(__name__)
def iterate(client):
for channel in client.iter(slack.methods.CHANNELS_LIST, limit=2):
pprint.pprint(channel)
if __name__ == "__main__":
if len(sys.argv) > 1:
TOKEN = sys.argv[1]
else:
TOKEN = os.environ.get("SLACK_TOKEN")
if not TOKEN:
raise ValueError("No slack token provided !")
session = requests.session()
slack_client = SlackAPI(token=TOKEN, session=session)
iterate(slack_client)
RTM¶
import os
import sys
import pprint
import logging
import requests
import slack
from slack.events import Message
from slack.io.requests import SlackAPI
logging.basicConfig(level=logging.INFO)
LOG = logging.getLogger(__name__)
def rtm(client):
for event in client.rtm():
pprint.pprint(event)
if isinstance(event, Message):
respond_to_message(event, client)
def respond_to_message(message, client):
response = message.response()
response["text"] = "Hello world !"
client.query(slack.methods.CHAT_POST_MESSAGE, data=response.serialize())
if __name__ == "__main__":
if len(sys.argv) > 1:
TOKEN = sys.argv[1]
else:
TOKEN = os.environ.get("SLACK_TOKEN")
if not TOKEN:
raise ValueError("No slack token provided !")
session = requests.session()
slack_client = SlackAPI(token=TOKEN, session=session)
rtm(slack_client)