catto.js 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/User.js +83 -18
  2. package/index.js +1 -1
  3. package/package.json +1 -1
  4. package/Flags.js +0 -6
package/User.js CHANGED
@@ -80,43 +80,99 @@ module.exports = class {
80
80
  get tag() {
81
81
  return `${this.name}#${this.discrim}`;
82
82
  }
83
- get badges() {
84
- var i = 23;
85
- var p = (this.options.flags ? (this.options.flags.bitfield ? this.options.flags.bitfield : this.options.flags) : (this.options.publicFlags.bitfield ? this.options.publicFlags.bitfield : this.options.publicFlags));
86
- var f = [];
87
- while (--i > -1) {
88
- if (![21, 20, 15, 13, 12, 11, 5, 4].includes(i) && p >= (1 << i)) {
89
- p -= (1 << i);
90
- f.push(i);
91
- }
92
- }
83
+ get flags() {
93
84
  var fl = [
94
85
  "STAFF",
95
86
  "PARTNER",
96
87
  "HYPESQUAD",
97
88
  "BUG_HUNTER_LEVEL_1",
98
- null,
99
- null,
89
+ "MFA_SMS",
90
+ "PREMIUM_PROMO_DISMISSED",
100
91
  "HYPESQUAD_ONLINE_HOUSE_1",
101
92
  "HYPESQUAD_ONLINE_HOUSE_2",
102
93
  "HYPESQUAD_ONLINE_HOUSE_3",
103
94
  "PREMIUM_EARLY_SUPPORTER",
104
95
  "TEAM_PSEUDO_USER",
105
- null,
106
- null,
107
- null,
96
+ "INTERNAL_APPLICATION",
97
+ "SYSTEM",
98
+ "HAS_UNREAD_URGENT_MESSAGES",
108
99
  "BUG_HUNTER_LEVEL_2",
109
- null,
100
+ "UNDERAGE_DELETED",
110
101
  "VERIFIED_BOT",
111
102
  "VERIFIED_DEVELOPER",
112
103
  "CERTIFIED_MODERATOR",
113
104
  "BOT_HTTP_INTERACTIONS",
105
+ "SPAMMER",
106
+ "DISABLE_PREMIUM",
107
+ "ACTIVE_DEVELOPER",
108
+ null,
109
+ null,
110
+ null,
111
+ null,
112
+ null,
113
+ null,
114
+ null,
115
+ null,
114
116
  null,
115
117
  null,
116
- "ACTIVE_DEVELOPER"
118
+ "HIGH_GLOBAL_RATE_LIMIT",
119
+ "DELETED",
120
+ "DISABLED_SUSPICIOUS_ACTIVITY",
121
+ "SELF_DELETED",
122
+ "PREMIUM_DISCRIMINATOR",
123
+ "USED_DESKTOP_CLIENT",
124
+ "USED_WEB_CLIENT",
125
+ "USED_MOBILE_CLIENT",
126
+ "DISABLED",
127
+ null,
128
+ "VERIFIED_EMAIL",
129
+ "QUARANTINED",
130
+ null,
131
+ null,
132
+ null,
133
+ null,
134
+ null,
135
+ "COLLABORATOR",
136
+ "RESTRICTED_COLLABORATOR"
117
137
  ];
138
+ var i = -1;
139
+ var p = (this.options.flags ? (this.options.flags.bitfield ? this.options.flags.bitfield : this.options.flags) : (this.options.publicFlags.bitfield ? this.options.publicFlags.bitfield : this.options.publicFlags));
140
+ var f = [];
141
+ while (++i < fl.length) {
142
+ if (p & (1 << i)) {
143
+ f.push(i);
144
+ }
145
+ }
118
146
  return f.map(n => fl[n]);
119
147
  }
148
+ get badges() {
149
+ return this.flags.filter(flag => ![
150
+ "MFA_SMS",
151
+ "PREMIUM_PROMO_DISMISSED",
152
+ "TEAM_PSEUDO_USER",
153
+ "INTERNAL_APPLICATION",
154
+ "SYSTEM",
155
+ "HAS_UNREAD_URGENT_MESSAGES",
156
+ "UNDERAGE_DELETED",
157
+ "VERIFIED_BOT",
158
+ "BOT_HTTP_INTERACTIONS",
159
+ "SPAMMER",
160
+ "DISABLE_PREMIUM",
161
+ "HIGH_GLOBAL_RATE_LIMIT",
162
+ "DELETED",
163
+ "DISABLED_SUSPICIOUS_ACTIVITY",
164
+ "SELF_DELETED",
165
+ "PREMIUM_DISCRIMINATOR",
166
+ "USED_DESKTOP_CLIENT",
167
+ "USED_WEB_CLIENT",
168
+ "USED_MOBILE_CLIENT",
169
+ "DISABLED",
170
+ "VERIFIED_EMAIL",
171
+ "QUARANTINED",
172
+ "COLLABORATOR",
173
+ "RESTRICTED_COLLABORATOR"
174
+ ].includes(flag));
175
+ }
120
176
  get bannerHash() {
121
177
  return this.options.banner;
122
178
  }
@@ -168,11 +224,20 @@ module.exports = class {
168
224
  return this.options.bot;
169
225
  }
170
226
  get isBotVerified() {
171
- return this.badges.has("VERIFIED_BOT");
227
+ return this.isBot && this.flags.has("VERIFIED_BOT");
228
+ }
229
+ get isBotHTTP() {
230
+ return this.isBot && this.flags.has("BOT_HTTP_INTERACTIONS");
231
+ }
232
+ get isBotWS() {
233
+ return this.isBot && !this.isBotHTTP;
172
234
  }
173
235
  get isSystem() {
174
236
  return this.options.system;
175
237
  }
238
+ get isSpammer() {
239
+ return this.flags.has("SPAMMER");
240
+ }
176
241
  async requestApplication() {
177
242
  if (this.isBot) {
178
243
  this.application = new Application((await request.get({
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  var mod = {};
2
- ["random", "Server", "HTML", "request", "AuthClient", "utils", "GitHub", "Base64", "User", "Bitfield", "Flags", "Bot", "Application", "MessageBuilder", "TelegramBot", "TelegramMessage", "TelegramChannel", "TelegramMessageBuilder", "TelegramInteraction", "TelegramUser", "TelegramFile"].forEach(part => {
2
+ ["random", "Server", "HTML", "request", "AuthClient", "utils", "GitHub", "Base64", "User", "Bitfield", "Bot", "Application", "MessageBuilder", "TelegramBot", "TelegramMessage", "TelegramChannel", "TelegramMessageBuilder", "TelegramInteraction", "TelegramUser", "TelegramFile"].forEach(part => {
3
3
  mod[part] = require(`./${part}`);
4
4
  });
5
5
  module.exports = mod;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "catto.js",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Universal module for everything.",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/Flags.js DELETED
@@ -1,6 +0,0 @@
1
- var Bitfield = require("./Bitfield");
2
- module.exports = class extends Bitfield {
3
- constructor(value) {
4
- super(value, 23, [21, 20, 15, 13, 12, 11, 5, 4]);
5
- }
6
- };