Skip to content

peco2282/slack.py

Repository files navigation

PyPI PyPI - License PyPI - Downloads

An API wrapper with Slack written in Python.

Key feature

  • Modern Pythonic API using async and await.
  • API and interactive components of the platform by utilizing websockets.

Document for slack.py

How to install

⚠️ If you have slack_bolt installed, you cannot import this package. You may have file conflicts.

# stable
$ pip install wsslack.py

# latest
$ pip install git+https://github.com/peco2282/slack.py
import slack

client = slack.Client(
    user_token="...",
    bot_token="...",
    token="..."
)

@client.event
async def on_message(message: slack.Message):
    if message.content.startswith("!"):
        await message.channel.send("Hello.")

@client.event
async def on_channel_create(channel: slack.Channel):
    await channel.send("Hello!")


client.run()

on_message

on_message

on_channel_create

on_channel_create

Commands usage.

New style of messaging. If you use app with commands..

from slack import commands

bot = commands.Bot(..., prefix="!")

@bot.command(name="msg")
async def message(ctx: commands.Context, *args):
    await ctx.channel.send("message received!")

@bot.command()
async def ping(ctx: commands.Context, *args):
    await ctx.channel.send("pong!")

msg

ping