Slackäøć§ć”ćć»ć¼ćøćéćććććććØć«Botćä½ććć®å¦ēććććØććććØćå®ē¾ććć¢ć¼ćććÆćć£ć«ćÆä½ēØ®é”ćååØćć¾ćć
ć©ććććØćć«ć©ć®ć¢ć¼ćććÆćć£ćę”ēØććć°ćććććć®ć”ćŖćććØćć”ćŖććć使ćęć«ć¤ćć¦ē“¹ä»ćć¾ćć
Events API
Slackć§(ćććććęå®ćć)ē¹å®ć®ć¤ćć³ććēŗēćććØć(Botå“ć®)URLć«webhookćēŗēćć¾ććććć£ć³ćć«å ć§ć®ēŗčØćććBotćøć®mentionćć®ććć«ćę¾ćććć¤ćć³ććÆéøć¶ććØćć§ćć¾ćććććć£ć¦ćSlackäøć®ć¤ćć³ćć®ćććććć®ćwebhookćććććć§ćÆćŖćć欲ćććć®ć«(ććēØåŗ¦)ēµć£ć¦éäæ”ććććććBotå“ć«ćØć£ć¦ćÆććēØåŗ¦åŖććä»ēµćæć«ćŖć£ć¦ćć¾ćć
ćć®ę§č³ŖäøćSlackććwebhookćåććURLćē»é²ććåæ č¦ćććć¾ćććć®ćććAWSć§ććAPI Gateway + Lambdać®ćććŖå°ććę§ęć§ä½æććØčÆćććććŖćØęćć¾ćć(ēµęēć«Botćåøøé§ćććć大ęµć®å “åćÆć³ć¹ććęććććć)
ćć®ä»ēµćæć®ć”ćŖćć
Botå“ć®ćŖć½ć¼ć¹ę¶č²»ćęćććć
åæ
č¦ćŖć¤ćć³ćć«ēµć£ć¦Slackććéäæ”ćč”ććććććBotå“ć®ćŖć½ć¼ć¹ę¶č²»ćęćććć¾ćć
ćØćÆćććSubscribeććć®ćÆSlackå“ć§ć®ć¤ćć³ćć®åä½ćØćććć£ććććć¬ćć«ćŖć®ć§ćBotå“ć§ćŖćć®å¶å¾”ćč”ććŖćć¦čÆćććć§ćÆćŖććć”ćććØēŗčØč
ćēŗčØć®å
容ććć£ć³ćć«åćŖć©ććć©ć”ć¼ćæćØćć¦åćć¦å¶å¾”ćč”ćć®ćÆéæćććć¾ććć(ćććÆć©ć®ä»ēµćæć§ćåćć§ćć)
ćć®ä»ēµćæć®ćć”ćŖćć
ć¤ć³ćæć¼ćććć«åćć¦URLćå ¬éććåæ č¦ććć
ä»ēµćæäøćSlackććć®éäæ”ćåććććØć«ćŖćć¾ćć
ę®ę®µćÆę°ć«ććććØćÆćŖćć§ćććććä¾ćć°ćŖć³ćć¬ćć¹ć®ē°å¢ćŖć©ć§ē°”åć«ć¤ć³ćæć¼ćććć«å
¬éććURLćęć¦ćŖćå “åćŖć©ćÆćć®ä»ēµćæćę”ēØćć„ćććŖćć§ćććć
č¦ęØ”ć大ćććŖććØhookćé ć
(ćććęøćććć¦ćć®čØäŗćęøććć®ć§ćć)č¦ęØ”ć大ćććŖććØćå¦å®ć«é ććŖćć¾ćć
ćććććććŖč¦ęØ”ć§Slackć使ć£ć¦ćććØćććÆćććŖć«ćŖćć®ććććć¾ćććć2500äŗŗč¦ęØ”ć®Slackć ćØć ēŗčØćć¦ćć app_mention ć¤ćć³ć(BOTćøć®mention)ćBOTå“ć«å°éććć¾ć§ć«5ē§ććććććć¾ććć(ę£ē¢ŗć«ćÆćé
ććä½ć«ä¾åćććććÆć£ćććØćÆčŖæć¹ć¦ćć¾ćććworkspaceå
Øä½ć§ć®ē¬éēćŖć¤ćć³ćć®éććććć¾ćć)
BOTć«å°éćć¦ććć®ćć„ć¼ćć³ć°ć§ććć°ććēØåŗ¦ć§ćććć§ćććććććå°éććć®ćé ććØćŖććØęć®ęć”ćććććć¾ććā¦ćć§ćć®ć§ćå Øä½ēć«ćÆćØć¦ććę軽ć«ä½ćććØćć§ććäøę¹ćč¦ęØ”ćå¤ććØBotć«č² ę ććććććØćć¾ćØćć¦ę¬”ć«čŖ¬ęććRTMć§å¦ēććć»ććććććć«ęćć¾ćć
é ććŖćč¦å ććÆć£ććććŖćć®ć§ćäøåæćć®ęć®ē°å¢ćę®ćć¦ććć¾ćć
- Workspaceå Øä½ć§2500äŗŗēØåŗ¦
- ćØćÆććććć®BOTćęå±ććchannelćÆ10äŗŗåå¾ćēŗčØćć»ćØćć©ćŖć(å¤ćć¦ę°ē§ć«1åēØåŗ¦)
- BOTčŖä½ćÆ2ćć£ć³ćć«ćććććjoinćć¦ććŖć
注ęćć¹ćä»ę§
- 3ē§ä»„å ć«åæēćčæććŖććØćExponential Backoffć«ćććŖćć©ć¤ćę大3åč”ćć¾ćć
- Subscribeććć¤ćć³ććÆ3äøå/1ęéć¾ć§ćØćŖć£ć¦ćć¾ćć
- ć¤ćć³ćć®ēØ®é”ć«ććsubscribeå¶éćÆåÆč½ć§ćććē“°ććå¶å¾”ćÆć§ććŖćć®ć§čŖåć§ä½ćåæ č¦ćććć¾ćć
Real Time Messaging API(RTM)
BOTå“ććWebSocketéäæ”ćSlackå“ć§č”ććććØćÆSlackćØć®éć§ć¤ćć³ćć®ććåććč”ćć¾ćć
ćć®ä»ēµćæć®ć”ćŖćć
ę©ć
Real TimećØććć ććć£ć¦ćSlackäøć§åæ
č¦ćŖć¤ćć³ć(ä¾ćć°BOTćøć®mention)ćēŗēćććØćć»ć¼å³ęć§BOTå“ć«å°éćć¾ćć
ćććć£ć¦ć¦ć¼ć¶ćØć¤ć³ćæć©ćÆćć£ććŖååæćåæ
č¦ćŖå¦ēćč”ćå “åć®å³åæę§ćę±ććå “åć«é©ćć¦ćć¾ćć
URLćå ¬éććåæ č¦ććŖć
Events APIć®éć§ćććBOTå“ććSlackćøWebSocketćå¼µćć«ććć®ć§ćURLćęććŖćć¦ćććććććØćå®ē¾ććććØćć§ćć¾ćć
ćć®ä»ēµćæć®ćć”ćŖćć
åŗę¬ēć«BOTćåøøé§(åøøęčµ·å)ćććåæ č¦ććć
ćććEvents APIć®éć§ćććBOTćØSlackć®éć§WebSocketćå¼µć£ć¦ććåæ
č¦ćććć®ć§ćåŗę¬ēć«BOTå“ćÆåøøęčµ·åćØćŖććØęćć¾ćć
ćØćŖććØććć®ć¤ć³ć¹ćæć³ć¹ć®ć©ć³ćć³ć°ć³ć¹ćććććŖćć«ćććććØć«ćŖćć¾ćć
ćć¾ć: Slash Commands
čŖ¬ę
ć¢ć¼ćććÆćć£ć§ćććŖćEvents APIćØć»ćØćć©åć(EndpointćØPayloadćå„ćØććć ć)ć§ćć(3ē§ä»„å ć«ååæćčæććŖććć°ćŖććŖććØććć®ćåć)
ę©č½ć®éććŖć®ć§ćć¾ććØćć¦čŖ¬ęćć¾ćć
ćć®ä»ēµćæć®ć”ćŖćć
ćć®botć®ååØé¢äæćŖćććććććć£ć³ćć«ć§ēŗåćććććØćć§ćć¾ćć
ćŖć®ć§ćčŖē¶ćØę±ēØēćŖēØéććć£ć³ćć«ć«ē”é¢äæćŖēØéć®ććć«ćć®ę¹ę³ćēØććććØć«ćŖććØęććć¾ććä¾ćć°ćć§ć«ććć³ćć³ćć§ććToDoćŖć¹ćć®ä½ęććremindćchannelćøć®invitećŖć©ćććć«å½ććć¾ćć
ćć®ä»ēµćæć®ćć”ćŖćć
ć”ćŖććć®č£čæćć§ćććć©ćć®ćć£ć³ćć«ć§ćēŗåćććććØćć§ććć®ć§ćēØéćéćć¾ćć
ē¹å®ć®ćć£ć³ćć«ć§ē¹å®ć®ēØéć§ä»äŗććććChatbotćØććććććć£ć³ćć«ć§ę±ēØēćŖä»äŗććććSlash Commandć§ćÆćē®ēć®ęē¹ć§éøęćåććććÆćć§ćć
(ć§ćć®ć§ćå„ć«ćć”ćŖćććØććććć§ćÆćŖćć®ć§ćććčŖććØććććéøęććććÆę±ŗć¾ćććØęćć¾ć)
ćć¾ć: Outgoing webhook
Slack Integrationć®1ć¤ćØćć¦ć®ę©č½ć§ććåć«Slackććhookćåćć¦čæēćććć ććŖćććć§ććććØęćć¾ćć
ćć ććSlackćØćć¦ćÆlegacyć®ä½ē½®ć„ćć§ćććéęØå„ØćØćŖć£ć¦ćć¾ćć
ć©ć®ć¢ć¼ćććÆćć£ćéøęćć¹ćć
ę軽ć«ęøć¾ććććŖćEvents APIćä»å¾ć®ę”å¼µę§ćčćć¦ććć®Botćę§ć
ćŖććØćč”ćåÆč½ę§ććććŖćRTMć§ććććć
URLå
¬éćč² ę
ć«ćŖććŖćéøęć®ććććććć¾ććććEvents APIć®ćæćŖććSlack Commandć Interactive ComponentsćŖć©ć§ćåæ
č¦ć«ćŖć£ć¦ććć®ć§ćå®ē¾ć§ććć®ć§ććć°URL endpointć®1ć¤ć§ćęć£ć¦ćććØä»å¾ä¾æå©ć ćććŖćØęćć¾ćć

