-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathconfig.js
More file actions
217 lines (197 loc) · 11.4 KB
/
config.js
File metadata and controls
217 lines (197 loc) · 11.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
// Your app Token, if you don't know it you can reset it here : https://discord.com/developers/applications > Your App > Bot > Reset Token
const token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// With discord developper mode on, right click your server and "copy server ID"
const guildID = "XXXXXXXXXXXXXXXXXXX";
// For all channelID below, right click a channel in your discord server and "copy server ID" with developper mode on
// THE ID OF THE DISCORD CHANNEL - Where ID list, AutoKick alerts are sent
const channelID_Commands = "XXXXXXXXXXXXXXXXXXX";
// THE ID OF THE DISCORD CHANNEL - Where statistics of users will be sent
const channelID_UserStats = "XXXXXXXXXXXXXXXXXXX";
// THE ID OF THE DISCORD CHANNEL - Where GP validation threads will be created ⚠️ IT HAVE TO BE A FORUM CHANNEL, look for discord community server for more info
const channelID_GPVerificationForum = "XXXXXXXXXXXXXXXXXXX";
// THE ID OF THE DISCORD CHANNEL - Where Double 2 Star validation threads will be created ⚠️ IT HAVE TO BE A FORUM CHANNEL, look for discord community server for more info
const channelID_2StarVerificationForum = "";
// THE ID OF THE DISCORD CHANNEL - Where the Packs Webhooks is linked, better be a separate channel from heartbeat webhook
const channelID_Webhook = "XXXXXXXXXXXXXXXXXXX";
// THE ID OF THE DISCORD CHANNEL - Where the Heartbeat Webhooks is linked, better be a separate channel from packs webhook
const channelID_Heartbeat = "XXXXXXXXXXXXXXXXXXX";
// THE ID OF THE DISCORD CHANNEL - Where the AntiCheat pseudonyms are sent in order to analyse
const channelID_AntiCheat = "";
// Create a new fine-grained token for your GitHub account, and make sure to only check to read/write your Gists : https://github.com/settings/tokens
const gitToken = "github_pat_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// Then, create a GitGist : https://gist.github.com/ and get its ID (the numbers in the URL).
const gitGistID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// And the GitGist Name based on the name you gave it
const gitGistGroupName = "PTCGPRerollGroupIDs";
// And the GitGist Name based on the name you gave it
const gitGistGPName = "EligibleGPs";
// =========================================== RULES ===========================================
// Choose if you want the AntiCheat to be enabled or not, if yes then fill "channelID_AntiCheat" above
const AntiCheat = true;
// If you want your group to be able to add other ppl than themselves using /active @user
const canPeopleAddOthers = true;
// If you want your group to be able to remove other ppl than themselves using /inactive @user
const canPeopleRemoveOthers = true;
// If you want to output selected Packs in ids.txt, see Hoytdj patch note : https://github.com/hoytdj/PTCGPB/releases/tag/v1.5.4
const enableRoleBasedFilters = true;
// =========================================== AUTO KICK ===========================================
// Setting this to true will enable auto kick and kick players based on the others factors below
const AutoKick = false;
// Every X minute divided by 2 it will alternate between sending user stats and checking for inactive peoples
// Exemple with a value of 10 : 5mn:InactivityCheck, 10mn:UserStats, 15mn:InactivityCheck, 20mn:UserStats, etc...
var refreshInterval = 10;
// After how many minutes the user will be consider inactive (keep in mind that heartbeats are sent every 30mn by default)
var inactiveTime = 61;
// At which number of instances users will be kicked, for a value of 1, users with 2 instances and above won't be kicked (Main is not counted as an instance)
var inactiveInstanceCount = 1;
// At which number of instances users will be kicked, for a value of 1, users below 1 pack per min will be kicked)
var inactivePackPerMinCount = 1;
// Kick instantly if it detects that Main is On AND Offline ⚠️ At this time there are false positive where Main could be considered offline but it have no issue in reality
var inactiveIfMainOffline = false;
// =========================================== LEECHING ===========================================
// Decide wether or not ppl can leech
const canPeopleLeech = false;
// Decide after how many GP found ppl can be able to leech
const leechPermGPCount = 20;
// Decide after how many packs opened ppl can be able to leech
const leechPermPackCount = 50000;
// =========================================== GP STATS ===========================================
// Decide if you want your Servers Stats (GP stats) to be reset every 4hours which could prevent some duplicated stuff in ServerData.xml
const resetServerDataFrequently = true;
// Decide how frequently you want to Reset GP Stats, default to 4 hours (240mn)
const resetServerDataTime = 240;
// 🔴 I highly recommend you to let the the next one disabled, it can cause random crashes if running on low-end servers
// Upload UserData.xml to GitGist, "resetServerDataFrequently" also needs to be true for it to work
const outputUserDataOnGitGist = false;
// =========================================== ELIGIBLES IDs ===========================================
// If some ppl in your group are running Min2Stars : 2 and some others 3, that flags all the GPs as 5/5 in the list to avoid to auto remove bot from kicking 2/5 for those who are at Min2Stars : 3
const safeEligibleIDsFiltering = true; // true = all flagged as 5/5
const addDoubleStarToVipIdsTxt = false; // true = add double star pack account usernames to vip ids txt for GP Test Mode
// =========================================== FORCE SKIP ===========================================
// Allows you to bypass GP based on Packs Amount, Exemple : forceSkipMin2Stars 2 & forceSkipMinPacks 2 will
// - not send in verif forum all GP [3P][2/5] [4P][2/5] [5P][2/5] and below
// - send in verif forum all GP [1P][2/5] [2P][2/5] and abobe
const forceSkipMin2Stars = 2;
const forceSkipMinPacks = 2;
// =========================================== OTHER TIME SETTINGS ===========================================
// Decide after how much time you want the verification posts to automatically closed, it'll be the time from the post creation, not the last activity
// Age of post be before closing the post ⚠️ Closed Posts will be removed from the Eligible GPs / VIP IDs list
const AutoCloseLivePostTime = 96;//hours
const AutoCloseNotLivePostTime = 36;//hours
// No need to modify it except if you specifically changed it in the script
const heartbeatRate = 30;//minutes
// No need to modify it except if you specifically changed it in the script
const antiCheatRate = 3;//minutes
// Decide how frequently you want to Backup UserDatas, default to 30mn
const backupUserDatasTime = 30;//minutes
// Delete some messages after X seconds (/active /inactive /refresh /forcerefresh) 0 = no delete
const delayMsgDeleteState = 10;//seconds
// =========================================== DISPLAY SETTINGS ===========================================
// Choose language
const EnglishLanguage = false;
// Do you want to show GP Lives per User in Stats
const showPerPersonLive = true;
// =========================================== OTHER SETTINGS ===========================================
// Number of /miss needed before a post is marked as dead, here it means 1pack=4miss, 2packs=6miss, 3packs=8miss, etc..
const missBeforeDead = [4,6,8,10,12];
// Multiply the Miss required when a post is flagged as NotLiked (ex : with a value of 0.5 a post with 8 miss required will switch to 4 miss)
const missNotLikedMultiplier = [0.5,0.5,0.5,0.75,0.85,1]; // Based on two stars Amount, ex : x0.85 for a [4/5]
// The average Min2Stars of the group on Arturo's bot, used to calculate the Potential Lives GP
const min2Stars = 0;//can be a floating number ex:2.5
//What does your group runs, it is used for AntiCheat
const groupPacksType = 5;// 5 for 5 packs, 3 for 3packs
// =========================================== AESTHETICS ===========================================
// Icons of GP Validation
const text_verifiedLogo = "✅";
const text_likedLogo = "🔥";
const text_waitingLogo = "⌛";
const text_notLikedLogo = "🥶";
const text_deadLogo = "💀";
const leaderboardBestFarm1_CustomEmojiName = "Chadge"; // 🌟 if not found
const leaderboardBestFarm2_CustomEmojiName = "PeepoLove"; // ⭐️ if not found
const leaderboardBestFarm3_CustomEmojiName = "PeepoShy"; // ✨ if not found
const leaderboardBestFarmLength = 6; // Number of Peoples showing in "Best Farmers"
const leaderboardBestVerifier1_CustomEmojiName = "Wicked"; // 🥇 if not found
const leaderboardBestVerifier2_CustomEmojiName = "PeepoSunglasses"; // 🥈 if not found
const leaderboardBestVerifier3_CustomEmojiName = "PeepoHappy"; // 🥉 if not found
const leaderboardWorstVerifier1_CustomEmojiName = "Bedge"; // 😈 if not found
const leaderboardWorstVerifier2_CustomEmojiName = "PeepoClown"; // 👿 if not found
const leaderboardWorstVerifier3_CustomEmojiName = "DinkDonk"; // 💀 if not found /!\ This one the worst one, it should be at the top but that helps for readability
const GA_Mewtwo_CustomEmojiName = "mewtwo"; // 🧠 if not found, alternative : 🟣
const GA_Charizard_CustomEmojiName = "charizard"; // 🔥 if not found, alternative : 🟠
const GA_Pikachu_CustomEmojiName = "pikachu"; // ⚡️ if not found, alternative : 🟡
const MI_Mew_CustomEmojiName = "mew"; // 🏝️ if not found, alternative : 🟢
const STS_Dialga_CustomEmojiName = "dialga"; // 🕒 if not found, alternative : 🟦
const STS_Palkia_CustomEmojiName = "palkia"; // 🌌 if not found, alternative : 🟪
const TL_Arceus_CustomEmojiName = "arceus"; // 💡 if not found, alternative : 🟨
const SR_Giratina_CustomEmojiName = "lucario_shiny"; // ✨ if not found
export {
token,
guildID,
channelID_Commands,
channelID_UserStats,
channelID_GPVerificationForum,
channelID_2StarVerificationForum,
channelID_Webhook,
channelID_Heartbeat,
channelID_AntiCheat,
gitToken,
gitGistID,
gitGistGroupName,
gitGistGPName,
missBeforeDead,
missNotLikedMultiplier,
showPerPersonLive,
EnglishLanguage,
AntiCheat,
AutoKick,
refreshInterval,
inactiveTime,
inactiveInstanceCount,
inactivePackPerMinCount,
inactiveIfMainOffline,
AutoCloseLivePostTime,
AutoCloseNotLivePostTime,
heartbeatRate,
antiCheatRate,
delayMsgDeleteState,
backupUserDatasTime,
min2Stars,
groupPacksType,
canPeopleAddOthers,
canPeopleRemoveOthers,
enableRoleBasedFilters,
canPeopleLeech,
leechPermGPCount,
leechPermPackCount,
resetServerDataFrequently,
resetServerDataTime,
safeEligibleIDsFiltering,
addDoubleStarToVipIdsTxt,
forceSkipMin2Stars,
forceSkipMinPacks,
text_verifiedLogo,
text_likedLogo,
text_waitingLogo,
text_notLikedLogo,
text_deadLogo,
leaderboardBestFarm1_CustomEmojiName,
leaderboardBestFarm2_CustomEmojiName,
leaderboardBestFarm3_CustomEmojiName,
leaderboardBestFarmLength,
leaderboardBestVerifier1_CustomEmojiName,
leaderboardBestVerifier2_CustomEmojiName,
leaderboardBestVerifier3_CustomEmojiName,
leaderboardWorstVerifier1_CustomEmojiName,
leaderboardWorstVerifier2_CustomEmojiName,
leaderboardWorstVerifier3_CustomEmojiName,
GA_Mewtwo_CustomEmojiName,
GA_Charizard_CustomEmojiName,
GA_Pikachu_CustomEmojiName,
MI_Mew_CustomEmojiName,
STS_Dialga_CustomEmojiName,
STS_Palkia_CustomEmojiName,
TL_Arceus_CustomEmojiName,
SR_Giratina_CustomEmojiName,
outputUserDataOnGitGist,
};