Class StudentDiscussion

Constructors

  • Parameters

    • client: Pronote
    • data: (() => {
          N: string;
          avecModifObjet?: boolean;
          avecReponse?: boolean;
          dernierPossessionMessage?: {
              V: {
                  N: string;
              };
              _T: number;
          };
          estNonPossede: boolean;
          estUneDiscussion?: boolean;
          fermable?: boolean;
          ferme?: boolean;
          indicePere?: number;
          initiateur?: string;
          libelleDate?: string;
          listeEtiquettes?: PronoteValue<24, {
              N: string;
          }[]>;
          listePossessionsMessages: {
              V: {
                  N: string;
              }[];
              _T: number;
          };
          lu?: boolean;
          messageFenetre?: {
              V: {
                  G: number;
                  N: string;
              };
              _T: number;
          };
          messagePourParticipants?: {
              V: {
                  N: string;
              };
              _T: number;
          };
          nbBrouillons?: number;
          nbNonLus?: number;
          nbPublic?: number;
          nombreMessages?: number;
          objet?: string;
          profondeur: number;
          public?: string;
      })
        • (): {
              N: string;
              avecModifObjet?: boolean;
              avecReponse?: boolean;
              dernierPossessionMessage?: {
                  V: {
                      N: string;
                  };
                  _T: number;
              };
              estNonPossede: boolean;
              estUneDiscussion?: boolean;
              fermable?: boolean;
              ferme?: boolean;
              indicePere?: number;
              initiateur?: string;
              libelleDate?: string;
              listeEtiquettes?: PronoteValue<24, {
                  N: string;
              }[]>;
              listePossessionsMessages: {
                  V: {
                      N: string;
                  }[];
                  _T: number;
              };
              lu?: boolean;
              messageFenetre?: {
                  V: {
                      G: number;
                      N: string;
                  };
                  _T: number;
              };
              messagePourParticipants?: {
                  V: {
                      N: string;
                  };
                  _T: number;
              };
              nbBrouillons?: number;
              nbNonLus?: number;
              nbPublic?: number;
              nombreMessages?: number;
              objet?: string;
              profondeur: number;
              public?: string;
          }
        • Returns {
              N: string;
              avecModifObjet?: boolean;
              avecReponse?: boolean;
              dernierPossessionMessage?: {
                  V: {
                      N: string;
                  };
                  _T: number;
              };
              estNonPossede: boolean;
              estUneDiscussion?: boolean;
              fermable?: boolean;
              ferme?: boolean;
              indicePere?: number;
              initiateur?: string;
              libelleDate?: string;
              listeEtiquettes?: PronoteValue<24, {
                  N: string;
              }[]>;
              listePossessionsMessages: {
                  V: {
                      N: string;
                  }[];
                  _T: number;
              };
              lu?: boolean;
              messageFenetre?: {
                  V: {
                      G: number;
                      N: string;
                  };
                  _T: number;
              };
              messagePourParticipants?: {
                  V: {
                      N: string;
                  };
                  _T: number;
              };
              nbBrouillons?: number;
              nbNonLus?: number;
              nbPublic?: number;
              nombreMessages?: number;
              objet?: string;
              profondeur: number;
              public?: string;
          }

          • N: string
          • Optional avecModifObjet?: boolean
          • Optional avecReponse?: boolean
          • Optional dernierPossessionMessage?: {
                V: {
                    N: string;
                };
                _T: number;
            }
            • V: {
                  N: string;
              }
              • N: string
            • _T: number
          • estNonPossede: boolean
          • Optional estUneDiscussion?: boolean
          • Optional fermable?: boolean
          • Optional ferme?: boolean
          • Optional indicePere?: number
          • Optional initiateur?: string
          • Optional libelleDate?: string
          • Optional listeEtiquettes?: PronoteValue<24, {
                N: string;
            }[]>

            Only available if the item has been moved to another folder(s), see listeEtiquettes.

          • listePossessionsMessages: {
                V: {
                    N: string;
                }[];
                _T: number;
            }
            • V: {
                  N: string;
              }[]
            • _T: number
          • Optional lu?: boolean
          • Optional messageFenetre?: {
                V: {
                    G: number;
                    N: string;
                };
                _T: number;
            }
            • V: {
                  G: number;
                  N: string;
              }
              • G: number
              • N: string
            • _T: number
          • Optional messagePourParticipants?: {
                V: {
                    N: string;
                };
                _T: number;
            }
            • V: {
                  N: string;
              }
              • N: string
            • _T: number
          • Optional nbBrouillons?: number
          • Optional nbNonLus?: number
          • Optional nbPublic?: number
          • Optional nombreMessages?: number
          • Optional objet?: string
          • profondeur: number
          • Optional public?: string
    • discussionsOverview: StudentDiscussionsOverview

    Returns StudentDiscussion

Properties

#client: Pronote
#creator: string
#dateAsFrenchText: string
#discussionsOverview: StudentDiscussionsOverview
#participantsMessageID: string
#permanentlyDeleted: boolean = false
#readData: (() => {
    N: string;
    avecModifObjet?: boolean;
    avecReponse?: boolean;
    dernierPossessionMessage?: {
        V: {
            N: string;
        };
        _T: number;
    };
    estNonPossede: boolean;
    estUneDiscussion?: boolean;
    fermable?: boolean;
    ferme?: boolean;
    indicePere?: number;
    initiateur?: string;
    libelleDate?: string;
    listeEtiquettes?: PronoteValue<24, {
        N: string;
    }[]>;
    listePossessionsMessages: {
        V: {
            N: string;
        }[];
        _T: number;
    };
    lu?: boolean;
    messageFenetre?: {
        V: {
            G: number;
            N: string;
        };
        _T: number;
    };
    messagePourParticipants?: {
        V: {
            N: string;
        };
        _T: number;
    };
    nbBrouillons?: number;
    nbNonLus?: number;
    nbPublic?: number;
    nombreMessages?: number;
    objet?: string;
    profondeur: number;
    public?: string;
})

Type declaration

    • (): {
          N: string;
          avecModifObjet?: boolean;
          avecReponse?: boolean;
          dernierPossessionMessage?: {
              V: {
                  N: string;
              };
              _T: number;
          };
          estNonPossede: boolean;
          estUneDiscussion?: boolean;
          fermable?: boolean;
          ferme?: boolean;
          indicePere?: number;
          initiateur?: string;
          libelleDate?: string;
          listeEtiquettes?: PronoteValue<24, {
              N: string;
          }[]>;
          listePossessionsMessages: {
              V: {
                  N: string;
              }[];
              _T: number;
          };
          lu?: boolean;
          messageFenetre?: {
              V: {
                  G: number;
                  N: string;
              };
              _T: number;
          };
          messagePourParticipants?: {
              V: {
                  N: string;
              };
              _T: number;
          };
          nbBrouillons?: number;
          nbNonLus?: number;
          nbPublic?: number;
          nombreMessages?: number;
          objet?: string;
          profondeur: number;
          public?: string;
      }
    • Returns {
          N: string;
          avecModifObjet?: boolean;
          avecReponse?: boolean;
          dernierPossessionMessage?: {
              V: {
                  N: string;
              };
              _T: number;
          };
          estNonPossede: boolean;
          estUneDiscussion?: boolean;
          fermable?: boolean;
          ferme?: boolean;
          indicePere?: number;
          initiateur?: string;
          libelleDate?: string;
          listeEtiquettes?: PronoteValue<24, {
              N: string;
          }[]>;
          listePossessionsMessages: {
              V: {
                  N: string;
              }[];
              _T: number;
          };
          lu?: boolean;
          messageFenetre?: {
              V: {
                  G: number;
                  N: string;
              };
              _T: number;
          };
          messagePourParticipants?: {
              V: {
                  N: string;
              };
              _T: number;
          };
          nbBrouillons?: number;
          nbNonLus?: number;
          nbPublic?: number;
          nombreMessages?: number;
          objet?: string;
          profondeur: number;
          public?: string;
      }

      • N: string
      • Optional avecModifObjet?: boolean
      • Optional avecReponse?: boolean
      • Optional dernierPossessionMessage?: {
            V: {
                N: string;
            };
            _T: number;
        }
        • V: {
              N: string;
          }
          • N: string
        • _T: number
      • estNonPossede: boolean
      • Optional estUneDiscussion?: boolean
      • Optional fermable?: boolean
      • Optional ferme?: boolean
      • Optional indicePere?: number
      • Optional initiateur?: string
      • Optional libelleDate?: string
      • Optional listeEtiquettes?: PronoteValue<24, {
            N: string;
        }[]>

        Only available if the item has been moved to another folder(s), see listeEtiquettes.

      • listePossessionsMessages: {
            V: {
                N: string;
            }[];
            _T: number;
        }
        • V: {
              N: string;
          }[]
        • _T: number
      • Optional lu?: boolean
      • Optional messageFenetre?: {
            V: {
                G: number;
                N: string;
            };
            _T: number;
        }
        • V: {
              G: number;
              N: string;
          }
          • G: number
          • N: string
        • _T: number
      • Optional messagePourParticipants?: {
            V: {
                N: string;
            };
            _T: number;
        }
        • V: {
              N: string;
          }
          • N: string
        • _T: number
      • Optional nbBrouillons?: number
      • Optional nbNonLus?: number
      • Optional nbPublic?: number
      • Optional nombreMessages?: number
      • Optional objet?: string
      • profondeur: number
      • Optional public?: string
#recipientName?: string

Accessors

  • get dateAsFrenchText(): string
  • Output is very variable, see example below. Because of this behavior, we can't transform this into a date. Maybe, we could parse this manually, but it's not a priority. TODO: Parse this manually.

    Returns string

    Example

    "lundi 08h53"
    // or can just be the hour
    "07h26"
  • get deleted(): boolean
  • When true, you won't be able to access any other property (except participantsMessageID) of this instance anymore.

    Returns boolean

  • get participantsMessageID(): string
  • Internal string containing the ID of the message needed to fetch the participants of the discussion.

    Returns string

  • get possessions(): {
        N: string;
    }[]
  • Property used internally to make the messages in discussion request.

    Returns {
        N: string;
    }[]

Methods

  • Fetches the messages from the discussion. By default it won't mark the messages as read even after fetching them.

    You can change this behavior by setting markAsRead to true. There's no other way to mark the messages as read.

    Parameters

    • markAsRead: boolean = false

      Whether to mark the messages as read after fetching them.

    • limit: number = 0

      0 = no limit, fetch all messages.

    Returns Promise<MessagesOverview>

  • Marks the discussion as read.

    Returns Promise<void>

    Remark

    This function is a shortcut to fetchMessages(true) but here we don't return anything.