@yaebal/contexts 0.0.4 → 0.0.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 (112) hide show
  1. package/lib/generated/business-connection.d.ts +48 -0
  2. package/lib/generated/business-connection.d.ts.map +1 -1
  3. package/lib/generated/business-connection.js +96 -0
  4. package/lib/generated/business-connection.js.map +1 -1
  5. package/lib/generated/business-message.d.ts +83 -41
  6. package/lib/generated/business-message.d.ts.map +1 -1
  7. package/lib/generated/business-message.js +125 -41
  8. package/lib/generated/business-message.js.map +1 -1
  9. package/lib/generated/callback-query.d.ts +40 -40
  10. package/lib/generated/callback-query.d.ts.map +1 -1
  11. package/lib/generated/callback-query.js +40 -40
  12. package/lib/generated/callback-query.js.map +1 -1
  13. package/lib/generated/channel-post.d.ts +33 -35
  14. package/lib/generated/channel-post.d.ts.map +1 -1
  15. package/lib/generated/channel-post.js +37 -41
  16. package/lib/generated/channel-post.js.map +1 -1
  17. package/lib/generated/chat-boost.d.ts +0 -12
  18. package/lib/generated/chat-boost.d.ts.map +1 -1
  19. package/lib/generated/chat-boost.js +0 -24
  20. package/lib/generated/chat-boost.js.map +1 -1
  21. package/lib/generated/chat-join-request.d.ts +0 -12
  22. package/lib/generated/chat-join-request.d.ts.map +1 -1
  23. package/lib/generated/chat-join-request.js +0 -24
  24. package/lib/generated/chat-join-request.js.map +1 -1
  25. package/lib/generated/chat-member.d.ts +0 -12
  26. package/lib/generated/chat-member.d.ts.map +1 -1
  27. package/lib/generated/chat-member.js +0 -24
  28. package/lib/generated/chat-member.js.map +1 -1
  29. package/lib/generated/deleted-business-messages.d.ts +68 -38
  30. package/lib/generated/deleted-business-messages.d.ts.map +1 -1
  31. package/lib/generated/deleted-business-messages.js +108 -48
  32. package/lib/generated/deleted-business-messages.js.map +1 -1
  33. package/lib/generated/edited-business-message.d.ts +83 -41
  34. package/lib/generated/edited-business-message.d.ts.map +1 -1
  35. package/lib/generated/edited-business-message.js +125 -41
  36. package/lib/generated/edited-business-message.js.map +1 -1
  37. package/lib/generated/edited-channel-post.d.ts +33 -35
  38. package/lib/generated/edited-channel-post.d.ts.map +1 -1
  39. package/lib/generated/edited-channel-post.js +37 -41
  40. package/lib/generated/edited-channel-post.js.map +1 -1
  41. package/lib/generated/edited-message.d.ts +33 -35
  42. package/lib/generated/edited-message.d.ts.map +1 -1
  43. package/lib/generated/edited-message.js +37 -41
  44. package/lib/generated/edited-message.js.map +1 -1
  45. package/lib/generated/guest-message.d.ts +33 -35
  46. package/lib/generated/guest-message.d.ts.map +1 -1
  47. package/lib/generated/guest-message.js +37 -41
  48. package/lib/generated/guest-message.js.map +1 -1
  49. package/lib/generated/message-reaction-count.d.ts +0 -16
  50. package/lib/generated/message-reaction-count.d.ts.map +1 -1
  51. package/lib/generated/message-reaction-count.js +0 -32
  52. package/lib/generated/message-reaction-count.js.map +1 -1
  53. package/lib/generated/message-reaction.d.ts +0 -16
  54. package/lib/generated/message-reaction.d.ts.map +1 -1
  55. package/lib/generated/message-reaction.js +0 -32
  56. package/lib/generated/message-reaction.js.map +1 -1
  57. package/lib/generated/message.d.ts +33 -35
  58. package/lib/generated/message.d.ts.map +1 -1
  59. package/lib/generated/message.js +37 -41
  60. package/lib/generated/message.js.map +1 -1
  61. package/lib/generated/my-chat-member.d.ts +0 -12
  62. package/lib/generated/my-chat-member.d.ts.map +1 -1
  63. package/lib/generated/my-chat-member.js +0 -24
  64. package/lib/generated/my-chat-member.js.map +1 -1
  65. package/lib/generated/removed-chat-boost.d.ts +0 -12
  66. package/lib/generated/removed-chat-boost.d.ts.map +1 -1
  67. package/lib/generated/removed-chat-boost.js +0 -24
  68. package/lib/generated/removed-chat-boost.js.map +1 -1
  69. package/lib/index.test.js +172 -1
  70. package/lib/index.test.js.map +1 -1
  71. package/lib/sugar/business-message.d.ts +12 -3
  72. package/lib/sugar/business-message.d.ts.map +1 -1
  73. package/lib/sugar/business-message.js +12 -1
  74. package/lib/sugar/business-message.js.map +1 -1
  75. package/lib/sugar/channel-post.d.ts +5 -2
  76. package/lib/sugar/channel-post.d.ts.map +1 -1
  77. package/lib/sugar/edited-business-message.d.ts +12 -3
  78. package/lib/sugar/edited-business-message.d.ts.map +1 -1
  79. package/lib/sugar/edited-business-message.js +12 -1
  80. package/lib/sugar/edited-business-message.js.map +1 -1
  81. package/lib/sugar/edited-channel-post.d.ts +5 -2
  82. package/lib/sugar/edited-channel-post.d.ts.map +1 -1
  83. package/lib/sugar/edited-message.d.ts +5 -2
  84. package/lib/sugar/edited-message.d.ts.map +1 -1
  85. package/lib/sugar/message-mixin.d.ts +6 -0
  86. package/lib/sugar/message-mixin.d.ts.map +1 -1
  87. package/lib/sugar/message-mixin.js +32 -1
  88. package/lib/sugar/message-mixin.js.map +1 -1
  89. package/lib/sugar/message.d.ts +5 -2
  90. package/lib/sugar/message.d.ts.map +1 -1
  91. package/package.json +2 -2
  92. package/src/generated/business-connection.ts +96 -0
  93. package/src/generated/business-message.ts +166 -82
  94. package/src/generated/callback-query.ts +80 -80
  95. package/src/generated/channel-post.ts +66 -70
  96. package/src/generated/chat-boost.ts +0 -24
  97. package/src/generated/chat-join-request.ts +0 -24
  98. package/src/generated/chat-member.ts +0 -24
  99. package/src/generated/deleted-business-messages.ts +136 -76
  100. package/src/generated/edited-business-message.ts +166 -82
  101. package/src/generated/edited-channel-post.ts +66 -70
  102. package/src/generated/edited-message.ts +66 -70
  103. package/src/generated/guest-message.ts +66 -70
  104. package/src/generated/message-reaction-count.ts +0 -32
  105. package/src/generated/message-reaction.ts +0 -32
  106. package/src/generated/message.ts +66 -70
  107. package/src/generated/my-chat-member.ts +0 -24
  108. package/src/generated/removed-chat-boost.ts +0 -24
  109. package/src/index.test.ts +193 -0
  110. package/src/sugar/business-message.ts +14 -2
  111. package/src/sugar/edited-business-message.ts +14 -2
  112. package/src/sugar/message-mixin.ts +41 -1
@@ -26,11 +26,44 @@ interface MessageFields {
26
26
  chat: t.Chat;
27
27
  message_id: number;
28
28
  from?: t.User;
29
+ business_connection_id?: string;
30
+ message_thread_id?: number;
31
+ direct_messages_topic?: t.DirectMessagesTopic;
29
32
  }
30
33
 
31
34
  // biome-ignore lint/suspicious/noExplicitAny: mixin base constructor
32
35
  type Ctor<T> = abstract new (...args: any[]) => T;
33
36
 
37
+ /**
38
+ * on a business message every action has to be routed through the connection, or
39
+ * Telegram performs it as the bot instead of the connected account. shared by every
40
+ * method below — editMessageText/editMessageCaption take business_connection_id too.
41
+ */
42
+ function businessRouting(ctx: MessageFields): { business_connection_id?: string } {
43
+ return ctx.business_connection_id === undefined
44
+ ? {}
45
+ : { business_connection_id: ctx.business_connection_id };
46
+ }
47
+
48
+ /**
49
+ * full outgoing routing for send/reply: the business connection plus the forum topic /
50
+ * direct-messages topic this message lives in, so a reply doesn't fall back to General.
51
+ * (undefined is dropped by `encodeRequest`, so plain messages are unaffected.)
52
+ */
53
+ function routing(ctx: MessageFields): {
54
+ business_connection_id?: string;
55
+ message_thread_id?: number;
56
+ direct_messages_topic_id?: number;
57
+ } {
58
+ return {
59
+ ...businessRouting(ctx),
60
+ ...(ctx.message_thread_id === undefined ? {} : { message_thread_id: ctx.message_thread_id }),
61
+ ...(ctx.direct_messages_topic?.topic_id === undefined
62
+ ? {}
63
+ : { direct_messages_topic_id: ctx.direct_messages_topic.topic_id }),
64
+ };
65
+ }
66
+
34
67
  /**
35
68
  * Adds the ergonomic positional overloads + convenience getters shared by every
36
69
  * Message-based context (message, channel_post, edited_*, business_*). Methods
@@ -43,7 +76,11 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
43
76
  send(params: Omit<t.SendMessageParams, "chat_id">): Promise<t.Message>;
44
77
  send(a: string | Omit<t.SendMessageParams, "chat_id">, b?: SendExtra): Promise<t.Message> {
45
78
  const params = typeof a === "string" ? { text: a, ...b } : a;
46
- return this.api.call<t.Message>("sendMessage", { chat_id: this.chat.id, ...params });
79
+ return this.api.call<t.Message>("sendMessage", {
80
+ chat_id: this.chat.id,
81
+ ...routing(this),
82
+ ...params,
83
+ });
47
84
  }
48
85
 
49
86
  /** Reply to this message. Pass a string for the common case. */
@@ -54,6 +91,7 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
54
91
  return this.api.call<t.Message>("sendMessage", {
55
92
  chat_id: this.chat.id,
56
93
  reply_parameters: { message_id: this.message_id },
94
+ ...routing(this),
57
95
  ...params,
58
96
  });
59
97
  }
@@ -71,6 +109,7 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
71
109
  return this.api.call<t.Message | boolean>("editMessageText", {
72
110
  chat_id: this.chat.id,
73
111
  message_id: this.message_id,
112
+ ...businessRouting(this),
74
113
  ...params,
75
114
  });
76
115
  }
@@ -88,6 +127,7 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
88
127
  return this.api.call<t.Message | boolean>("editMessageCaption", {
89
128
  chat_id: this.chat.id,
90
129
  message_id: this.message_id,
130
+ ...businessRouting(this),
91
131
  ...params,
92
132
  });
93
133
  }