|
|
@@ -384,27 +384,35 @@ export class DanmuService implements OnModuleInit {
|
|
|
if (!updateAvatar) {
|
|
|
return danmuUser
|
|
|
}
|
|
|
- const {
|
|
|
- data: {
|
|
|
- data: [user]
|
|
|
- }
|
|
|
- } = await axios.get('https://api.twitch.tv/helix/users', {
|
|
|
- headers: {
|
|
|
- Authorization: `Bearer ${await this.getTwitchAppAccessToken()}`,
|
|
|
- 'Client-ID': process.env.TWITCH_CLIENT_ID
|
|
|
- },
|
|
|
- params: {
|
|
|
- id: danmuUser.platformUserId
|
|
|
- }
|
|
|
- })
|
|
|
- const { data } = await axios.get(user.profile_image_url, { responseType: 'arraybuffer' })
|
|
|
+ switch (danmuUser.platform) {
|
|
|
+ case StreamPlatform.Twitch:
|
|
|
+ const {
|
|
|
+ data: {
|
|
|
+ data: [user]
|
|
|
+ }
|
|
|
+ } = await axios.get('https://api.twitch.tv/helix/users', {
|
|
|
+ headers: {
|
|
|
+ Authorization: `Bearer ${await this.getTwitchAppAccessToken()}`,
|
|
|
+ 'Client-ID': process.env.TWITCH_CLIENT_ID
|
|
|
+ },
|
|
|
+ params: {
|
|
|
+ id: danmuUser.platformUserId
|
|
|
+ }
|
|
|
+ })
|
|
|
+ danmuUser.avatar = user.profile_image_url
|
|
|
+ danmuUser.name = user.display_name
|
|
|
+ case StreamPlatform.Bilibili:
|
|
|
+ break
|
|
|
+ case StreamPlatform.Douyu:
|
|
|
+ break
|
|
|
+ }
|
|
|
+ const { data } = await axios.get(danmuUser.avatar, { responseType: 'arraybuffer' })
|
|
|
danmuUser.avatar = (
|
|
|
await this.fileService.uploadBuffer(
|
|
|
data,
|
|
|
- `avatar/${danmuUser.platform}/${danmuUser.platformUserId}${path.extname(user.profile_image_url)}`
|
|
|
+ `avatar/${danmuUser.platform}/${danmuUser.platformUserId}${path.extname(danmuUser.avatar)}`
|
|
|
)
|
|
|
).url
|
|
|
- danmuUser.name = user.display_name
|
|
|
return await this.danmuUserRepository.save(danmuUser)
|
|
|
}
|
|
|
|