Suunnittele viestikortteja
Kaikki, mitä botti julkaisee, tuli se sitten webhookista, komentovastauksesta tai painikkeen päivityksestä, on kortti. Hyvä kortti kertoo yhdellä silmäyksellä, mitä tapahtui: värillinen reuna, otsikko, tila ja yksityiskohdat sen alla.
Mitä voit tehdä
- Näytä tilaVärillinen pilleri, kuten Avoin, Yhdistetty tai Läpi, sekä lisätyt ja poistetut rivit.
- Listaa yksityiskohdatNimike- ja arvorivejä, jotka jäsenet voivat kopioida yhdellä napautuksella.
- Kirjoita markdownillaLihavointi, inline-koodi, koodilohkot, lainaukset ja valintaruudut.
- Näytä, että työskenteletLatausilmaisin sillä aikaa, kun bottisi miettii, ja jälkeenpäin sen päättely valitsimen takana.
Sovelluksessa
Neljä korttia sellaisina kuin jäsenet ne näkevät. Jokainen on muutama rivi JSONia.
Kortin rakenne
Kortin osat ylhäältä alas. Jätä pois se, mitä et tarvitse: pelkkä otsikkokin riittää kortiksi.
- Otsake"Viesti lähettäjältä" ja nimi: webhookin nimi, tai komentovastauksessa yhteisösi nimi. Vastaukseen voi lisätä
badge-merkin, esimerkiksi repositorion. - Otsikko ja tila
title, joka on linkki, kun asetattitle_url-kentän, ja sen vieressästatus-pilleri. - AlaotsikkoToinen lihavoitu rivi,
sub_title. - KuvausRunko, markdownina.
- KentätNimike- ja arvorivejä kopiointipainikkeella.
- AlatunnisteAika sekä lisätyt ja poistetut rivit, jos lähetät ne.
{
"message_container": {
"type": "embed_message",
"badge": "acme/web",
"color": "purple",
"title": "Pull request #212 opened",
"title_url": "https://github.com/acme/web/pull/212",
"status": { "label": "Open", "color": "green", "icon": "pull_request" },
"sub_title": "Faster search in the channel list",
"description": "Search now runs **per keystroke** with a 120 ms debounce.",
"fields": [
{ "field": "Author", "value": "maya" },
{ "field": "Reviewers", "value": "dani, sam" }
],
"additions": 86,
"deletions": 12,
"files_changed": 3
}
}Kaikki kentät
Nämä kuuluvat message_container-olioon. Kortti tarvitsee kuvauksen tai latausilmaisimen. Merkinnällä "Komentovastaukset" varustetut kentät pudotetaan pois, kun julkaiset webhookin kautta.
| Kenttä | Tyyppi | Mitä se tekee |
|---|---|---|
type | string | embed_message (oletus) tai system_message. |
badge | string | Pieni siru nimen perässä otsakkeessa, esimerkiksi acme/web. Komentovastaukset |
avatar_url | string | Kuva kortin kuvakkeen päällä. |
color | string | Reunan väri. Katso värit alta. |
title | string | Lihavoitu ensimmäinen rivi. |
title_url | string | Tekee otsikosta linkin. |
sub_title | string | Toinen lihavoitu rivi otsikon alla. |
description | string | Runko, markdownina. |
fields | array | [{ "field": "…", "value": "…" }]: nimike- ja arvorivit. |
image_url, image_base64 | string | Kuva kortissa. |
images | array | [{ "image_url": "…" }]: usean kuvan galleria. |
status | object tai string | Värillinen pilleri otsikon vieressä. Katso alta. Komentovastaukset |
additions, deletions, files_changed | number | Diff-luvut alatunnisteessa. Komentovastaukset |
loader, loader_text, loader_sub_text | boolean, string | Latausilmaisin rungon tilalla. |
thinking | string | Päättely Näytä ajattelu -valitsimen takana. Komentovastaukset |
thinking ymmärtävät markdownia: **bold**, _italic_, ~~strike~~, `inline code`, aidatut koodilohkot, > lainaukset, - [x]-valintaruudut, @maininnat ja :emoji:.Tila ja diff-luvut
Tilapilleri kertoo tarinan ennen kuin kukaan lukee tekstiä. Se on otsikon vieressä, tai alatunnisteessa, jos otsikkoa ei ole; diff-luvut näkyvät ajan vieressä. Molemmat toimivat komentovastauksissa, ja sisäänrakennettu GitHub-integraatio käyttää niitä. Webhook pudottaa ne pois.
{
"message_container": {
"color": "red",
"title": "Build failed on main",
"status": { "label": "Failing", "color": "red" },
"description": "`search.test.js`: 2 of 212 tests failed."
}
}| Kenttä | Tyyppi | Mitä se tekee |
|---|---|---|
status | object tai string | Pelkkä merkkijono on nimike: "status": "Open". |
status.label | string | Pillerin teksti. Ilman sitä pilleriä ei ole. |
status.color | string | green, purple, red, orange, yellow, blue tai gray. |
status.icon | string | Valinnainen kuvake alla olevasta listasta. |
additions | number | Lisätyt rivit, näkyvät vihreänä +86. |
deletions | number | Poistetut rivit, näkyvät punaisena -12. |
files_changed | number | Muutetut tiedostot, näkyvät muodossa 3 files. |
Kuvakkeet
| Arvo | Kuvake | Tyypillinen käyttö |
|---|---|---|
pull_request | git-pull-request | Pull request avattu |
pull_request_closed | git-pull-request-closed | Suljettu yhdistämättä |
merge, merged | git-merge | Yhdistetty |
commit | git-commit | Pushattu commit |
issue | circle-dot | Issue avattu |
issue_closed | circle-check | Issue suljettu |
check | circle-check | Testit läpi, työ onnistui |
GitHubille sopiva vastaavuus
Sisäänrakennettu GitHub-integraatio käyttää näitä; kopioi ne omiin työkaluihisi.
| Tapahtuma | Nimike | Väri | Kuvake |
|---|---|---|---|
| Pull request avattu | Open | green | pull_request |
| Luonnos | Draft | gray | pull_request |
| Yhdistetty | Merged | purple | merged |
| Suljettu yhdistämättä | Closed | red | pull_request_closed |
| Issue avattu | Open | green | issue |
| Issue suljettu | Closed | purple | issue_closed |
| Commit pushattu | Commit | gray | commit |
| Testit läpi | Passing | green | check |
| Testit epäonnistuivat | Failing | red | ei kuvaketta |
Lataus ja ajattelu
Kun jokin vie hetken, kuten tekoälyn vastaus tai pitkä työ, julkaise ensin kortti latausilmaisimella ja korvaa se sitten tuloksella. Latausilmaisin toimii webhookeista ja komentovastauksista. Komentovastauksessa voit lisäksi laittaa mallin päättelyn kenttään thinking: jäsenet näkevät Näytä ajattelu -valitsimen tekstimuurin sijaan.
Ensin: latausilmaisin
Sitten: vastaus, päättely piilossa
{
"message_container": {
"type": "embed_message",
"color": "blue",
"loader": true,
"loader_text": "Thinking…",
"loader_sub_text": "Reading the last 50 messages"
}
}{
"message_container": {
"type": "embed_message",
"color": "blue",
"sub_title": "maya: when is the standup?",
"description": "Standup is at **09:30**, in #daily.",
"thinking": "Checked the pinned messages and the recurring event in #daily…"
}
}| Kenttä | Tyyppi | Mitä se tekee |
|---|---|---|
loader | boolean | true näyttää latausilmaisimen rungon tilalla. |
loader_text | string | Rivi latausilmaisimen vieressä, esimerkiksi "Ajattelee…". |
loader_sub_text | string | Pienempi rivi sen alla. |
thinking | string | Kokoontaitettu päättely kuvauksen alla, markdownina. |
Vaihda latausilmaisin vastaukseen päivittämällä viesti uudella kortilla, josta loader puuttuu. Ohjeet ovat sivulla live-päivitykset.
Pitkät kuvaukset
Kuvaus voi olla enintään 50 000 tavua. Ensimmäisten 1 000 tavun jälkeen jäsenet näkevät alun ja Näytä lisää -painikkeen, joka lataa loput, joten pitkä raportti ei tulvi kanavaa täyteen.
Järjestelmäviestit
Aseta "type": "system_message", kun kyse on ilmoituksesta eikä bottiviestistä: huoltokatkot, sääntömuutokset ja kaikki muu, missä yhteisö itse on äänessä. Se ottaa vastaan samat kentät ja painikkeet.
{
"message_container": {
"type": "system_message",
"color": "orange",
"title": "Maintenance tonight",
"description": "The build servers are down from 22:00 to 23:00."
}
}Värit
Reunan väri on kortin nopein signaali. Käytä samaa väriä samanlaisille uutisille, joka kerta.
| Väri | Käyttötarkoitus |
|---|---|
green | Onnistuminen: läpi, julkaistu, valmis |
red | Epäonnistuminen: epäonnistui, alhaalla, hylätty |
orange | Varoitus, joka kannattaa tarkistaa |
yellow | Odottaa jotakuta: hyväksynnät, kysymykset |
blue | Tiedoksi, oletus |
purple | Koodin tapahtumat tai jotain erityistä |
Rakenna oma embed
Muokkaa kenttiä tai JSON-payloadia. Ne pysyvät synkronoituina. Näet viestin täsmälleen sellaisena kuin se näkyy kanavalla. Tämä on oikea webhook-body; kopioi se, kun se näyttää oikealta.