@satorijs/adapter-discord 4.1.3 → 4.1.5

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 (42) hide show
  1. package/lib/index.js +15 -21
  2. package/lib/index.js.map +2 -3
  3. package/lib/types/internal.d.ts +3 -2
  4. package/lib/utils.d.ts +1 -1
  5. package/package.json +5 -4
  6. package/src/bot.ts +218 -0
  7. package/src/index.ts +27 -0
  8. package/src/message.ts +444 -0
  9. package/src/types/.eslintrc.yml +2 -0
  10. package/src/types/application-role-connection.ts +61 -0
  11. package/src/types/application.ts +120 -0
  12. package/src/types/audit-log.ts +219 -0
  13. package/src/types/auto-moderation.ts +189 -0
  14. package/src/types/ban.ts +92 -0
  15. package/src/types/channel.ts +501 -0
  16. package/src/types/command.ts +320 -0
  17. package/src/types/component.ts +125 -0
  18. package/src/types/device.ts +44 -0
  19. package/src/types/emoji.ts +96 -0
  20. package/src/types/gateway.ts +334 -0
  21. package/src/types/guild-member.ts +260 -0
  22. package/src/types/guild-template.ts +109 -0
  23. package/src/types/guild.ts +476 -0
  24. package/src/types/index.ts +49 -0
  25. package/src/types/integration.ts +130 -0
  26. package/src/types/interaction.ts +283 -0
  27. package/src/types/internal.ts +43 -0
  28. package/src/types/invite.ts +192 -0
  29. package/src/types/message.ts +470 -0
  30. package/src/types/presence.ts +163 -0
  31. package/src/types/reaction.ts +139 -0
  32. package/src/types/role.ts +252 -0
  33. package/src/types/scheduled-event.ts +200 -0
  34. package/src/types/stage-instance.ts +98 -0
  35. package/src/types/sticker.ts +179 -0
  36. package/src/types/team.ts +33 -0
  37. package/src/types/thread.ts +298 -0
  38. package/src/types/user.ts +154 -0
  39. package/src/types/voice.ts +124 -0
  40. package/src/types/webhook.ts +246 -0
  41. package/src/utils.ts +391 -0
  42. package/src/ws.ts +122 -0
package/lib/index.js CHANGED
@@ -100,10 +100,9 @@ var import_satori2 = require("@satorijs/satori");
100
100
 
101
101
  // satori/adapters/discord/src/types/internal.ts
102
102
  var import_satori = require("@satorijs/satori");
103
- var logger = new import_satori.Logger("discord");
104
103
  var _Internal = class _Internal {
105
- constructor(http) {
106
- this.http = http;
104
+ constructor(bot) {
105
+ this.bot = bot;
107
106
  }
108
107
  static define(routes) {
109
108
  for (const path in routes) {
@@ -131,8 +130,8 @@ var _Internal = class _Internal {
131
130
  throw new Error(`too many arguments for ${path}, received ${raw}`);
132
131
  }
133
132
  try {
134
- logger.debug(`${method} ${url}`, config);
135
- return await this.http(method, url, config);
133
+ this.bot.logger.debug(`${method} ${url}`, config);
134
+ return await this.bot.http(method, url, config);
136
135
  } catch (error) {
137
136
  if (!import_satori.Quester.isAxiosError(error) || !error.response)
138
137
  throw error;
@@ -1538,7 +1537,6 @@ __name(encodeCommandOptions, "encodeCommandOptions");
1538
1537
  // satori/adapters/discord/src/message.ts
1539
1538
  var import_satori3 = require("@satorijs/satori");
1540
1539
  var import_form_data = __toESM(require("form-data"));
1541
- var logger2 = new import_satori3.Logger("discord");
1542
1540
  var _State = class _State {
1543
1541
  // forward: send the first message and create a thread
1544
1542
  constructor(type) {
@@ -1607,7 +1605,7 @@ var _DiscordMessageEncoder = class _DiscordMessageEncoder extends import_satori3
1607
1605
  } catch (e) {
1608
1606
  if (import_satori3.Quester.isAxiosError(e) && e.response) {
1609
1607
  if (((_a = e.response.data) == null ? void 0 : _a.code) === 10015) {
1610
- logger2.debug("webhook has been deleted, recreating..., %o", e.response.data);
1608
+ this.bot.logger.debug("webhook has been deleted, recreating..., %o", e.response.data);
1611
1609
  if (!this.bot.webhookLock[this.channelId])
1612
1610
  this.bot.webhooks[this.channelId] = null;
1613
1611
  await this.ensureWebhook();
@@ -1775,7 +1773,6 @@ var _DiscordMessageEncoder = class _DiscordMessageEncoder extends import_satori3
1775
1773
  await this.render(children);
1776
1774
  if (!this.buffer.endsWith("\n"))
1777
1775
  this.buffer += "\n";
1778
- this.buffer += "\n";
1779
1776
  } else if (type === "blockquote") {
1780
1777
  if (!this.buffer.endsWith("\n"))
1781
1778
  this.buffer += "\n";
@@ -1953,7 +1950,6 @@ var DiscordMessageEncoder = _DiscordMessageEncoder;
1953
1950
 
1954
1951
  // satori/adapters/discord/src/ws.ts
1955
1952
  var import_satori4 = require("@satorijs/satori");
1956
- var logger3 = new import_satori4.Logger("discord");
1957
1953
  var _WsClient = class _WsClient extends import_satori4.Adapter.WsClient {
1958
1954
  _d = 0;
1959
1955
  _ping;
@@ -1967,7 +1963,7 @@ var _WsClient = class _WsClient extends import_satori4.Adapter.WsClient {
1967
1963
  return this.bot.http.ws(url + "/?v=10&encoding=json");
1968
1964
  }
1969
1965
  heartbeat() {
1970
- logger3.debug(`heartbeat d ${this._d}`);
1966
+ this.bot.logger.debug(`heartbeat d ${this._d}`);
1971
1967
  this.socket.send(JSON.stringify({
1972
1968
  op: Gateway.Opcode.HEARTBEAT,
1973
1969
  d: this._d
@@ -1980,16 +1976,16 @@ var _WsClient = class _WsClient extends import_satori4.Adapter.WsClient {
1980
1976
  try {
1981
1977
  parsed = JSON.parse(data.toString());
1982
1978
  } catch (error) {
1983
- return logger3.warn("cannot parse message", data);
1979
+ return this.bot.logger.warn("cannot parse message", data);
1984
1980
  }
1985
- logger3.debug(parsed);
1981
+ this.bot.logger.debug(parsed);
1986
1982
  if (parsed.s) {
1987
1983
  this._d = parsed.s;
1988
1984
  }
1989
1985
  if (parsed.op === Gateway.Opcode.HELLO) {
1990
1986
  this._ping = setInterval(() => this.heartbeat(), parsed.d.heartbeat_interval);
1991
1987
  if (this._sessionId) {
1992
- logger3.debug("resuming");
1988
+ this.bot.logger.debug("resuming");
1993
1989
  this.socket.send(JSON.stringify({
1994
1990
  op: Gateway.Opcode.RESUME,
1995
1991
  d: {
@@ -2014,7 +2010,7 @@ var _WsClient = class _WsClient extends import_satori4.Adapter.WsClient {
2014
2010
  if (parsed.d)
2015
2011
  return;
2016
2012
  this._sessionId = "";
2017
- logger3.warn("offline: invalid session");
2013
+ this.bot.logger.warn("offline: invalid session");
2018
2014
  (_a = this.socket) == null ? void 0 : _a.close();
2019
2015
  }
2020
2016
  if (parsed.op === Gateway.Opcode.DISPATCH) {
@@ -2027,7 +2023,7 @@ var _WsClient = class _WsClient extends import_satori4.Adapter.WsClient {
2027
2023
  this._sessionId = parsed.d.session_id;
2028
2024
  this._resumeUrl = parsed.d.resume_gateway_url;
2029
2025
  this.bot.user = decodeUser(parsed.d.user);
2030
- logger3.debug("session_id " + this._sessionId);
2026
+ this.bot.logger.debug("session_id " + this._sessionId);
2031
2027
  return this.bot.online();
2032
2028
  }
2033
2029
  if (parsed.t === "RESUMED") {
@@ -2038,7 +2034,7 @@ var _WsClient = class _WsClient extends import_satori4.Adapter.WsClient {
2038
2034
  this.bot.dispatch(session);
2039
2035
  }
2040
2036
  if (parsed.op === Gateway.Opcode.RECONNECT) {
2041
- logger3.warn("offline: discord request reconnect");
2037
+ this.bot.logger.warn("offline: discord request reconnect");
2042
2038
  (_b = this.socket) == null ? void 0 : _b.close();
2043
2039
  }
2044
2040
  });
@@ -2060,7 +2056,6 @@ var WsClient = _WsClient;
2060
2056
 
2061
2057
  // satori/adapters/discord/src/bot.ts
2062
2058
  var import_package = require("../package.json");
2063
- var logger4 = new import_satori5.Logger("discord");
2064
2059
  var _DiscordBot = class _DiscordBot extends import_satori5.Bot {
2065
2060
  http;
2066
2061
  internal;
@@ -2068,8 +2063,7 @@ var _DiscordBot = class _DiscordBot extends import_satori5.Bot {
2068
2063
  webhookLock = {};
2069
2064
  commands = [];
2070
2065
  constructor(ctx, config) {
2071
- super(ctx, config);
2072
- this.platform = "discord";
2066
+ super(ctx, config, "discord");
2073
2067
  this.http = ctx.http.extend({
2074
2068
  ...config,
2075
2069
  headers: {
@@ -2078,7 +2072,7 @@ var _DiscordBot = class _DiscordBot extends import_satori5.Bot {
2078
2072
  ...config.headers
2079
2073
  }
2080
2074
  });
2081
- this.internal = new Internal(this.http);
2075
+ this.internal = new Internal(this);
2082
2076
  ctx.plugin(WsClient, this);
2083
2077
  }
2084
2078
  async _ensureWebhook(channelId) {
@@ -2222,7 +2216,7 @@ var _DiscordBot = class _DiscordBot extends import_satori5.Bot {
2222
2216
  this.commands = commands;
2223
2217
  const updates = commands.map(encodeCommand);
2224
2218
  if (updates.length) {
2225
- logger4.debug("update %d command(s)", updates.length);
2219
+ this.logger.debug("update %d command(s)", updates.length);
2226
2220
  await this.internal.bulkOverwriteGlobalApplicationCommands(this.selfId, updates);
2227
2221
  }
2228
2222
  }