Add support for "sub apps"
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece revisando as APIs de composição de slack_bolt.App e slack_bolt.async_app.AsyncApp e, em seguida, leia a solução alternativa descrita no issue #236. Compare o comportamento solicitado de add_app com include_router do FastAPI e add_typer do Typer. O trabalho estará concluído quando subapps ou plugins definidos de forma independente puderem ser anexados a ambas as variantes de app sem passar manualmente o app pai nem invocar decorators diretamente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When creating a large slack application it would be nice to be able to reuse components in a more pythonic way than what is possible right now.
A workaround is described in issue #236, but it requires passing the app object around and manually wiring up things by registering and calling decorators as functions directly.
I suggest adding a feature much like include_router in FastAPI or add_typer in Typer.
This feature will let us create sub-apps in separate files or even separate packages, like plugins that can be published on pypi.org separately.
Here is a small example illustrating what I mean:
main.py
Here is our main app, where we add a plugin from a separate package
import os
from slack_bolt import App
from my_plugin import my_plugin
# Initializes your app with your bot token and signing secret
app = App(
token=os.environ.get("SLACK_BOT_TOKEN"),
signing_secret=os.environ.get("SLACK_SIGNING_SECRET")
)
app.add_app(my_plugin)
my_plugin.py
A simple plugin that just creates a slack_bolt app, but without any config
from slack_bolt import App
my_plugin = App()
@my_plugin.message("hello")
def message_hello(message, say):
say("Hello world")
Category
- slack_bolt.App and/or its core components
- slack_bolt.async_app.AsyncApp and/or its core components
- Adapters in slack_bolt.adapter
- Others
- Linguagem predominante
- Python
- Estrelas
- 1.3k
- Forks
- 288
- Merge médio
- 1d 8h
- PRs com merge (30d)
- 10
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de slackapi/bolt-python
-
docs enhancement server-side
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
slackapi/bolt-python#1576 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
auto-triage-skip bug security semver:major
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
slackapi/bolt-python#1447 · 9 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
slackapi/bolt-python#1577 ·
Mantenedores costumam responder em até 1 dia
-
area:async auto-triage-skip dependencies
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
slackapi/bolt-python#1472 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Enhancement: Assistant should inherit global middleware for security and consistencyTalvez livre de novo @hello-ashleyintech assumiu há 415 dias e não há nenhum pull request aberto. Abertaauto-triage-skip enhancement
slackapi/bolt-python#1346 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de slackapi/bolt-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
gradio-app/gradio#13895 ·
Mantenedores costumam responder em até 1 dia
-
build-error
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
spack/spack-packages#6713 ·
Mantenedores costumam responder em até 1 dia
-
Use issue templatesAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
ActivityWatch/activitywatch#1464 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
[Bug]: The ckg tool drops the return type of every decorated Python method in class search resultsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
bytedance/trae-agent#483 ·
Mantenedores costumam responder em até 1 dia