def post_message(self, channel_id, message, **kwargs):
        """
        Send a message using the slack Event API.

        Event messages should be used for more complex messages. See
        https://api.slack.com/methods/chat.postMessage for details on arguments can be included
        with your message.

        When using the post_message API, to have your message look like it's sent from your bot
        you'll need to include the `as_user` kwarg. Example of how to do this:
            server.slack.post_message(msg['channel'], 'My message', as_user=server.slack.username)
        """
        params = {
            "post_data": {
                "text": message,
                "channel": channel_id,
            }
        }
        params["post_data"].update(kwargs)

        return self.api_call("chat.postMessage", **params)
Send a message using the slack Event API.

        Event messages should be used for more complex messages. See
        https://api.slack.com/methods/chat.postMessage for details on arguments can be included
        with your message.

        When using the post_message API, to have your message look like it's sent from your bot
        you'll need to include the `as_user` kwarg. Example of how to do this:
            server.slack.post_message(msg['channel'], 'My message', as_user=server.slack.username)