Obrigado por postar o link para o fluent-discourse!
Estou atualmente tentando me atualizar em Python, então é possível que existam maneiras melhores de abordar isso do que o que estou descrevendo aqui.
mention = client.notifications.json.get()
Isso está retornando um dicionário de menções para o username que você definiu ao criar o client. Estou assumindo que você definiu o username como UserA ao criar o client.
Para confirmar que um dicionário está sendo retornado, você pode executar:
print(type(mention))
Isso deve retornar <class 'dict'>
Você pode ver as chaves do dicionário executando:
print(list(mention))
Isso retornará ['notifications', 'total_rows_notifications', 'seen_notification_id', 'load_more_notifications']
Para o seu caso, você quer os valores que são encontrados sob a chave notifications:
notifications = mention['notifications']
Se você então executar type(notifications), verá que é uma lista. Para obter notificações que foram acionadas por menções de UserA, você precisa iterar pela lista para encontrar entradas onde o notification_type está definido como 1. A maneira mais fácil de ver os valores para os tipos de notificação do Discourse é executar Notification.types do console rails do seu site Discourse:
pry(main)> Notification.types
=> {:mentioned=>1,
:replied=>2,
:quoted=>3,
:edited=>4,
:liked=>5,
...
Portanto, para obter notificações de "menção" para o usuário cujo nome de usuário você definiu para o client, tente algo como isto (estou testando isso no interpretador Python enquanto digito):
data = client.notifications.json.get()
notifications = data['notifications']
# Cria um objeto de lista vazio para armazenar notificações de "menção"
mentions = []
# Itera pela lista `notifications` para encontrar todas as entradas onde `notification_type` é definido como `1`
for notification in notifications:
if notification['notification_type'] == 1:
mentions.append(notification)
Isso criará uma lista de notificações que foram acionadas por menções. Cada item na lista será um dicionário. Você pode verificá-lo com algo como:
for mention in mentions:
print(mention['topic_id'], mention['post_number'])