@yuniruyuni/n8n-nodes-twitch 0.1.1

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 (139) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.ja.md +243 -0
  3. package/README.md +243 -0
  4. package/dist/credentials/TwitchApi.credentials.d.ts +10 -0
  5. package/dist/credentials/TwitchApi.credentials.js +47 -0
  6. package/dist/credentials/TwitchApi.credentials.js.map +1 -0
  7. package/dist/credentials/TwitchOAuth2Api.credentials.d.ts +10 -0
  8. package/dist/credentials/TwitchOAuth2Api.credentials.js +434 -0
  9. package/dist/credentials/TwitchOAuth2Api.credentials.js.map +1 -0
  10. package/dist/icons/twitch.dark.svg +1 -0
  11. package/dist/icons/twitch.svg +1 -0
  12. package/dist/nodes/TwitchAnnouncements/TwitchAnnouncements.node.d.ts +4 -0
  13. package/dist/nodes/TwitchAnnouncements/TwitchAnnouncements.node.js +196 -0
  14. package/dist/nodes/TwitchAnnouncements/TwitchAnnouncements.node.js.map +1 -0
  15. package/dist/nodes/TwitchAnnouncements/twitch.dark.svg +1 -0
  16. package/dist/nodes/TwitchAnnouncements/twitch.svg +1 -0
  17. package/dist/nodes/TwitchBans/TwitchBans.node.d.ts +4 -0
  18. package/dist/nodes/TwitchBans/TwitchBans.node.js +354 -0
  19. package/dist/nodes/TwitchBans/TwitchBans.node.js.map +1 -0
  20. package/dist/nodes/TwitchBans/twitch.dark.svg +1 -0
  21. package/dist/nodes/TwitchBans/twitch.svg +1 -0
  22. package/dist/nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.d.ts +4 -0
  23. package/dist/nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.js +202 -0
  24. package/dist/nodes/TwitchBitsLeaderboard/TwitchBitsLeaderboard.node.js.map +1 -0
  25. package/dist/nodes/TwitchBitsLeaderboard/twitch.dark.svg +1 -0
  26. package/dist/nodes/TwitchBitsLeaderboard/twitch.svg +1 -0
  27. package/dist/nodes/TwitchChannels/TwitchChannels.node.d.ts +4 -0
  28. package/dist/nodes/TwitchChannels/TwitchChannels.node.js +124 -0
  29. package/dist/nodes/TwitchChannels/TwitchChannels.node.js.map +1 -0
  30. package/dist/nodes/TwitchChannels/twitch.dark.svg +1 -0
  31. package/dist/nodes/TwitchChannels/twitch.svg +1 -0
  32. package/dist/nodes/TwitchChatMessages/TwitchChatMessages.node.d.ts +4 -0
  33. package/dist/nodes/TwitchChatMessages/TwitchChatMessages.node.js +160 -0
  34. package/dist/nodes/TwitchChatMessages/TwitchChatMessages.node.js.map +1 -0
  35. package/dist/nodes/TwitchChatMessages/twitch.dark.svg +1 -0
  36. package/dist/nodes/TwitchChatMessages/twitch.svg +1 -0
  37. package/dist/nodes/TwitchChatters/TwitchChatters.node.d.ts +4 -0
  38. package/dist/nodes/TwitchChatters/TwitchChatters.node.js +148 -0
  39. package/dist/nodes/TwitchChatters/TwitchChatters.node.js.map +1 -0
  40. package/dist/nodes/TwitchChatters/twitch.dark.svg +1 -0
  41. package/dist/nodes/TwitchChatters/twitch.svg +1 -0
  42. package/dist/nodes/TwitchCheermotes/TwitchCheermotes.node.d.ts +4 -0
  43. package/dist/nodes/TwitchCheermotes/TwitchCheermotes.node.js +113 -0
  44. package/dist/nodes/TwitchCheermotes/TwitchCheermotes.node.js.map +1 -0
  45. package/dist/nodes/TwitchCheermotes/twitch.dark.svg +1 -0
  46. package/dist/nodes/TwitchCheermotes/twitch.svg +1 -0
  47. package/dist/nodes/TwitchClips/TwitchClips.node.d.ts +4 -0
  48. package/dist/nodes/TwitchClips/TwitchClips.node.js +308 -0
  49. package/dist/nodes/TwitchClips/TwitchClips.node.js.map +1 -0
  50. package/dist/nodes/TwitchClips/twitch.dark.svg +1 -0
  51. package/dist/nodes/TwitchClips/twitch.svg +1 -0
  52. package/dist/nodes/TwitchCustomRewards/TwitchCustomRewards.node.d.ts +4 -0
  53. package/dist/nodes/TwitchCustomRewards/TwitchCustomRewards.node.js +606 -0
  54. package/dist/nodes/TwitchCustomRewards/TwitchCustomRewards.node.js.map +1 -0
  55. package/dist/nodes/TwitchCustomRewards/twitch.dark.svg +1 -0
  56. package/dist/nodes/TwitchCustomRewards/twitch.svg +1 -0
  57. package/dist/nodes/TwitchEmotes/TwitchEmotes.node.d.ts +4 -0
  58. package/dist/nodes/TwitchEmotes/TwitchEmotes.node.js +125 -0
  59. package/dist/nodes/TwitchEmotes/TwitchEmotes.node.js.map +1 -0
  60. package/dist/nodes/TwitchEmotes/twitch.dark.svg +1 -0
  61. package/dist/nodes/TwitchEmotes/twitch.svg +1 -0
  62. package/dist/nodes/TwitchGames/TwitchGames.node.d.ts +4 -0
  63. package/dist/nodes/TwitchGames/TwitchGames.node.js +260 -0
  64. package/dist/nodes/TwitchGames/TwitchGames.node.js.map +1 -0
  65. package/dist/nodes/TwitchGames/twitch.dark.svg +1 -0
  66. package/dist/nodes/TwitchGames/twitch.svg +1 -0
  67. package/dist/nodes/TwitchModerators/TwitchModerators.node.d.ts +4 -0
  68. package/dist/nodes/TwitchModerators/TwitchModerators.node.js +310 -0
  69. package/dist/nodes/TwitchModerators/TwitchModerators.node.js.map +1 -0
  70. package/dist/nodes/TwitchModerators/twitch.dark.svg +1 -0
  71. package/dist/nodes/TwitchModerators/twitch.svg +1 -0
  72. package/dist/nodes/TwitchPolls/TwitchPolls.node.d.ts +4 -0
  73. package/dist/nodes/TwitchPolls/TwitchPolls.node.js +452 -0
  74. package/dist/nodes/TwitchPolls/TwitchPolls.node.js.map +1 -0
  75. package/dist/nodes/TwitchPolls/twitch.dark.svg +1 -0
  76. package/dist/nodes/TwitchPolls/twitch.svg +1 -0
  77. package/dist/nodes/TwitchPredictions/TwitchPredictions.node.d.ts +4 -0
  78. package/dist/nodes/TwitchPredictions/TwitchPredictions.node.js +408 -0
  79. package/dist/nodes/TwitchPredictions/TwitchPredictions.node.js.map +1 -0
  80. package/dist/nodes/TwitchPredictions/twitch.dark.svg +1 -0
  81. package/dist/nodes/TwitchPredictions/twitch.svg +1 -0
  82. package/dist/nodes/TwitchRaids/TwitchRaids.node.d.ts +4 -0
  83. package/dist/nodes/TwitchRaids/TwitchRaids.node.js +192 -0
  84. package/dist/nodes/TwitchRaids/TwitchRaids.node.js.map +1 -0
  85. package/dist/nodes/TwitchRaids/twitch.dark.svg +1 -0
  86. package/dist/nodes/TwitchRaids/twitch.svg +1 -0
  87. package/dist/nodes/TwitchRedemptions/TwitchRedemptions.node.d.ts +4 -0
  88. package/dist/nodes/TwitchRedemptions/TwitchRedemptions.node.js +301 -0
  89. package/dist/nodes/TwitchRedemptions/TwitchRedemptions.node.js.map +1 -0
  90. package/dist/nodes/TwitchRedemptions/twitch.dark.svg +1 -0
  91. package/dist/nodes/TwitchRedemptions/twitch.svg +1 -0
  92. package/dist/nodes/TwitchSchedule/TwitchSchedule.node.d.ts +4 -0
  93. package/dist/nodes/TwitchSchedule/TwitchSchedule.node.js +457 -0
  94. package/dist/nodes/TwitchSchedule/TwitchSchedule.node.js.map +1 -0
  95. package/dist/nodes/TwitchSchedule/twitch.dark.svg +1 -0
  96. package/dist/nodes/TwitchSchedule/twitch.svg +1 -0
  97. package/dist/nodes/TwitchSearch/TwitchSearch.node.d.ts +4 -0
  98. package/dist/nodes/TwitchSearch/TwitchSearch.node.js +164 -0
  99. package/dist/nodes/TwitchSearch/TwitchSearch.node.js.map +1 -0
  100. package/dist/nodes/TwitchSearch/twitch.dark.svg +1 -0
  101. package/dist/nodes/TwitchSearch/twitch.svg +1 -0
  102. package/dist/nodes/TwitchStreams/TwitchStreams.node.d.ts +4 -0
  103. package/dist/nodes/TwitchStreams/TwitchStreams.node.js +124 -0
  104. package/dist/nodes/TwitchStreams/TwitchStreams.node.js.map +1 -0
  105. package/dist/nodes/TwitchStreams/twitch.dark.svg +1 -0
  106. package/dist/nodes/TwitchStreams/twitch.svg +1 -0
  107. package/dist/nodes/TwitchSubscriptions/TwitchSubscriptions.node.d.ts +4 -0
  108. package/dist/nodes/TwitchSubscriptions/TwitchSubscriptions.node.js +232 -0
  109. package/dist/nodes/TwitchSubscriptions/TwitchSubscriptions.node.js.map +1 -0
  110. package/dist/nodes/TwitchSubscriptions/twitch.dark.svg +1 -0
  111. package/dist/nodes/TwitchSubscriptions/twitch.svg +1 -0
  112. package/dist/nodes/TwitchTeams/TwitchTeams.node.d.ts +4 -0
  113. package/dist/nodes/TwitchTeams/TwitchTeams.node.js +219 -0
  114. package/dist/nodes/TwitchTeams/TwitchTeams.node.js.map +1 -0
  115. package/dist/nodes/TwitchTeams/twitch.dark.svg +1 -0
  116. package/dist/nodes/TwitchTeams/twitch.svg +1 -0
  117. package/dist/nodes/TwitchTrigger/TwitchTrigger.node.d.ts +12 -0
  118. package/dist/nodes/TwitchTrigger/TwitchTrigger.node.js +418 -0
  119. package/dist/nodes/TwitchTrigger/TwitchTrigger.node.js.map +1 -0
  120. package/dist/nodes/TwitchTrigger/twitch.dark.svg +1 -0
  121. package/dist/nodes/TwitchTrigger/twitch.svg +1 -0
  122. package/dist/nodes/TwitchUsers/TwitchUsers.node.d.ts +4 -0
  123. package/dist/nodes/TwitchUsers/TwitchUsers.node.js +124 -0
  124. package/dist/nodes/TwitchUsers/TwitchUsers.node.js.map +1 -0
  125. package/dist/nodes/TwitchUsers/twitch.dark.svg +1 -0
  126. package/dist/nodes/TwitchUsers/twitch.svg +1 -0
  127. package/dist/nodes/TwitchVideos/TwitchVideos.node.d.ts +4 -0
  128. package/dist/nodes/TwitchVideos/TwitchVideos.node.js +371 -0
  129. package/dist/nodes/TwitchVideos/TwitchVideos.node.js.map +1 -0
  130. package/dist/nodes/TwitchVideos/twitch.dark.svg +1 -0
  131. package/dist/nodes/TwitchVideos/twitch.svg +1 -0
  132. package/dist/nodes/TwitchWhispers/TwitchWhispers.node.d.ts +4 -0
  133. package/dist/nodes/TwitchWhispers/TwitchWhispers.node.js +105 -0
  134. package/dist/nodes/TwitchWhispers/TwitchWhispers.node.js.map +1 -0
  135. package/dist/nodes/TwitchWhispers/twitch.dark.svg +1 -0
  136. package/dist/nodes/TwitchWhispers/twitch.svg +1 -0
  137. package/dist/package.json +86 -0
  138. package/dist/tsconfig.tsbuildinfo +1 -0
  139. package/package.json +86 -0
@@ -0,0 +1,452 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwitchPolls = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class TwitchPolls {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Twitch Polls',
9
+ name: 'twitchPolls',
10
+ icon: { light: 'file:twitch.svg', dark: 'file:twitch.dark.svg' },
11
+ group: ['transform'],
12
+ version: 1,
13
+ subtitle: '={{$parameter["operation"]}}',
14
+ description: 'Interact with Twitch Polls API',
15
+ defaults: {
16
+ name: 'Twitch Polls',
17
+ },
18
+ usableAsTool: true,
19
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
+ credentials: [
22
+ {
23
+ name: 'twitchApi',
24
+ required: true,
25
+ displayOptions: {
26
+ show: {
27
+ authentication: ['clientCredentials'],
28
+ },
29
+ },
30
+ },
31
+ {
32
+ name: 'twitchOAuth2Api',
33
+ required: true,
34
+ displayOptions: {
35
+ show: {
36
+ authentication: ['oAuth2'],
37
+ },
38
+ },
39
+ },
40
+ ],
41
+ requestDefaults: {
42
+ baseURL: 'https://api.twitch.tv/helix',
43
+ headers: {
44
+ Accept: 'application/json',
45
+ 'Content-Type': 'application/json',
46
+ },
47
+ },
48
+ properties: [
49
+ {
50
+ displayName: 'Authentication',
51
+ name: 'authentication',
52
+ type: 'options',
53
+ options: [
54
+ {
55
+ name: 'Client Credentials',
56
+ value: 'clientCredentials',
57
+ },
58
+ {
59
+ name: 'OAuth2',
60
+ value: 'oAuth2',
61
+ },
62
+ ],
63
+ default: 'oAuth2',
64
+ },
65
+ {
66
+ displayName: 'Operation',
67
+ name: 'operation',
68
+ type: 'options',
69
+ noDataExpression: true,
70
+ options: [
71
+ {
72
+ name: 'Create Poll',
73
+ value: 'createPoll',
74
+ action: 'Create a poll',
75
+ description: 'Create a poll for a broadcaster',
76
+ routing: {
77
+ request: {
78
+ method: 'POST',
79
+ url: '/polls',
80
+ },
81
+ send: {
82
+ preSend: [
83
+ async function (requestOptions) {
84
+ const broadcasterId = this.getNodeParameter('broadcasterId', 0);
85
+ const title = this.getNodeParameter('title', 0);
86
+ const choicesInput = this.getNodeParameter('choices', 0);
87
+ const duration = this.getNodeParameter('duration', 0);
88
+ let choices;
89
+ try {
90
+ choices = JSON.parse(choicesInput);
91
+ if (!Array.isArray(choices)) {
92
+ choices = [choicesInput];
93
+ }
94
+ }
95
+ catch {
96
+ choices = choicesInput.split(',').map(c => c.trim()).filter(c => c);
97
+ }
98
+ const formattedChoices = choices.map(choice => ({ title: choice }));
99
+ const body = {
100
+ broadcaster_id: broadcasterId,
101
+ title: title,
102
+ choices: formattedChoices,
103
+ duration: duration,
104
+ };
105
+ const additionalFields = this.getNodeParameter('additionalFields', 0, {});
106
+ if (additionalFields.bitsVotingEnabled !== undefined) {
107
+ body.bits_voting_enabled = additionalFields.bitsVotingEnabled;
108
+ }
109
+ if (additionalFields.bitsPerVote !== undefined) {
110
+ body.bits_per_vote = additionalFields.bitsPerVote;
111
+ }
112
+ if (additionalFields.channelPointsVotingEnabled !== undefined) {
113
+ body.channel_points_voting_enabled = additionalFields.channelPointsVotingEnabled;
114
+ }
115
+ if (additionalFields.channelPointsPerVote !== undefined) {
116
+ body.channel_points_per_vote = additionalFields.channelPointsPerVote;
117
+ }
118
+ requestOptions.body = body;
119
+ return requestOptions;
120
+ },
121
+ ],
122
+ },
123
+ output: {
124
+ postReceive: [
125
+ {
126
+ type: 'rootProperty',
127
+ properties: {
128
+ property: 'data',
129
+ },
130
+ },
131
+ {
132
+ type: 'setKeyValue',
133
+ properties: {
134
+ index: 0,
135
+ },
136
+ },
137
+ ],
138
+ },
139
+ },
140
+ },
141
+ {
142
+ name: 'Get Polls',
143
+ value: 'getPolls',
144
+ action: 'Get polls',
145
+ description: 'Get polls for a broadcaster',
146
+ routing: {
147
+ request: {
148
+ method: 'GET',
149
+ url: '/polls',
150
+ },
151
+ send: {
152
+ preSend: [
153
+ async function (requestOptions) {
154
+ const broadcasterId = this.getNodeParameter('getBroadcasterId', 0);
155
+ const qs = {
156
+ broadcaster_id: broadcasterId,
157
+ };
158
+ const pollIds = this.getNodeParameter('pollIds', 0);
159
+ if (pollIds) {
160
+ qs.id = pollIds;
161
+ }
162
+ const first = this.getNodeParameter('first', 0);
163
+ if (first) {
164
+ qs.first = first;
165
+ }
166
+ requestOptions.qs = qs;
167
+ return requestOptions;
168
+ },
169
+ ],
170
+ },
171
+ output: {
172
+ postReceive: [
173
+ {
174
+ type: 'rootProperty',
175
+ properties: {
176
+ property: 'data',
177
+ },
178
+ },
179
+ ],
180
+ },
181
+ },
182
+ },
183
+ {
184
+ name: 'End Poll',
185
+ value: 'endPoll',
186
+ action: 'End a poll',
187
+ description: 'End an active poll',
188
+ routing: {
189
+ request: {
190
+ method: 'PATCH',
191
+ url: '/polls',
192
+ },
193
+ send: {
194
+ preSend: [
195
+ async function (requestOptions) {
196
+ const broadcasterId = this.getNodeParameter('endBroadcasterId', 0);
197
+ const pollId = this.getNodeParameter('pollId', 0);
198
+ const status = this.getNodeParameter('status', 0);
199
+ const body = {
200
+ broadcaster_id: broadcasterId,
201
+ id: pollId,
202
+ status: status,
203
+ };
204
+ requestOptions.body = body;
205
+ return requestOptions;
206
+ },
207
+ ],
208
+ },
209
+ output: {
210
+ postReceive: [
211
+ {
212
+ type: 'rootProperty',
213
+ properties: {
214
+ property: 'data',
215
+ },
216
+ },
217
+ {
218
+ type: 'setKeyValue',
219
+ properties: {
220
+ index: 0,
221
+ },
222
+ },
223
+ ],
224
+ },
225
+ },
226
+ },
227
+ ],
228
+ default: 'getPolls',
229
+ },
230
+ {
231
+ displayName: 'Broadcaster ID',
232
+ name: 'broadcasterId',
233
+ type: 'string',
234
+ displayOptions: {
235
+ show: {
236
+ operation: ['createPoll'],
237
+ },
238
+ },
239
+ default: '',
240
+ required: true,
241
+ placeholder: 'e.g. 123456789',
242
+ description: 'The broadcaster user ID who will own the poll',
243
+ },
244
+ {
245
+ displayName: 'Title',
246
+ name: 'title',
247
+ type: 'string',
248
+ displayOptions: {
249
+ show: {
250
+ operation: ['createPoll'],
251
+ },
252
+ },
253
+ default: '',
254
+ required: true,
255
+ placeholder: 'e.g. What game should I play next?',
256
+ description: 'Question displayed for the poll. Maximum: 60 characters.',
257
+ },
258
+ {
259
+ displayName: 'Choices',
260
+ name: 'choices',
261
+ type: 'string',
262
+ displayOptions: {
263
+ show: {
264
+ operation: ['createPoll'],
265
+ },
266
+ },
267
+ default: '',
268
+ required: true,
269
+ placeholder: 'e.g. ["Option 1", "Option 2", "Option 3"] or Option 1, Option 2, Option 3',
270
+ description: 'Poll choices as a JSON array or comma-separated list. Minimum: 2 choices. Maximum: 5 choices. Each choice maximum: 25 characters.',
271
+ },
272
+ {
273
+ displayName: 'Duration',
274
+ name: 'duration',
275
+ type: 'number',
276
+ displayOptions: {
277
+ show: {
278
+ operation: ['createPoll'],
279
+ },
280
+ },
281
+ default: 300,
282
+ required: true,
283
+ typeOptions: {
284
+ minValue: 15,
285
+ maxValue: 1800,
286
+ },
287
+ description: 'Total duration for the poll in seconds. Minimum: 15. Maximum: 1800.',
288
+ },
289
+ {
290
+ displayName: 'Additional Fields',
291
+ name: 'additionalFields',
292
+ type: 'collection',
293
+ placeholder: 'Add Field',
294
+ default: {},
295
+ displayOptions: {
296
+ show: {
297
+ operation: ['createPoll'],
298
+ },
299
+ },
300
+ options: [
301
+ {
302
+ displayName: 'Bits Voting Enabled',
303
+ name: 'bitsVotingEnabled',
304
+ type: 'boolean',
305
+ default: false,
306
+ description: 'Whether viewers can cast additional votes using Bits',
307
+ },
308
+ {
309
+ displayName: 'Bits Per Vote',
310
+ name: 'bitsPerVote',
311
+ type: 'number',
312
+ default: 0,
313
+ typeOptions: {
314
+ minValue: 0,
315
+ maxValue: 10000,
316
+ },
317
+ description: 'Number of Bits required to vote once with Bits. Minimum: 0. Maximum: 10000.',
318
+ },
319
+ {
320
+ displayName: 'Channel Points Voting Enabled',
321
+ name: 'channelPointsVotingEnabled',
322
+ type: 'boolean',
323
+ default: false,
324
+ description: 'Whether viewers can cast additional votes using Channel Points',
325
+ },
326
+ {
327
+ displayName: 'Channel Points Per Vote',
328
+ name: 'channelPointsPerVote',
329
+ type: 'number',
330
+ default: 0,
331
+ typeOptions: {
332
+ minValue: 0,
333
+ maxValue: 1000000,
334
+ },
335
+ description: 'Number of Channel Points required to vote once with Channel Points. Minimum: 0. Maximum: 1000000.',
336
+ },
337
+ ],
338
+ },
339
+ {
340
+ displayName: 'Broadcaster ID',
341
+ name: 'getBroadcasterId',
342
+ type: 'string',
343
+ displayOptions: {
344
+ show: {
345
+ operation: ['getPolls'],
346
+ },
347
+ },
348
+ default: '',
349
+ required: true,
350
+ placeholder: 'e.g. 123456789',
351
+ description: 'The broadcaster user ID whose polls to retrieve',
352
+ },
353
+ {
354
+ displayName: 'Poll IDs',
355
+ name: 'pollIds',
356
+ type: 'string',
357
+ displayOptions: {
358
+ show: {
359
+ operation: ['getPolls'],
360
+ },
361
+ },
362
+ default: '',
363
+ placeholder: 'e.g. poll-ID-1 or poll-ID-1,poll-ID-2',
364
+ description: 'Filter by poll ID(s). Separate multiple IDs with commas. Maximum: 100 IDs. Leave empty to get all polls.',
365
+ },
366
+ {
367
+ displayName: 'First',
368
+ name: 'first',
369
+ type: 'number',
370
+ displayOptions: {
371
+ show: {
372
+ operation: ['getPolls'],
373
+ },
374
+ },
375
+ default: 20,
376
+ typeOptions: {
377
+ minValue: 1,
378
+ maxValue: 20,
379
+ },
380
+ description: 'Maximum number of polls to return. Default: 20. Maximum: 20.',
381
+ },
382
+ {
383
+ displayName: 'Broadcaster ID',
384
+ name: 'endBroadcasterId',
385
+ type: 'string',
386
+ displayOptions: {
387
+ show: {
388
+ operation: ['endPoll'],
389
+ },
390
+ },
391
+ default: '',
392
+ required: true,
393
+ placeholder: 'e.g. 123456789',
394
+ description: 'The broadcaster user ID who owns the poll',
395
+ },
396
+ {
397
+ displayName: 'Poll ID',
398
+ name: 'pollId',
399
+ type: 'string',
400
+ displayOptions: {
401
+ show: {
402
+ operation: ['endPoll'],
403
+ },
404
+ },
405
+ default: '',
406
+ required: true,
407
+ placeholder: 'e.g. ed961efd-8a3f-4cf5-a9d0-e616c590cd2a',
408
+ description: 'The ID of the poll to end',
409
+ },
410
+ {
411
+ displayName: 'Status',
412
+ name: 'status',
413
+ type: 'options',
414
+ displayOptions: {
415
+ show: {
416
+ operation: ['endPoll'],
417
+ },
418
+ },
419
+ options: [
420
+ {
421
+ name: 'Terminated',
422
+ value: 'TERMINATED',
423
+ description: 'End the poll immediately',
424
+ },
425
+ {
426
+ name: 'Archived',
427
+ value: 'ARCHIVED',
428
+ description: 'Archive the poll immediately',
429
+ },
430
+ ],
431
+ default: 'TERMINATED',
432
+ required: true,
433
+ description: 'The status to set for the poll when ending it',
434
+ },
435
+ {
436
+ displayName: 'Note',
437
+ name: 'pollsNote',
438
+ type: 'notice',
439
+ default: '',
440
+ displayOptions: {
441
+ show: {
442
+ operation: ['createPoll', 'endPoll'],
443
+ },
444
+ },
445
+ description: 'Requires OAuth2 authentication with channel:manage:polls scope',
446
+ },
447
+ ],
448
+ };
449
+ }
450
+ }
451
+ exports.TwitchPolls = TwitchPolls;
452
+ //# sourceMappingURL=TwitchPolls.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwitchPolls.node.js","sourceRoot":"","sources":["../../../nodes/TwitchPolls/TwitchPolls.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
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>
@@ -0,0 +1 @@
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>
@@ -0,0 +1,4 @@
1
+ import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class TwitchPredictions implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }