Try   HackMD

Automate the Boring Stuff with Slackbot(ver.2) - Takanori Suzuki

歡迎來到 PyCon TW 2023 共筆

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

共筆入口:https://hackmd.io/@pycontw/2023
手機版請點選上方 按鈕展開議程列表。
Welcome to PyCon TW 2023 Collaborative Writing
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Collaborative Writing Workplace:https://hackmd.io/@pycontw/2023
Using mobile please tap to unfold the agenda.

Collaborative writing start from below
從這裡開始共筆

Slide

Why Slack?

Slack Website

Slack Bolt

https://slack.dev/bolt-python/concepts

Q&A

What is the best Practice for complex code structures?

A: You should write a decorator function inside of enable_plugin function.

see also: https://github.com/pyconjp/pyconjpbot2/blob/2c6ca60d86af715837b1c73e786de800014f02b2/plugins/calc.py#L15-L22

def enable_plugin(app: App) -> None:
    @app.message(compile(r"^(([-+*/^%!(),.\d\s]|pi|e|sqrt|sin|cos|tan|log)+)$"))
    def calc(message: dict, say: Say) -> None:
        """
        Calculate a string like a formula and return the result
        """

Below is the part that speaker updated the talk/tutorial after speech
講者於演講後有更新或勘誤投影片的部份