Como recuperar programaticamente o external_id para um tópico

Eu nunca tinha notado isso antes. Eu estava procurando algo semelhante há alguns anos para associar IDs de posts do WordPress a tópicos do Discourse.

O external_id do tópico só será retornado como uma propriedade no cliente se o tópico tiver um external_id, então se o tópico não tiver um, você não receberá um valor null. Isso está funcionando para mim para tópicos que têm um external_id:

<script type="text/discourse-plugin" version="0.11.0">
api.onPageChange (() => {
    const c = api.container.lookup("controller:topic");
    if (c) {
        const m = c.get("model");
        if (m && m.hasOwnProperty('external_id')) {
        console.log("o external_id é ", m.external_id);
        }
    }
});
</script>