don't update if renoted by bot
This commit is contained in:
parent
a758af1513
commit
49e9fb9001
4 changed files with 15 additions and 7 deletions
|
@ -191,7 +191,7 @@ export async function createPerson(
|
|||
.map((tag) => normalizeForSearch(tag))
|
||||
.splice(0, 32);
|
||||
|
||||
const isBot = getApType(object) === "Service";
|
||||
const isBot = getApType(object) !== "Person";
|
||||
|
||||
const bday = person["vcard:bday"]?.match(/^\d{4}-\d{2}-\d{2}/);
|
||||
|
||||
|
@ -502,7 +502,7 @@ export async function updatePerson(
|
|||
emojis: emojiNames,
|
||||
name: truncate(person.name, nameLength),
|
||||
tags,
|
||||
isBot: getApType(object) === "Service",
|
||||
isBot: getApType(object) !== "Person",
|
||||
isCat: (person as any).isCat === true,
|
||||
isLocked: !!person.manuallyApprovesFollowers,
|
||||
movedToUri: person.movedTo || null,
|
||||
|
|
|
@ -30,7 +30,11 @@ export default class NotesChart extends Chart<typeof schema> {
|
|||
return {};
|
||||
}
|
||||
|
||||
public async update(note: Note, isAdditional: boolean): Promise<void> {
|
||||
public async update(
|
||||
note: Note,
|
||||
isAdditional: boolean,
|
||||
byBot = false,
|
||||
): Promise<void> {
|
||||
const prefix = note.userHost === null ? "local" : "remote";
|
||||
|
||||
await this.commit({
|
||||
|
@ -44,7 +48,7 @@ export default class NotesChart extends Chart<typeof schema> {
|
|||
: -1
|
||||
: 0,
|
||||
[`${prefix}.diffs.renote`]:
|
||||
note.renoteId != null ? (isAdditional ? 1 : -1) : 0,
|
||||
note.renoteId != null && !byBot ? (isAdditional ? 1 : -1) : 0,
|
||||
[`${prefix}.diffs.reply`]:
|
||||
note.replyId != null ? (isAdditional ? 1 : -1) : 0,
|
||||
[`${prefix}.diffs.withFile`]:
|
||||
|
|
|
@ -32,6 +32,7 @@ export default class PerUserNotesChart extends Chart<typeof schema> {
|
|||
user: { id: User["id"] },
|
||||
note: Note,
|
||||
isAdditional: boolean,
|
||||
byBot = false,
|
||||
): Promise<void> {
|
||||
await this.commit(
|
||||
{
|
||||
|
@ -44,7 +45,8 @@ export default class PerUserNotesChart extends Chart<typeof schema> {
|
|||
? 1
|
||||
: -1
|
||||
: 0,
|
||||
"diffs.renote": note.renoteId != null ? (isAdditional ? 1 : -1) : 0,
|
||||
"diffs.renote":
|
||||
note.renoteId != null && !byBot ? (isAdditional ? 1 : -1) : 0,
|
||||
"diffs.reply": note.replyId != null ? (isAdditional ? 1 : -1) : 0,
|
||||
"diffs.withFile": note.fileIds.length > 0 ? (isAdditional ? 1 : -1) : 0,
|
||||
},
|
||||
|
|
|
@ -163,6 +163,7 @@ export default async (
|
|||
host: User["host"];
|
||||
isSilenced: User["isSilenced"];
|
||||
createdAt: User["createdAt"];
|
||||
isBot: User["isBot"];
|
||||
},
|
||||
data: Option,
|
||||
silent = false,
|
||||
|
@ -323,8 +324,8 @@ export default async (
|
|||
res(note);
|
||||
|
||||
// 統計を更新
|
||||
notesChart.update(note, true);
|
||||
perUserNotesChart.update(user, note, true);
|
||||
notesChart.update(note, true, user.isBot);
|
||||
perUserNotesChart.update(user, note, true, user.isBot);
|
||||
|
||||
// Register host
|
||||
if (Users.isRemoteUser(user)) {
|
||||
|
@ -399,6 +400,7 @@ export default async (
|
|||
// この投稿を除く指定したユーザーによる指定したノートのリノートが存在しないとき
|
||||
if (
|
||||
data.renote &&
|
||||
!user.isBot &&
|
||||
(await countSameRenotes(user.id, data.renote.id, note.id)) === 0
|
||||
) {
|
||||
incRenoteCount(data.renote);
|
||||
|
|
Loading…
Reference in a new issue