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 })
|
|
}
|