You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
550 B
TypeScript
18 lines
550 B
TypeScript
import Bluebird from 'bluebird'
|
|||
import { PeerTubeServer } from '@peertube/peertube-server-commands'
|
|||
|
|||
module.exports = async function sendViews (options: {
|
|||
url: string
|
|||
videoId: number
|
|||
viewers: { xForwardedFor: string }[]
|
|||
}) {
|
|||
const { url, videoId, viewers } = options
|
|||
|
|||
const server = new PeerTubeServer({ url })
|
|||
|
|||
await Bluebird.map(viewers, viewer => {
|
|||
return server.views.simulateView({ id: videoId, xForwardedFor: viewer.xForwardedFor })
|
|||
.catch(err => console.error('Cannot simulate viewer', err))
|
|||
}, { concurrency: 500 })
|
|||
}
|