mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-03 17:59:37 +02:00
Implement auto tag on comments and videos
* Comments and videos can be automatically tagged using core rules or watched word lists * These tags can be used to automatically filter videos and comments * Introduce a new video comment policy where comments must be approved first * Comments may have to be approved if the user auto block them using core rules or watched word lists * Implement FEP-5624 to federate reply control policies
This commit is contained in:
parent
b3e39df59e
commit
29329d6c45
241 changed files with 8090 additions and 1399 deletions
|
@ -1,15 +1,15 @@
|
|||
import { ChildProcess, fork } from 'child_process'
|
||||
import { copy } from 'fs-extra/esm'
|
||||
import { join } from 'path'
|
||||
import { randomInt } from '@peertube/peertube-core-utils'
|
||||
import { Video, VideoChannel, VideoChannelSync, VideoCreateResult, VideoDetails } from '@peertube/peertube-models'
|
||||
import { parallelTests, root } from '@peertube/peertube-node-utils'
|
||||
import { ChildProcess, fork } from 'child_process'
|
||||
import { copy } from 'fs-extra/esm'
|
||||
import { join } from 'path'
|
||||
import { BulkCommand } from '../bulk/index.js'
|
||||
import { CLICommand } from '../cli/index.js'
|
||||
import { CustomPagesCommand } from '../custom-pages/index.js'
|
||||
import { FeedCommand } from '../feeds/index.js'
|
||||
import { LogsCommand } from '../logs/index.js'
|
||||
import { AbusesCommand } from '../moderation/index.js'
|
||||
import { AbusesCommand, AutomaticTagsCommand, WatchedWordsCommand } from '../moderation/index.js'
|
||||
import { OverviewsCommand } from '../overviews/index.js'
|
||||
import { RunnerJobsCommand, RunnerRegistrationTokensCommand, RunnersCommand } from '../runners/index.js'
|
||||
import { SearchCommand } from '../search/index.js'
|
||||
|
@ -17,35 +17,35 @@ import { SocketIOCommand } from '../socket/index.js'
|
|||
import {
|
||||
AccountsCommand,
|
||||
BlocklistCommand,
|
||||
UserExportsCommand,
|
||||
LoginCommand,
|
||||
NotificationsCommand,
|
||||
RegistrationsCommand,
|
||||
SubscriptionsCommand,
|
||||
TwoFactorCommand,
|
||||
UsersCommand,
|
||||
UserImportsCommand
|
||||
UserExportsCommand,
|
||||
UserImportsCommand,
|
||||
UsersCommand
|
||||
} from '../users/index.js'
|
||||
import {
|
||||
BlacklistCommand,
|
||||
CaptionsCommand,
|
||||
ChangeOwnershipCommand,
|
||||
ChannelsCommand,
|
||||
ChannelSyncsCommand,
|
||||
ChannelsCommand,
|
||||
ChaptersCommand,
|
||||
CommentsCommand,
|
||||
HistoryCommand,
|
||||
VideoImportsCommand,
|
||||
LiveCommand,
|
||||
PlaylistsCommand,
|
||||
ServicesCommand,
|
||||
StoryboardCommand,
|
||||
StreamingPlaylistsCommand,
|
||||
VideoImportsCommand,
|
||||
VideoPasswordsCommand,
|
||||
VideosCommand,
|
||||
VideoStatsCommand,
|
||||
VideoStudioCommand,
|
||||
VideoTokenCommand,
|
||||
VideosCommand,
|
||||
ViewsCommand
|
||||
} from '../videos/index.js'
|
||||
import { ConfigCommand } from './config-command.js'
|
||||
|
@ -163,6 +163,9 @@ export class PeerTubeServer {
|
|||
runnerRegistrationTokens?: RunnerRegistrationTokensCommand
|
||||
runnerJobs?: RunnerJobsCommand
|
||||
|
||||
watchedWordsLists?: WatchedWordsCommand
|
||||
autoTags?: AutomaticTagsCommand
|
||||
|
||||
constructor (options: { serverNumber: number } | { url: string }) {
|
||||
if ((options as any).url) {
|
||||
this.setUrl((options as any).url)
|
||||
|
@ -458,5 +461,8 @@ export class PeerTubeServer {
|
|||
this.runnerRegistrationTokens = new RunnerRegistrationTokensCommand(this)
|
||||
this.runnerJobs = new RunnerJobsCommand(this)
|
||||
this.videoPasswords = new VideoPasswordsCommand(this)
|
||||
|
||||
this.watchedWordsLists = new WatchedWordsCommand(this)
|
||||
this.autoTags = new AutomaticTagsCommand(this)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue