1- import { AnalyticsBase , ApiEndpoints , AnalyticsOptions , ErrorCodes , InteractionType } from '@discordanalytics/core' ;
1+ import {
2+ AnalyticsBase ,
3+ ApiEndpoints ,
4+ AnalyticsOptions ,
5+ ErrorCodes ,
6+ InteractionType ,
7+ Locale , LocaleData
8+ } from '@discordanalytics/core' ;
29import npmPackageData from '../package.json' ;
310
411/**
@@ -73,6 +80,13 @@ export default class DiscordAnalytics extends AnalyticsBase {
7380 const userCount = this . _client . guilds . reduce ( ( a : number , g : any ) => a + g . memberCount , 0 ) ;
7481 const guildMembers : number [ ] = this . _client . guilds . map ( ( guild : any ) => guild . memberCount ) ;
7582
83+ let guildLocales : LocaleData [ ] = [ ]
84+ this . _client . guilds . map ( ( current : any ) => guildLocales . find ( ( x ) => x . locale === current . preferredLocale ) ?
85+ ++ guildLocales . find ( ( x ) => x . locale === current . preferredLocale ) ! . number :
86+ guildLocales . push ( { locale : current . preferredLocale , number : 1 } ) ) ;
87+
88+ this . stats_data . guildsLocales = guildLocales ;
89+
7690 await this . sendStats ( this . _client . user . id , guildCount , userCount , 0 , guildMembers ) ;
7791 } , fast_mode ? 30000 : 300000 ) ;
7892 }
@@ -88,13 +102,6 @@ export default class DiscordAnalytics extends AnalyticsBase {
88102 this . debug ( '[DISCORDANALYTICS] trackInteractions() triggered' ) ;
89103 if ( ! this . _isReady ) return this . error ( ErrorCodes . INSTANCE_NOT_INITIALIZED ) ;
90104
91- this . updateOrInsert (
92- this . stats_data . guildsLocales ,
93- ( x ) => x . locale === interaction . guild ?. preferredLocale ,
94- ( x ) => x . number ++ ,
95- ( ) => ( { locale : interaction . guild ?. preferredLocale , number : 1 } )
96- ) ;
97-
98105 if ( interaction . type === InteractionType . ApplicationCommand ) {
99106 const name = interactionNameResolver ? interactionNameResolver ( interaction ) : interaction . data . name ;
100107 this . updateOrInsert (
0 commit comments