async reportMessage(channelId: string, messageId: number, reason: ReportReason, comment?: string) {
let reasonApi: Api.TypeReportReason;
switch (reason) {
case ReportReason.SPAM:
reasonApi = new Api.InputReportReasonSpam();
break;
case ReportReason.VIOLENCE:
reasonApi = new Api.InputReportReasonViolence();
break;
case ReportReason.PORNOGRAPHY:
reasonApi = new Api.InputReportReasonPornography();
break;
case ReportReason.COPYRIGHT:
reasonApi = new Api.InputReportReasonCopyright();
break;
case ReportReason.CHILD_ABUSE:
reasonApi = new Api.InputReportReasonChildAbuse();
break;
case ReportReason.FAKE:
reasonApi = new Api.InputReportReasonFake();
break;
case ReportReason.OTHER:
default:
reasonApi = new Api.InputReportReasonOther();
break;
}
return this.handleCall(
(client) =>
client.invoke(
new Api.messages.Report({
peer: channelId,
id: [messageId],
option: reasonApi.getBytes(),
message: comment || "",
})
),
{ name: "reportMessage" }
);
}
< /code>
Когда я пытаюсь позвонить в метод, Telegram возвращает мне ошибку: Option_invalid < /p>
Я не уверен, передаю ли я правильное значение в поле опции, но я не могу найти никакой информации о том, как он должен выглядеть.async reportMessage(channelId: string, messageId: number, reason: ReportReason, comment?: string) {
let reasonApi: Api.TypeReportReason;
switch (reason) {
case ReportReason.SPAM:
reasonApi = new Api.InputReportReasonSpam();
break;
case ReportReason.VIOLENCE:
reasonApi = new Api.InputReportReasonViolence();
break;
case ReportReason.PORNOGRAPHY:
reasonApi = new Api.InputReportReasonPornography();
break;
case ReportReason.COPYRIGHT:
reasonApi = new Api.InputReportReasonCopyright();
break;
case ReportReason.CHILD_ABUSE:
reasonApi = new Api.InputReportReasonChildAbuse();
break;
case ReportReason.FAKE:
reasonApi = new Api.InputReportReasonFake();
break;
case ReportReason.OTHER:
default:
reasonApi = new Api.InputReportReasonOther();
break;
}
return this.handleCall(
(client) =>
client.invoke(
new Api.messages.Report({
peer: channelId,
id: [messageId],
reason: reasonApi,
message: comment || "",
})
),
{ name: "reportMessage" }
);
}
Но в этом случае у меня есть ошибка:
Я также пытался создать буфер вручную, но снова не удалось
У меня есть метод отчетмсенсаж: < /p> [code]async reportMessage(channelId: string, messageId: number, reason: ReportReason, comment?: string) { let reasonApi: Api.TypeReportReason;
switch (reason) { case ReportReason.SPAM: reasonApi = new Api.InputReportReasonSpam(); break; case ReportReason.VIOLENCE: reasonApi = new Api.InputReportReasonViolence(); break; case ReportReason.PORNOGRAPHY: reasonApi = new Api.InputReportReasonPornography(); break; case ReportReason.COPYRIGHT: reasonApi = new Api.InputReportReasonCopyright(); break; case ReportReason.CHILD_ABUSE: reasonApi = new Api.InputReportReasonChildAbuse(); break; case ReportReason.FAKE: reasonApi = new Api.InputReportReasonFake(); break; case ReportReason.OTHER: default: reasonApi = new Api.InputReportReasonOther(); break; }
return this.handleCall( (client) => client.invoke( new Api.messages.Report({ peer: channelId, id: [messageId], option: reasonApi.getBytes(), message: comment || "", }) ), { name: "reportMessage" } ); } < /code> Когда я пытаюсь позвонить в метод, Telegram возвращает мне ошибку: Option_invalid < /p> Я не уверен, передаю ли я правильное значение в поле опции, но я не могу найти никакой информации о том, как он должен выглядеть.async reportMessage(channelId: string, messageId: number, reason: ReportReason, comment?: string) { let reasonApi: Api.TypeReportReason;
switch (reason) { case ReportReason.SPAM: reasonApi = new Api.InputReportReasonSpam(); break; case ReportReason.VIOLENCE: reasonApi = new Api.InputReportReasonViolence(); break; case ReportReason.PORNOGRAPHY: reasonApi = new Api.InputReportReasonPornography(); break; case ReportReason.COPYRIGHT: reasonApi = new Api.InputReportReasonCopyright(); break; case ReportReason.CHILD_ABUSE: reasonApi = new Api.InputReportReasonChildAbuse(); break; case ReportReason.FAKE: reasonApi = new Api.InputReportReasonFake(); break; case ReportReason.OTHER: default: reasonApi = new Api.InputReportReasonOther(); break; }
return this.handleCall( (client) => client.invoke( new Api.messages.Report({ peer: channelId, id: [messageId], reason: reasonApi, message: comment || "", }) ), { name: "reportMessage" } ); } [/code] Но в этом случае у меня есть ошибка:
Я также пытался создать буфер вручную, но снова не удалось