El código parece estar bien, no estoy seguro de dónde viene el problema.
Mi instinto me dice que simplemente nos estamos perdiendo algo obvio en alguna parte
def load_topics(session, page):
print(f"[Temas] Cargando página {page}")
r = session.get(f"https://{hostUrl}/latest.json?page={page}")
if r.status_code != 200:
return []
return [{"id": t["id"], "posts_count": t["posts_count"]} for t in r.json()["topic_list"]["topics"]]
timings = {
str(i): 60000
for i in range(1, post_count + 1)
}
payload = {
"topic_id": topic_id,
"topic_time": post_count * 60000,
"timings": timings
}
# Usar json=payload para enviar como application/json
r = session.post(url, json=payload, headers = {
"X-CSRF-Token": csrf,
"User-Agent": "Mozilla/5.0",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json"
}
)
¡Puedo decir con un 100% de certeza que esta afirmación es verdadera!
La lectura de las publicaciones se ha actualizado varias veces, pero la lectura de los temas no. ¿Están en intervalos diferentes? Han pasado aproximadamente 20 horas desde entonces y el contador de publicaciones leídas sigue aumentando, pero el de temas leídos no.
¡Solo quiero intentar hacer ingeniería inversa de los endpoints! Es genial.
Creo que debería esperar un poco antes de volver y ver si los valores han cambiado.
@Canapin, no soy el propietario del sitio web. Si aún puedo activarlo simplemente con haber iniciado sesión como un usuario normal, házmelo saber el método para hacerlo.
@Moin
El sitio que estoy usando tiene eso deshabilitado y siempre devolverá “¡Aquí se mostrará una lista de miembros de la comunidad mostrando su actividad! Por ahora, la lista está vacía porque tu comunidad es muy nueva!”.
En su caso no se puede. Ser un usuario normal no es ideal para la ingeniería inversa de la API.
Si puedes, prueba una instalación de desarrollo local o una instalación de producción en un VPS barato (un servidor de 3-4$ está bien), ya que Discourse ya no requiere un nombre de host ni SMTP.