@yuniruyuni/n8n-nodes-twitch 0.1.5 → 0.1.6

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 (203) hide show
  1. package/dist/nodes/{TwitchBans/TwitchBans.node.d.ts → Twitch/Twitch.node.d.ts} +1 -1
  2. package/dist/nodes/Twitch/Twitch.node.js +145 -0
  3. package/dist/nodes/Twitch/Twitch.node.js.map +1 -0
  4. package/dist/nodes/Twitch/resources/Announcement.d.ts +3 -0
  5. package/dist/nodes/Twitch/resources/Announcement.js +146 -0
  6. package/dist/nodes/Twitch/resources/Announcement.js.map +1 -0
  7. package/dist/nodes/Twitch/resources/Ban.d.ts +3 -0
  8. package/dist/nodes/Twitch/resources/Ban.js +324 -0
  9. package/dist/nodes/Twitch/resources/Ban.js.map +1 -0
  10. package/dist/nodes/Twitch/resources/BitsLeaderboard.d.ts +3 -0
  11. package/dist/nodes/Twitch/resources/BitsLeaderboard.js +152 -0
  12. package/dist/nodes/Twitch/resources/BitsLeaderboard.js.map +1 -0
  13. package/dist/nodes/Twitch/resources/Channel.d.ts +3 -0
  14. package/dist/nodes/Twitch/resources/Channel.js +78 -0
  15. package/dist/nodes/Twitch/resources/Channel.js.map +1 -0
  16. package/dist/nodes/Twitch/resources/ChatMessage.d.ts +3 -0
  17. package/dist/nodes/Twitch/resources/ChatMessage.js +110 -0
  18. package/dist/nodes/Twitch/resources/ChatMessage.js.map +1 -0
  19. package/dist/nodes/Twitch/resources/Chatter.d.ts +3 -0
  20. package/dist/nodes/Twitch/resources/Chatter.js +109 -0
  21. package/dist/nodes/Twitch/resources/Chatter.js.map +1 -0
  22. package/dist/nodes/Twitch/resources/Cheermote.d.ts +3 -0
  23. package/dist/nodes/Twitch/resources/Cheermote.js +73 -0
  24. package/dist/nodes/Twitch/resources/Cheermote.js.map +1 -0
  25. package/dist/nodes/Twitch/resources/Clip.d.ts +3 -0
  26. package/dist/nodes/Twitch/resources/Clip.js +273 -0
  27. package/dist/nodes/Twitch/resources/Clip.js.map +1 -0
  28. package/dist/nodes/Twitch/resources/CustomReward.d.ts +3 -0
  29. package/dist/nodes/Twitch/resources/CustomReward.js +564 -0
  30. package/dist/nodes/Twitch/resources/CustomReward.js.map +1 -0
  31. package/dist/nodes/Twitch/resources/Emote.d.ts +3 -0
  32. package/dist/nodes/Twitch/resources/Emote.js +72 -0
  33. package/dist/nodes/Twitch/resources/Emote.js.map +1 -0
  34. package/dist/nodes/Twitch/resources/Game.d.ts +3 -0
  35. package/dist/nodes/Twitch/resources/Game.js +209 -0
  36. package/dist/nodes/Twitch/resources/Game.js.map +1 -0
  37. package/dist/nodes/Twitch/resources/Moderator.d.ts +3 -0
  38. package/dist/nodes/Twitch/resources/Moderator.js +268 -0
  39. package/dist/nodes/Twitch/resources/Moderator.js.map +1 -0
  40. package/dist/nodes/Twitch/resources/Poll.d.ts +3 -0
  41. package/dist/nodes/Twitch/resources/Poll.js +411 -0
  42. package/dist/nodes/Twitch/resources/Poll.js.map +1 -0
  43. package/dist/nodes/Twitch/resources/Prediction.d.ts +3 -0
  44. package/dist/nodes/Twitch/resources/Prediction.js +367 -0
  45. package/dist/nodes/Twitch/resources/Prediction.js.map +1 -0
  46. package/dist/nodes/Twitch/resources/Raid.d.ts +3 -0
  47. package/dist/nodes/Twitch/resources/Raid.js +161 -0
  48. package/dist/nodes/Twitch/resources/Raid.js.map +1 -0
  49. package/dist/nodes/Twitch/resources/Redemption.d.ts +3 -0
  50. package/dist/nodes/Twitch/resources/Redemption.js +260 -0
  51. package/dist/nodes/Twitch/resources/Redemption.js.map +1 -0
  52. package/dist/nodes/Twitch/resources/Schedule.d.ts +3 -0
  53. package/dist/nodes/Twitch/resources/Schedule.js +415 -0
  54. package/dist/nodes/Twitch/resources/Schedule.js.map +1 -0
  55. package/dist/nodes/Twitch/resources/Search.d.ts +3 -0
  56. package/dist/nodes/Twitch/resources/Search.js +108 -0
  57. package/dist/nodes/Twitch/resources/Search.js.map +1 -0
  58. package/dist/nodes/Twitch/resources/Stream.d.ts +3 -0
  59. package/dist/nodes/Twitch/resources/Stream.js +68 -0
  60. package/dist/nodes/Twitch/resources/Stream.js.map +1 -0
  61. package/dist/nodes/Twitch/resources/Subscription.d.ts +3 -0
  62. package/dist/nodes/Twitch/resources/Subscription.js +190 -0
  63. package/dist/nodes/Twitch/resources/Subscription.js.map +1 -0
  64. package/dist/nodes/Twitch/resources/Team.d.ts +3 -0
  65. package/dist/nodes/Twitch/resources/Team.js +168 -0
  66. package/dist/nodes/Twitch/resources/Team.js.map +1 -0
  67. package/dist/nodes/Twitch/resources/User.d.ts +3 -0
  68. package/dist/nodes/Twitch/resources/User.js +68 -0
  69. package/dist/nodes/Twitch/resources/User.js.map +1 -0
  70. package/dist/nodes/Twitch/resources/Video.d.ts +3 -0
  71. package/dist/nodes/Twitch/resources/Video.js +323 -0
  72. package/dist/nodes/Twitch/resources/Video.js.map +1 -0
  73. package/dist/nodes/Twitch/resources/Whisper.d.ts +3 -0
  74. package/dist/nodes/Twitch/resources/Whisper.js +78 -0
  75. package/dist/nodes/Twitch/resources/Whisper.js.map +1 -0
  76. package/dist/nodes/Twitch/shared/userIdConverter.js.map +1 -0
  77. package/dist/nodes/TwitchTrigger/TwitchTrigger.node.js +1 -1
  78. package/dist/nodes/TwitchTrigger/TwitchTrigger.node.js.map +1 -1
  79. package/dist/package.json +3 -26
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +3 -26
  82. package/dist/nodes/TwitchAnnouncements/TwitchAnnouncements.node.d.ts +0 -4
  83. package/dist/nodes/TwitchAnnouncements/TwitchAnnouncements.node.js +0 -169
  84. package/dist/nodes/TwitchAnnouncements/TwitchAnnouncements.node.js.map +0 -1
  85. package/dist/nodes/TwitchBans/TwitchBans.node.js +0 -340
  86. package/dist/nodes/TwitchBans/TwitchBans.node.js.map +0 -1
  87. package/dist/nodes/TwitchBans/twitch.dark.svg +0 -1
  88. package/dist/nodes/TwitchBans/twitch.svg +0 -1
  89. package/dist/nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.d.ts +0 -4
  90. package/dist/nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.js +0 -174
  91. package/dist/nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.js.map +0 -1
  92. package/dist/nodes/TwitchBitsLeaderboard/twitch.dark.svg +0 -1
  93. package/dist/nodes/TwitchBitsLeaderboard/twitch.svg +0 -1
  94. package/dist/nodes/TwitchChannels/TwitchChannels.node.d.ts +0 -4
  95. package/dist/nodes/TwitchChannels/TwitchChannels.node.js +0 -104
  96. package/dist/nodes/TwitchChannels/TwitchChannels.node.js.map +0 -1
  97. package/dist/nodes/TwitchChannels/twitch.dark.svg +0 -1
  98. package/dist/nodes/TwitchChannels/twitch.svg +0 -1
  99. package/dist/nodes/TwitchChatMessages/TwitchChatMessages.node.d.ts +0 -4
  100. package/dist/nodes/TwitchChatMessages/TwitchChatMessages.node.js +0 -133
  101. package/dist/nodes/TwitchChatMessages/TwitchChatMessages.node.js.map +0 -1
  102. package/dist/nodes/TwitchChatMessages/twitch.dark.svg +0 -1
  103. package/dist/nodes/TwitchChatMessages/twitch.svg +0 -1
  104. package/dist/nodes/TwitchChatters/TwitchChatters.node.d.ts +0 -4
  105. package/dist/nodes/TwitchChatters/TwitchChatters.node.js +0 -133
  106. package/dist/nodes/TwitchChatters/TwitchChatters.node.js.map +0 -1
  107. package/dist/nodes/TwitchChatters/twitch.dark.svg +0 -1
  108. package/dist/nodes/TwitchChatters/twitch.svg +0 -1
  109. package/dist/nodes/TwitchCheermotes/TwitchCheermotes.node.d.ts +0 -4
  110. package/dist/nodes/TwitchCheermotes/TwitchCheermotes.node.js +0 -99
  111. package/dist/nodes/TwitchCheermotes/TwitchCheermotes.node.js.map +0 -1
  112. package/dist/nodes/TwitchCheermotes/twitch.dark.svg +0 -1
  113. package/dist/nodes/TwitchCheermotes/twitch.svg +0 -1
  114. package/dist/nodes/TwitchClips/TwitchClips.node.d.ts +0 -4
  115. package/dist/nodes/TwitchClips/TwitchClips.node.js +0 -291
  116. package/dist/nodes/TwitchClips/TwitchClips.node.js.map +0 -1
  117. package/dist/nodes/TwitchClips/twitch.dark.svg +0 -1
  118. package/dist/nodes/TwitchClips/twitch.svg +0 -1
  119. package/dist/nodes/TwitchCustomRewards/TwitchCustomRewards.node.d.ts +0 -4
  120. package/dist/nodes/TwitchCustomRewards/TwitchCustomRewards.node.js +0 -581
  121. package/dist/nodes/TwitchCustomRewards/TwitchCustomRewards.node.js.map +0 -1
  122. package/dist/nodes/TwitchCustomRewards/twitch.dark.svg +0 -1
  123. package/dist/nodes/TwitchCustomRewards/twitch.svg +0 -1
  124. package/dist/nodes/TwitchEmotes/TwitchEmotes.node.d.ts +0 -4
  125. package/dist/nodes/TwitchEmotes/TwitchEmotes.node.js +0 -97
  126. package/dist/nodes/TwitchEmotes/TwitchEmotes.node.js.map +0 -1
  127. package/dist/nodes/TwitchEmotes/twitch.dark.svg +0 -1
  128. package/dist/nodes/TwitchEmotes/twitch.svg +0 -1
  129. package/dist/nodes/TwitchGames/TwitchGames.node.d.ts +0 -4
  130. package/dist/nodes/TwitchGames/TwitchGames.node.js +0 -230
  131. package/dist/nodes/TwitchGames/TwitchGames.node.js.map +0 -1
  132. package/dist/nodes/TwitchGames/twitch.dark.svg +0 -1
  133. package/dist/nodes/TwitchGames/twitch.svg +0 -1
  134. package/dist/nodes/TwitchModerators/TwitchModerators.node.d.ts +0 -4
  135. package/dist/nodes/TwitchModerators/TwitchModerators.node.js +0 -287
  136. package/dist/nodes/TwitchModerators/TwitchModerators.node.js.map +0 -1
  137. package/dist/nodes/TwitchModerators/twitch.dark.svg +0 -1
  138. package/dist/nodes/TwitchModerators/twitch.svg +0 -1
  139. package/dist/nodes/TwitchPolls/TwitchPolls.node.d.ts +0 -4
  140. package/dist/nodes/TwitchPolls/TwitchPolls.node.js +0 -426
  141. package/dist/nodes/TwitchPolls/TwitchPolls.node.js.map +0 -1
  142. package/dist/nodes/TwitchPolls/twitch.dark.svg +0 -1
  143. package/dist/nodes/TwitchPolls/twitch.svg +0 -1
  144. package/dist/nodes/TwitchPredictions/TwitchPredictions.node.d.ts +0 -4
  145. package/dist/nodes/TwitchPredictions/TwitchPredictions.node.js +0 -382
  146. package/dist/nodes/TwitchPredictions/TwitchPredictions.node.js.map +0 -1
  147. package/dist/nodes/TwitchPredictions/twitch.dark.svg +0 -1
  148. package/dist/nodes/TwitchPredictions/twitch.svg +0 -1
  149. package/dist/nodes/TwitchRaids/TwitchRaids.node.d.ts +0 -4
  150. package/dist/nodes/TwitchRaids/TwitchRaids.node.js +0 -183
  151. package/dist/nodes/TwitchRaids/TwitchRaids.node.js.map +0 -1
  152. package/dist/nodes/TwitchRaids/twitch.dark.svg +0 -1
  153. package/dist/nodes/TwitchRaids/twitch.svg +0 -1
  154. package/dist/nodes/TwitchRedemptions/TwitchRedemptions.node.d.ts +0 -4
  155. package/dist/nodes/TwitchRedemptions/TwitchRedemptions.node.js +0 -274
  156. package/dist/nodes/TwitchRedemptions/TwitchRedemptions.node.js.map +0 -1
  157. package/dist/nodes/TwitchRedemptions/twitch.dark.svg +0 -1
  158. package/dist/nodes/TwitchRedemptions/twitch.svg +0 -1
  159. package/dist/nodes/TwitchSchedule/TwitchSchedule.node.d.ts +0 -4
  160. package/dist/nodes/TwitchSchedule/TwitchSchedule.node.js +0 -432
  161. package/dist/nodes/TwitchSchedule/TwitchSchedule.node.js.map +0 -1
  162. package/dist/nodes/TwitchSchedule/twitch.dark.svg +0 -1
  163. package/dist/nodes/TwitchSchedule/twitch.svg +0 -1
  164. package/dist/nodes/TwitchSearch/TwitchSearch.node.d.ts +0 -4
  165. package/dist/nodes/TwitchSearch/TwitchSearch.node.js +0 -134
  166. package/dist/nodes/TwitchSearch/TwitchSearch.node.js.map +0 -1
  167. package/dist/nodes/TwitchSearch/twitch.dark.svg +0 -1
  168. package/dist/nodes/TwitchSearch/twitch.svg +0 -1
  169. package/dist/nodes/TwitchStreams/TwitchStreams.node.d.ts +0 -4
  170. package/dist/nodes/TwitchStreams/TwitchStreams.node.js +0 -94
  171. package/dist/nodes/TwitchStreams/TwitchStreams.node.js.map +0 -1
  172. package/dist/nodes/TwitchStreams/twitch.dark.svg +0 -1
  173. package/dist/nodes/TwitchStreams/twitch.svg +0 -1
  174. package/dist/nodes/TwitchSubscriptions/TwitchSubscriptions.node.d.ts +0 -4
  175. package/dist/nodes/TwitchSubscriptions/TwitchSubscriptions.node.js +0 -208
  176. package/dist/nodes/TwitchSubscriptions/TwitchSubscriptions.node.js.map +0 -1
  177. package/dist/nodes/TwitchSubscriptions/twitch.dark.svg +0 -1
  178. package/dist/nodes/TwitchSubscriptions/twitch.svg +0 -1
  179. package/dist/nodes/TwitchTeams/TwitchTeams.node.d.ts +0 -4
  180. package/dist/nodes/TwitchTeams/TwitchTeams.node.js +0 -191
  181. package/dist/nodes/TwitchTeams/TwitchTeams.node.js.map +0 -1
  182. package/dist/nodes/TwitchTeams/twitch.dark.svg +0 -1
  183. package/dist/nodes/TwitchTeams/twitch.svg +0 -1
  184. package/dist/nodes/TwitchUsers/TwitchUsers.node.d.ts +0 -4
  185. package/dist/nodes/TwitchUsers/TwitchUsers.node.js +0 -94
  186. package/dist/nodes/TwitchUsers/TwitchUsers.node.js.map +0 -1
  187. package/dist/nodes/TwitchUsers/twitch.dark.svg +0 -1
  188. package/dist/nodes/TwitchUsers/twitch.svg +0 -1
  189. package/dist/nodes/TwitchVideos/TwitchVideos.node.d.ts +0 -4
  190. package/dist/nodes/TwitchVideos/TwitchVideos.node.js +0 -343
  191. package/dist/nodes/TwitchVideos/TwitchVideos.node.js.map +0 -1
  192. package/dist/nodes/TwitchVideos/twitch.dark.svg +0 -1
  193. package/dist/nodes/TwitchVideos/twitch.svg +0 -1
  194. package/dist/nodes/TwitchWhispers/TwitchWhispers.node.d.ts +0 -4
  195. package/dist/nodes/TwitchWhispers/TwitchWhispers.node.js +0 -105
  196. package/dist/nodes/TwitchWhispers/TwitchWhispers.node.js.map +0 -1
  197. package/dist/nodes/TwitchWhispers/twitch.dark.svg +0 -1
  198. package/dist/nodes/TwitchWhispers/twitch.svg +0 -1
  199. package/dist/nodes/shared/userIdConverter.js.map +0 -1
  200. /package/dist/nodes/{shared → Twitch/shared}/userIdConverter.d.ts +0 -0
  201. /package/dist/nodes/{shared → Twitch/shared}/userIdConverter.js +0 -0
  202. /package/dist/nodes/{TwitchAnnouncements → Twitch}/twitch.dark.svg +0 -0
  203. /package/dist/nodes/{TwitchAnnouncements → Twitch}/twitch.svg +0 -0
@@ -1,174 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TwitchBitsLeaderboard = void 0;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const userIdConverter_1 = require("../shared/userIdConverter");
6
- class TwitchBitsLeaderboard {
7
- constructor() {
8
- this.description = {
9
- displayName: 'Twitch Bits Leaderboard',
10
- name: 'twitchBitsLeaderboard',
11
- icon: { light: 'file:twitch.svg', dark: 'file:twitch.dark.svg' },
12
- group: ['output'],
13
- version: 1,
14
- description: 'Get the Bits leaderboard for a Twitch channel',
15
- defaults: {
16
- name: 'Twitch Bits Leaderboard',
17
- },
18
- usableAsTool: true,
19
- inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
- outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
- credentials: [
22
- {
23
- name: 'twitchOAuth2Api',
24
- required: true,
25
- },
26
- ],
27
- requestDefaults: {
28
- baseURL: 'https://api.twitch.tv/helix',
29
- headers: {
30
- Accept: 'application/json',
31
- 'Content-Type': 'application/json',
32
- },
33
- },
34
- properties: [
35
- {
36
- displayName: 'Operation',
37
- name: 'operation',
38
- type: 'options',
39
- noDataExpression: true,
40
- options: [
41
- {
42
- name: 'Get',
43
- value: 'get',
44
- action: 'Get bits leaderboard',
45
- description: 'Get the Bits leaderboard for a Twitch channel',
46
- routing: {
47
- request: {
48
- method: 'GET',
49
- url: '/bits/leaderboard',
50
- },
51
- send: {
52
- preSend: [
53
- async function (requestOptions) {
54
- const count = this.getNodeParameter('count', 0);
55
- const period = this.getNodeParameter('period', 0);
56
- const startedAt = this.getNodeParameter('startedAt', 0);
57
- const userIdInput = this.getNodeParameter('userId', 0);
58
- const qs = {};
59
- if (count) {
60
- qs.count = count;
61
- }
62
- if (period) {
63
- qs.period = period;
64
- }
65
- if (startedAt && startedAt.trim() !== '') {
66
- qs.started_at = startedAt.trim();
67
- }
68
- if (userIdInput && userIdInput.trim() !== '') {
69
- const userId = await userIdConverter_1.resolveUserIdOrUsername.call(this, userIdInput.trim());
70
- qs.user_id = userId;
71
- }
72
- requestOptions.qs = qs;
73
- return requestOptions;
74
- },
75
- ],
76
- },
77
- output: {
78
- postReceive: [
79
- {
80
- type: 'rootProperty',
81
- properties: {
82
- property: 'data',
83
- },
84
- },
85
- ],
86
- },
87
- },
88
- },
89
- ],
90
- default: 'get',
91
- },
92
- {
93
- displayName: 'Count',
94
- name: 'count',
95
- type: 'number',
96
- default: 10,
97
- typeOptions: {
98
- minValue: 1,
99
- maxValue: 100,
100
- },
101
- placeholder: 'e.g. 10',
102
- description: 'Number of results to return (1-100)',
103
- displayOptions: {
104
- show: {
105
- operation: ['get'],
106
- },
107
- },
108
- },
109
- {
110
- displayName: 'Period',
111
- name: 'period',
112
- type: 'options',
113
- options: [
114
- {
115
- name: 'All',
116
- value: 'all',
117
- },
118
- {
119
- name: 'Day',
120
- value: 'day',
121
- },
122
- {
123
- name: 'Month',
124
- value: 'month',
125
- },
126
- {
127
- name: 'Week',
128
- value: 'week',
129
- },
130
- {
131
- name: 'Year',
132
- value: 'year',
133
- },
134
- ],
135
- default: 'all',
136
- description: 'Time period for the leaderboard',
137
- displayOptions: {
138
- show: {
139
- operation: ['get'],
140
- },
141
- },
142
- },
143
- {
144
- displayName: 'Started At',
145
- name: 'startedAt',
146
- type: 'dateTime',
147
- default: '',
148
- placeholder: 'e.g. 2024-01-01T00:00:00Z',
149
- description: 'Timestamp for the period start (RFC3339 format)',
150
- displayOptions: {
151
- show: {
152
- operation: ['get'],
153
- },
154
- },
155
- },
156
- {
157
- displayName: 'User ID or Username',
158
- name: 'userId',
159
- type: 'string',
160
- default: '',
161
- placeholder: 'e.g. 123456789 or username',
162
- description: 'Filter results to a specific user ID or username. If a username is provided, it will be automatically converted to user ID.',
163
- displayOptions: {
164
- show: {
165
- operation: ['get'],
166
- },
167
- },
168
- },
169
- ],
170
- };
171
- }
172
- }
173
- exports.TwitchBitsLeaderboard = TwitchBitsLeaderboard;
174
- //# sourceMappingURL=TwitchBitsLeaderboard.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TwitchBitsLeaderboard.node.js","sourceRoot":"","sources":["../../../nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path fill="#FFFFFF" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1,4 +0,0 @@
1
- import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
- export declare class TwitchChannels implements INodeType {
3
- description: INodeTypeDescription;
4
- }
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TwitchChannels = void 0;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const userIdConverter_1 = require("../shared/userIdConverter");
6
- class TwitchChannels {
7
- constructor() {
8
- this.description = {
9
- displayName: 'Twitch Channels',
10
- name: 'twitchChannels',
11
- icon: { light: 'file:twitch.svg', dark: 'file:twitch.dark.svg' },
12
- group: ['transform'],
13
- version: 1,
14
- subtitle: '={{$parameter["operation"]}}',
15
- description: 'Interact with Twitch Channels API',
16
- defaults: {
17
- name: 'Twitch Channels',
18
- },
19
- usableAsTool: true,
20
- inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
- outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
22
- credentials: [
23
- {
24
- name: 'twitchOAuth2Api',
25
- required: true,
26
- },
27
- ],
28
- requestDefaults: {
29
- baseURL: 'https://api.twitch.tv/helix',
30
- headers: {
31
- Accept: 'application/json',
32
- 'Content-Type': 'application/json',
33
- },
34
- },
35
- properties: [
36
- {
37
- displayName: 'Operation',
38
- name: 'operation',
39
- type: 'options',
40
- noDataExpression: true,
41
- options: [
42
- {
43
- name: 'Get Information',
44
- value: 'getInfo',
45
- action: 'Get channel information',
46
- description: 'Get information about a channel',
47
- routing: {
48
- request: {
49
- method: 'GET',
50
- url: '/channels',
51
- },
52
- send: {
53
- preSend: [
54
- async function (requestOptions) {
55
- const broadcasterIdInput = this.getNodeParameter('broadcasterId');
56
- const broadcasterId = await userIdConverter_1.resolveUserIdOrUsername.call(this, broadcasterIdInput);
57
- requestOptions.qs = {
58
- broadcaster_id: broadcasterId,
59
- };
60
- return requestOptions;
61
- },
62
- ],
63
- },
64
- output: {
65
- postReceive: [
66
- {
67
- type: 'rootProperty',
68
- properties: {
69
- property: 'data',
70
- },
71
- },
72
- {
73
- type: 'setKeyValue',
74
- properties: {
75
- index: 0,
76
- },
77
- },
78
- ],
79
- },
80
- },
81
- },
82
- ],
83
- default: 'getInfo',
84
- },
85
- {
86
- displayName: 'Broadcaster ID or Username',
87
- name: 'broadcasterId',
88
- type: 'string',
89
- displayOptions: {
90
- show: {
91
- operation: ['getInfo'],
92
- },
93
- },
94
- default: '',
95
- required: true,
96
- placeholder: 'e.g. 123456789 or username',
97
- description: 'The broadcaster user ID or username. If a username is provided, it will be automatically converted to user ID.',
98
- },
99
- ],
100
- };
101
- }
102
- }
103
- exports.TwitchChannels = TwitchChannels;
104
- //# sourceMappingURL=TwitchChannels.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TwitchChannels.node.js","sourceRoot":"","sources":["../../../nodes/TwitchChannels/TwitchChannels.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAC9F,+DAAoE;AAEpE,MAAa,cAAc;IAA3B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAChE,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8BAA8B;YACxC,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE;gBACT,IAAI,EAAE,iBAAiB;aACvB;YACD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,6BAA6B;gBACtC,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,iBAAiB;4BACvB,KAAK,EAAE,SAAS;4BAChB,MAAM,EAAE,yBAAyB;4BACjC,WAAW,EAAE,iCAAiC;4BAC9C,OAAO,EAAE;gCACR,OAAO,EAAE;oCACR,MAAM,EAAE,KAAK;oCACb,GAAG,EAAE,WAAW;iCAChB;gCACD,IAAI,EAAE;oCACL,OAAO,EAAE;wCACR,KAAK,WAAiB,cAAc;4CACnC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAW,CAAC;4CAC5E,MAAM,aAAa,GAAG,MAAM,yCAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;4CAEnF,cAAc,CAAC,EAAE,GAAG;gDACnB,cAAc,EAAE,aAAa;6CAC7B,CAAC;4CAEF,OAAO,cAAc,CAAC;wCACvB,CAAC;qCACD;iCACD;gCACD,MAAM,EAAE;oCACP,WAAW,EAAE;wCACZ;4CACC,IAAI,EAAE,cAAc;4CACpB,UAAU,EAAE;gDACX,QAAQ,EAAE,MAAM;6CAChB;yCACD;wCACD;4CACC,IAAI,EAAE,aAAa;4CACnB,UAAU,EAAE;gDACX,KAAK,EAAE,CAAC;6CACR;yCACD;qCACD;iCACD;6BACD;yBACD;qBACD;oBACD,OAAO,EAAE,SAAS;iBAClB;gBACD;oBACC,WAAW,EAAE,4BAA4B;oBACzC,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,SAAS,EAAE,CAAC,SAAS,CAAC;yBACtB;qBACD;oBACD,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,4BAA4B;oBACzC,WAAW,EAAE,gHAAgH;iBAC7H;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAhGD,wCAgGC"}
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path fill="#FFFFFF" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1,4 +0,0 @@
1
- import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
- export declare class TwitchChatMessages implements INodeType {
3
- description: INodeTypeDescription;
4
- }
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TwitchChatMessages = void 0;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const userIdConverter_1 = require("../shared/userIdConverter");
6
- class TwitchChatMessages {
7
- constructor() {
8
- this.description = {
9
- displayName: 'Twitch Chat Messages',
10
- name: 'twitchChatMessages',
11
- icon: { light: 'file:twitch.svg', dark: 'file:twitch.dark.svg' },
12
- group: ['output'],
13
- version: 1,
14
- description: 'Send messages in a Twitch chat',
15
- defaults: {
16
- name: 'Twitch Chat Messages',
17
- },
18
- usableAsTool: true,
19
- inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
- outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
- credentials: [
22
- {
23
- name: 'twitchOAuth2Api',
24
- required: true,
25
- },
26
- ],
27
- requestDefaults: {
28
- baseURL: 'https://api.twitch.tv/helix',
29
- headers: {
30
- Accept: 'application/json',
31
- 'Content-Type': 'application/json',
32
- },
33
- },
34
- properties: [
35
- {
36
- displayName: 'Operation',
37
- name: 'operation',
38
- type: 'options',
39
- noDataExpression: true,
40
- options: [
41
- {
42
- name: 'Send Message',
43
- value: 'sendMessage',
44
- action: 'Send a message',
45
- description: 'Send a message to a Twitch chat',
46
- routing: {
47
- request: {
48
- method: 'POST',
49
- url: '/chat/messages',
50
- },
51
- send: {
52
- preSend: [
53
- async function (requestOptions) {
54
- const broadcasterIdInput = this.getNodeParameter('broadcasterId');
55
- const senderIdInput = this.getNodeParameter('senderId');
56
- const message = this.getNodeParameter('message');
57
- const broadcasterId = await userIdConverter_1.resolveUserIdOrUsername.call(this, broadcasterIdInput);
58
- const senderId = await userIdConverter_1.resolveUserIdOrUsername.call(this, senderIdInput);
59
- requestOptions.body = {
60
- broadcaster_id: broadcasterId,
61
- sender_id: senderId,
62
- message: message,
63
- };
64
- return requestOptions;
65
- },
66
- ],
67
- },
68
- output: {
69
- postReceive: [
70
- {
71
- type: 'rootProperty',
72
- properties: {
73
- property: 'data',
74
- },
75
- },
76
- ],
77
- },
78
- },
79
- },
80
- ],
81
- default: 'sendMessage',
82
- },
83
- {
84
- displayName: 'Broadcaster ID or Username',
85
- name: 'broadcasterId',
86
- type: 'string',
87
- displayOptions: {
88
- show: {
89
- operation: ['sendMessage'],
90
- },
91
- },
92
- default: '',
93
- required: true,
94
- placeholder: 'e.g. 123456789 or username',
95
- description: 'The broadcaster user ID or username. If a username is provided, it will be automatically converted to user ID.',
96
- },
97
- {
98
- displayName: 'Sender ID or Username',
99
- name: 'senderId',
100
- type: 'string',
101
- displayOptions: {
102
- show: {
103
- operation: ['sendMessage'],
104
- },
105
- },
106
- default: '',
107
- required: true,
108
- placeholder: 'e.g. 987654321 or username',
109
- description: 'The sender user ID or username (must match the user access token). If a username is provided, it will be automatically converted to user ID.',
110
- },
111
- {
112
- displayName: 'Message',
113
- name: 'message',
114
- type: 'string',
115
- displayOptions: {
116
- show: {
117
- operation: ['sendMessage'],
118
- },
119
- },
120
- default: '',
121
- required: true,
122
- placeholder: 'e.g. Hello, Twitch!',
123
- description: 'The message to send. Maximum length: 500 characters.',
124
- typeOptions: {
125
- maxValue: 500,
126
- },
127
- },
128
- ],
129
- };
130
- }
131
- }
132
- exports.TwitchChatMessages = TwitchChatMessages;
133
- //# sourceMappingURL=TwitchChatMessages.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TwitchChatMessages.node.js","sourceRoot":"","sources":["../../../nodes/TwitchChatMessages/TwitchChatMessages.node.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path fill="#FFFFFF" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1,4 +0,0 @@
1
- import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
- export declare class TwitchChatters implements INodeType {
3
- description: INodeTypeDescription;
4
- }
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TwitchChatters = void 0;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const userIdConverter_1 = require("../shared/userIdConverter");
6
- class TwitchChatters {
7
- constructor() {
8
- this.description = {
9
- displayName: 'Twitch Chatters',
10
- name: 'twitchChatters',
11
- icon: { light: 'file:twitch.svg', dark: 'file:twitch.dark.svg' },
12
- group: ['output'],
13
- version: 1,
14
- subtitle: '={{$parameter["operation"]}}',
15
- description: 'Get chatters in a Twitch channel',
16
- defaults: {
17
- name: 'Twitch Chatters',
18
- },
19
- usableAsTool: true,
20
- inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
- outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
22
- credentials: [
23
- {
24
- name: 'twitchOAuth2Api',
25
- required: true,
26
- },
27
- ],
28
- requestDefaults: {
29
- baseURL: 'https://api.twitch.tv/helix',
30
- headers: {
31
- Accept: 'application/json',
32
- 'Content-Type': 'application/json',
33
- },
34
- },
35
- properties: [
36
- {
37
- displayName: 'Operation',
38
- name: 'operation',
39
- type: 'options',
40
- noDataExpression: true,
41
- options: [
42
- {
43
- name: 'Get',
44
- value: 'get',
45
- action: 'Get chatters',
46
- description: 'Get the list of users that are connected to the broadcaster\'s chat session',
47
- routing: {
48
- request: {
49
- method: 'GET',
50
- url: '/chat/chatters',
51
- },
52
- send: {
53
- preSend: [
54
- async function (requestOptions) {
55
- const broadcasterIdInput = this.getNodeParameter('broadcasterId');
56
- const moderatorIdInput = this.getNodeParameter('moderatorId');
57
- const first = this.getNodeParameter('first');
58
- const broadcasterId = await userIdConverter_1.resolveUserIdOrUsername.call(this, broadcasterIdInput);
59
- const moderatorId = await userIdConverter_1.resolveUserIdOrUsername.call(this, moderatorIdInput);
60
- requestOptions.qs = {
61
- broadcaster_id: broadcasterId,
62
- moderator_id: moderatorId,
63
- first: first,
64
- };
65
- return requestOptions;
66
- },
67
- ],
68
- },
69
- output: {
70
- postReceive: [
71
- {
72
- type: 'rootProperty',
73
- properties: {
74
- property: 'data',
75
- },
76
- },
77
- ],
78
- },
79
- },
80
- },
81
- ],
82
- default: 'get',
83
- },
84
- {
85
- displayName: 'Broadcaster ID or Username',
86
- name: 'broadcasterId',
87
- type: 'string',
88
- displayOptions: {
89
- show: {
90
- operation: ['get'],
91
- },
92
- },
93
- default: '',
94
- required: true,
95
- placeholder: 'e.g. 123456789 or username',
96
- description: 'The broadcaster user ID or username. If a username is provided, it will be automatically converted to user ID.',
97
- },
98
- {
99
- displayName: 'Moderator ID or Username',
100
- name: 'moderatorId',
101
- type: 'string',
102
- displayOptions: {
103
- show: {
104
- operation: ['get'],
105
- },
106
- },
107
- default: '',
108
- required: true,
109
- placeholder: 'e.g. 987654321 or username',
110
- description: 'The moderator user ID or username. If a username is provided, it will be automatically converted to user ID.',
111
- },
112
- {
113
- displayName: 'First',
114
- name: 'first',
115
- type: 'number',
116
- displayOptions: {
117
- show: {
118
- operation: ['get'],
119
- },
120
- },
121
- default: 100,
122
- description: 'The maximum number of items to return (1-1000)',
123
- typeOptions: {
124
- minValue: 1,
125
- maxValue: 1000,
126
- },
127
- },
128
- ],
129
- };
130
- }
131
- }
132
- exports.TwitchChatters = TwitchChatters;
133
- //# sourceMappingURL=TwitchChatters.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TwitchChatters.node.js","sourceRoot":"","sources":["../../../nodes/TwitchChatters/TwitchChatters.node.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path fill="#FFFFFF" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitch</title><path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/></svg>
@@ -1,4 +0,0 @@
1
- import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
- export declare class TwitchCheermotes implements INodeType {
3
- description: INodeTypeDescription;
4
- }