Slack¶
Integre seu código com Slack para enviar mensagens, arquivos e muito mais.
Instalação¶
Configurando o token da API¶
Para usar este plugin, você precisa de um token da API Slack.
Siga as instruções aqui para aprender a obter um token da API.
Importando o plugin¶
Depois de instalar este pacote, a próxima etapa é importar o pacote para o seu código e começar a usar as funções.
Enviando uma mensagem simples¶
Aqui está a saída esperada:
Envie uma mensagem mais elaborada¶
Você pode compor e enviar mensagens complexas com a classe Message
.
from botcity.plugins.slack import BotSlackPlugin
cliente = BotSlackPlugin(slack_token='<SEU_TOKEN>', channel='<CANAL_PARA_INTERACAO>')
mensagem = Message(
text="A more elaborate message",
title="title test",
color=Color.RED
)
# Sets author
mensagem.author = Author(author_name="Author test",
author_icon="https://placeimg.com/16/16/people",
author_link="http://flickr.com/bobby/")
# Sets thumb_url
mensagem.thumb_url = "http://placekitten.com/g/200/200"
# Sets Footer
mensagem.footer = Footer(footer="Footer test",
footer_icon="https://platform.slack-edge.com/img/default_application_icon.png")
# Sets fields
mensagem.fields = [Field(title="Field test", value="values test", short=False),
Field(title="Field test 2", value="values test 2", short=True),
Field(title="Field test 3", value="values test 3", short=True)]
#Send message
mensagem_de_resposta = cliente.send_message(message=mensagem)
Aqui está a saída esperada:
Atualizando uma mensagem¶
Aqui está a saída esperada:
Recuperando mensagens¶
New in version 0.1.1
Você pode recuperar mensagens com base no registro de data e hora de qualquer mensagem obtida por meio da resposta da mensagem. E também é possível responder às mensagens. Veja os exemplos.
Respondendo uma mensagem¶
from botcity.plugins.slack import BotSlackPlugin
cliente = BotSlackPlugin(slack_token='<SEU_TOKEN>', channel='<CANAL_PARA_INTERACAO>')
mensagem_de_resposta = cliente.send_simple_message(text="This is a test to reply the message in the thread")
resposta = cliente.reply(response=cliente.get_replies(mensagem_de_resposta),
msg="This is a reply to message")
Aguardando novas mensagens¶
Usando o método wait for reply
, é possível esperar que uma mensagem seja recebida. Este método continua procurando respostas até encontrá-las, dentro de um limite de tempo determinado através do parâmetro timeout
.
from botcity.plugins.slack import BotSlackPlugin
cliente = BotSlackPlugin(slack_token='<SEU_TOKEN>', channel='<CANAL_PARA_INTERACAO>')
# Enviar mensagem
mensagem_de_resposta = client.send_simple_message(text="This is a test to retrieving messages in the thread")
# Esperando que alguém responda à mensagem enviada anteriormente (neste caso, ela foi respondida no Slack "Test Retrieving Mensagens")
resposta = cliente.wait_for_reply(response=mensagem_de_resposta)
print(resposta)
Aqui está a saída esperada:
Obter respostas e obter respostas de texto¶
Nada impede de obter as respostas separadamente também. Se você tiver a resposta de uma ou mais mensagens.
!!!observação
Lembrando que mensagem_de_resposta
pode ser obtido pelo método send_ message
e send_simple_message
, que retorna mensagem_de_resposta
.
Carregando um arquivo¶
Aqui está a saída esperada:
Excluindo uma mensagem¶
from botcity.plugins.slack import BotSlackPlugin
cliente = BotSlackPlugin(slack_token='<SEU_TOKEN>', channel='<CANAL_PARA_INTERACAO>')
#response_message = client.send_message(message=Message(....))
mensagem_de_resposta = cliente.send_simple_message(text="text to delete")
cliente.delete_message(message=mensagem_de_resposta)
Excluindo um arquivo¶
from botcity.plugins.slack import BotSlackPlugin
cliente = BotSlackPlugin(slack_token='<SEU_TOKEN>', channel='<CANAL_PARA_INTERACAO>')
carrega_arquivo_resposta = cliente.load_file(file="your-path-file", text_for_file="text for precedes file", title_for_file="the title of file")
cliente.delete_file(file=carrega_arquivo_resposta)