Slack¶
Integra tu código con Slack para enviar mensajes, archivos y más.
Instalación¶
Configuración del Token de API¶
Para utilizar este complemento, necesitas un token de API de Slack.
Sigue las instrucciones aquí para aprender cómo obtener un token de API.
Importar el complemento¶
Después de instalar este paquete, el siguiente paso es importar el paquete en tu código y comenzar a utilizar las funciones.
Enviar un mensaje simple¶
Aquí está la salida esperada:
Enviar un mensaje más elaborado¶
Puedes componer y enviar mensajes complejos con la clase Message
.
from botcity.plugins.slack import BotSlackPlugin
client = BotSlackPlugin(slack_token='<your_token>', channel='<channel_to_interact>')
message = Message(
text="A more elaborate message",
title="title test",
color=Color.RED
)
# Sets author
message.author = Author(author_name="Author test",
author_icon="https://placeimg.com/16/16/people",
author_link="http://flickr.com/bobby/")
# Sets thumb_url
message.thumb_url = "http://placekitten.com/g/200/200"
# Sets Footer
message.footer = Footer(footer="Footer test",
footer_icon="https://platform.slack-edge.com/img/default_application_icon.png")
# Sets fields
message.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
response_message = client.send_message(message=message)
Aquí está la salida esperada:
Actualizar un mensaje¶
Aquí está la salida esperada:
Recuperar mensajes¶
Novedad en la versión 0.1.1
Puedes recuperar mensajes basados en la marca de tiempo de cualquier mensaje obtenido a través de la respuesta del mensaje. También es posible responder a mensajes. Mira los ejemplos.
Responder a un mensaje¶
from botcity.plugins.slack import BotSlackPlugin
client = BotSlackPlugin(slack_token='<your_token>', channel='<channel_to_interact>')
response_message = client.send_simple_message(text="This is a test to reply the message in the thread")
reply = client.reply(response=client.get_replies(response_message),
msg="This is a reply to message")
Esperar nuevos mensajes¶
Usando "wait for reply", es posible esperar a que se reciba un mensaje. Este método sigue buscando respuestas hasta que las encuentra, dentro de un límite de tiempo determinado a través del parámetro "timeout".
from botcity.plugins.slack import BotSlackPlugin
client = BotSlackPlugin(slack_token='<your_token>', channel='<channel_to_interact>')
#Send message
response_message = client.send_simple_message(text="This is a test to retrieving messages in the thread")
# Waiting for someone to reply to the message sent earlier (In this case it was answered in the slack "Test Retrieving messages")
reply = client.wait_for_reply(response=response_message)
print(reply)
Aquí está la salida esperada:
Obtener respuestas y obtener respuestas de texto¶
Nada impide obtener las respuestas por separado. Si tienes la respuesta de uno o más mensajes.
from botcity.plugins.slack import BotSlackPlugin
client = BotSlackPlugin(slack_token='<your_token>', channel='<channel_to_interact>')
messages = client.get_replies(response_message)
message_text = client.get_text_replies(messages)
Note
Recuerda que 'response_message' se puede obtener a través del método 'send_message' y 'send_simple_message', que devuelve 'response_message'.
Subir un archivo¶
Aquí está la salida esperada:
Eliminar un mensaje¶
from botcity.plugins.slack import BotSlackPlugin
client = BotSlackPlugin(slack_token='<your_token>', channel='<channel_to_interact>')
#response_message = client.send_message(message=Message(....))
response_message = client.send_simple_message(text="text to delete")
client.delete_message(message=response_message)
Eliminar un archivo¶
from botcity.plugins.slack import BotSlackPlugin
client = BotSlackPlugin(slack_token='<your_token>', channel='<channel_to_interact>')
load_file_response = client.load_file(file="your-path-file", text_for_file="text for precedes file", title_for_file="the title of file")
client.delete_file(file=load_file_response)