# Discourse API Ottieni l'argomento corrente

**URL:** https://meta.discourse.org/t/discourse-api-get-current-topic/174068
**Category:** Support
**Created:** [23 Dicembre 2020, 2:50am UTC](https://meta.discourse.org/t/discourse-api-get-current-topic/174068 "2020-12-23T02:50:53Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![littleviolette](https://avatars.discourse-cdn.com/v4/letter/l/d26b3c/32.png) [@littleviolette](https://meta.discourse.org/u/littleviolette)
#### Post date: [23 Dicembre 2020, 2:50am UTC](https://meta.discourse.org/t/discourse-api-get-current-topic/174068/1 "2020-12-23T02:50:53Z")

</div>

CIAO!

Vedo che il plug-in dello script API di Discourse può ottenere l’utente corrente:

```
<script type="text/discourse-plugin" version="0.8.18">
    if(api.getCurrentUser() != null) {
        $("#logged-in-user").text(" " + api.getCurrentUser().username);
    }
</script>

```

Esiste un comando simile per ottenere l’argomento corrente? Il mio caso d’uso è modificare l’URL del [pulsante di reindirizzamento alla fine di un post](https://github.com/techAPJ/discourse-topic-group-button) per collegarlo a un [messaggio privato precompilato](https://meta.discourse.org/t/compose-a-new-pre-filled-personal-message-via-url/35984) all’autore originale. Per trovare il nome utente dell’autore originale, sembra che dovrei prima ottenere l’ID dell’argomento, quindi interrogare l’autore originale tramite `"/t/<TOPIC_ID>.json"`?

Il plug-in del pulsante ha l’\<ID\_ARGOMENTO\> integrato, ma non sono sicuro di come possa essere fatto utilizzando JavaScript in Amministrazione \> Personalizzazione. Grazie!

---

<div class="post-metadata">

### Author: ![renato](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renato/32/383632_2.png) [@renato](https://meta.discourse.org/u/renato)
#### Post date: [23 Dicembre 2020, 3:31am UTC](https://meta.discourse.org/t/discourse-api-get-current-topic/174068/2 "2020-12-23T03:31:18Z")

</div>

Non sono sicuro che questo sia l’approccio migliore, ma è possibile ottenere il nome utente del creatore del argomento in questo modo:

```js
const controller = Discourse. __container__.lookup("controller:topic")
const username = controller.get("model.details.created_by.username")

```

Questo non funziona direttamente nel tag `<script>`, probabilmente vorrai utilizzarlo su un `api.onPageChange` o su un altro evento (in un test rapido ha funzionato anche con un `setTimeout` di 0ms, ma non so se ci siano effetti collaterali).
