@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,4 @@
1
+ import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class TwitchStreams implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwitchStreams = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class TwitchStreams {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Twitch Streams',
9
+ name: 'twitchStreams',
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 Streams API',
15
+ defaults: {
16
+ name: 'Twitch Streams',
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: 'Get',
73
+ value: 'get',
74
+ action: 'Get stream information',
75
+ description: 'Get information about a live stream',
76
+ routing: {
77
+ request: {
78
+ method: 'GET',
79
+ url: '/streams',
80
+ qs: {
81
+ user_login: '={{$parameter.streamUserLogin}}',
82
+ },
83
+ },
84
+ output: {
85
+ postReceive: [
86
+ {
87
+ type: 'rootProperty',
88
+ properties: {
89
+ property: 'data',
90
+ },
91
+ },
92
+ {
93
+ type: 'setKeyValue',
94
+ properties: {
95
+ index: 0,
96
+ },
97
+ },
98
+ ],
99
+ },
100
+ },
101
+ },
102
+ ],
103
+ default: 'get',
104
+ },
105
+ {
106
+ displayName: 'User Login',
107
+ name: 'streamUserLogin',
108
+ type: 'string',
109
+ displayOptions: {
110
+ show: {
111
+ operation: ['get'],
112
+ },
113
+ },
114
+ default: '',
115
+ required: true,
116
+ placeholder: 'e.g. username',
117
+ description: 'The user login name',
118
+ },
119
+ ],
120
+ };
121
+ }
122
+ }
123
+ exports.TwitchStreams = TwitchStreams;
124
+ //# sourceMappingURL=TwitchStreams.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwitchStreams.node.js","sourceRoot":"","sources":["../../../nodes/TwitchStreams/TwitchStreams.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAE9F,MAAa,aAAa;IAA1B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,eAAe;YACrB,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,kCAAkC;YAC/C,QAAQ,EAAE;gBACT,IAAI,EAAE,gBAAgB;aACtB;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,WAAW;oBACjB,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,cAAc,EAAE,CAAC,mBAAmB,CAAC;yBACrC;qBACD;iBACD;gBACD;oBACC,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,cAAc,EAAE,CAAC,QAAQ,CAAC;yBAC1B;qBACD;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,gBAAgB;oBAC7B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,oBAAoB;4BAC1B,KAAK,EAAE,mBAAmB;yBAC1B;wBACD;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,QAAQ;yBACf;qBACD;oBACD,OAAO,EAAE,QAAQ;iBACjB;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,wBAAwB;4BAChC,WAAW,EAAE,qCAAqC;4BAClD,OAAO,EAAE;gCACR,OAAO,EAAE;oCACR,MAAM,EAAE,KAAK;oCACb,GAAG,EAAE,UAAU;oCACf,EAAE,EAAE;wCACH,UAAU,EAAE,iCAAiC;qCAC7C;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,KAAK;iBACd;gBACD;oBACC,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,SAAS,EAAE,CAAC,KAAK,CAAC;yBAClB;qBACD;oBACD,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,eAAe;oBAC5B,WAAW,EAAE,qBAAqB;iBAClC;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAnHD,sCAmHC"}
@@ -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 TwitchSubscriptions implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwitchSubscriptions = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class TwitchSubscriptions {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Twitch Subscriptions',
9
+ name: 'twitchSubscriptions',
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 Subscriptions API',
15
+ defaults: {
16
+ name: 'Twitch Subscriptions',
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: 'Get Broadcaster Subscriptions',
73
+ value: 'getBroadcasterSubscriptions',
74
+ action: 'Get broadcaster subscriptions',
75
+ description: 'Get a list of broadcaster subscriptions',
76
+ routing: {
77
+ request: {
78
+ method: 'GET',
79
+ url: '/subscriptions',
80
+ },
81
+ send: {
82
+ preSend: [
83
+ async function (requestOptions) {
84
+ const broadcasterId = this.getNodeParameter('broadcasterId', 0);
85
+ const userId = this.getNodeParameter('userId', 0);
86
+ const first = this.getNodeParameter('first', 0);
87
+ const after = this.getNodeParameter('after', 0);
88
+ const qs = {
89
+ broadcaster_id: broadcasterId,
90
+ };
91
+ if (userId) {
92
+ const userIds = userId.split(',').map((id) => id.trim()).filter((id) => id);
93
+ if (userIds.length > 0) {
94
+ qs.user_id = userIds;
95
+ }
96
+ }
97
+ if (first)
98
+ qs.first = first;
99
+ if (after)
100
+ qs.after = after;
101
+ requestOptions.qs = qs;
102
+ return requestOptions;
103
+ },
104
+ ],
105
+ },
106
+ output: {
107
+ postReceive: [
108
+ {
109
+ type: 'rootProperty',
110
+ properties: {
111
+ property: 'data',
112
+ },
113
+ },
114
+ ],
115
+ },
116
+ },
117
+ },
118
+ {
119
+ name: 'Check User Subscription',
120
+ value: 'checkUserSubscription',
121
+ action: 'Check user subscription',
122
+ description: 'Check if a user is subscribed to a broadcaster',
123
+ routing: {
124
+ request: {
125
+ method: 'GET',
126
+ url: '/subscriptions/user',
127
+ },
128
+ send: {
129
+ preSend: [
130
+ async function (requestOptions) {
131
+ const broadcasterId = this.getNodeParameter('broadcasterId', 0);
132
+ const userId = this.getNodeParameter('checkUserId', 0);
133
+ requestOptions.qs = {
134
+ broadcaster_id: broadcasterId,
135
+ user_id: userId,
136
+ };
137
+ return requestOptions;
138
+ },
139
+ ],
140
+ },
141
+ output: {
142
+ postReceive: [
143
+ {
144
+ type: 'rootProperty',
145
+ properties: {
146
+ property: 'data',
147
+ },
148
+ },
149
+ {
150
+ type: 'setKeyValue',
151
+ properties: {
152
+ index: 0,
153
+ },
154
+ },
155
+ ],
156
+ },
157
+ },
158
+ },
159
+ ],
160
+ default: 'getBroadcasterSubscriptions',
161
+ },
162
+ {
163
+ displayName: 'Broadcaster ID',
164
+ name: 'broadcasterId',
165
+ type: 'string',
166
+ required: true,
167
+ default: '',
168
+ placeholder: 'e.g. 123456789',
169
+ },
170
+ {
171
+ displayName: 'User IDs',
172
+ name: 'userId',
173
+ type: 'string',
174
+ default: '',
175
+ placeholder: 'e.g. 123456789,987654321',
176
+ description: 'Filter by user IDs (comma-separated)',
177
+ displayOptions: {
178
+ show: {
179
+ operation: ['getBroadcasterSubscriptions'],
180
+ },
181
+ },
182
+ },
183
+ {
184
+ displayName: 'User ID',
185
+ name: 'checkUserId',
186
+ type: 'string',
187
+ required: true,
188
+ default: '',
189
+ placeholder: 'e.g. 123456789',
190
+ description: 'The user ID to check',
191
+ displayOptions: {
192
+ show: {
193
+ operation: ['checkUserSubscription'],
194
+ },
195
+ },
196
+ },
197
+ {
198
+ displayName: 'First',
199
+ name: 'first',
200
+ type: 'number',
201
+ default: 20,
202
+ typeOptions: {
203
+ minValue: 1,
204
+ maxValue: 100,
205
+ },
206
+ placeholder: 'e.g. 20',
207
+ description: 'Number of results (1-100)',
208
+ displayOptions: {
209
+ show: {
210
+ operation: ['getBroadcasterSubscriptions'],
211
+ },
212
+ },
213
+ },
214
+ {
215
+ displayName: 'After',
216
+ name: 'after',
217
+ type: 'string',
218
+ default: '',
219
+ placeholder: 'e.g. eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MjB9fQ',
220
+ description: 'Pagination cursor',
221
+ displayOptions: {
222
+ show: {
223
+ operation: ['getBroadcasterSubscriptions'],
224
+ },
225
+ },
226
+ },
227
+ ],
228
+ };
229
+ }
230
+ }
231
+ exports.TwitchSubscriptions = TwitchSubscriptions;
232
+ //# sourceMappingURL=TwitchSubscriptions.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwitchSubscriptions.node.js","sourceRoot":"","sources":["../../../nodes/TwitchSubscriptions/TwitchSubscriptions.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 TwitchTeams implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwitchTeams = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class TwitchTeams {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Twitch Teams',
9
+ name: 'twitchTeams',
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 Teams API',
15
+ defaults: {
16
+ name: 'Twitch Teams',
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: 'Get Channel Teams',
73
+ value: 'getChannelTeams',
74
+ action: 'Get channel teams',
75
+ description: 'Get all teams that a broadcaster is a member of',
76
+ routing: {
77
+ request: {
78
+ method: 'GET',
79
+ url: '/teams/channel',
80
+ },
81
+ send: {
82
+ preSend: [
83
+ async function (requestOptions) {
84
+ const broadcasterId = this.getNodeParameter('broadcasterId', 0);
85
+ requestOptions.qs = {
86
+ broadcaster_id: broadcasterId,
87
+ };
88
+ return requestOptions;
89
+ },
90
+ ],
91
+ },
92
+ output: {
93
+ postReceive: [
94
+ {
95
+ type: 'rootProperty',
96
+ properties: {
97
+ property: 'data',
98
+ },
99
+ },
100
+ ],
101
+ },
102
+ },
103
+ },
104
+ {
105
+ name: 'Get Team',
106
+ value: 'getTeam',
107
+ action: 'Get team',
108
+ description: 'Get information about a specific team',
109
+ routing: {
110
+ request: {
111
+ method: 'GET',
112
+ url: '/teams',
113
+ },
114
+ send: {
115
+ preSend: [
116
+ async function (requestOptions) {
117
+ const searchBy = this.getNodeParameter('searchBy', 0);
118
+ const searchValue = this.getNodeParameter(searchBy, 0);
119
+ requestOptions.qs = {
120
+ [searchBy]: searchValue,
121
+ };
122
+ return requestOptions;
123
+ },
124
+ ],
125
+ },
126
+ output: {
127
+ postReceive: [
128
+ {
129
+ type: 'rootProperty',
130
+ properties: {
131
+ property: 'data',
132
+ },
133
+ },
134
+ {
135
+ type: 'setKeyValue',
136
+ properties: {
137
+ index: 0,
138
+ },
139
+ },
140
+ ],
141
+ },
142
+ },
143
+ },
144
+ ],
145
+ default: 'getChannelTeams',
146
+ },
147
+ {
148
+ displayName: 'Broadcaster ID',
149
+ name: 'broadcasterId',
150
+ type: 'string',
151
+ required: true,
152
+ default: '',
153
+ placeholder: 'e.g. 123456789',
154
+ description: 'The ID of the broadcaster',
155
+ displayOptions: {
156
+ show: {
157
+ operation: ['getChannelTeams'],
158
+ },
159
+ },
160
+ },
161
+ {
162
+ displayName: 'Search By',
163
+ name: 'searchBy',
164
+ type: 'options',
165
+ required: true,
166
+ options: [
167
+ {
168
+ name: 'Name',
169
+ value: 'name',
170
+ },
171
+ {
172
+ name: 'ID',
173
+ value: 'id',
174
+ },
175
+ ],
176
+ default: 'name',
177
+ description: 'Search team by name or ID',
178
+ displayOptions: {
179
+ show: {
180
+ operation: ['getTeam'],
181
+ },
182
+ },
183
+ },
184
+ {
185
+ displayName: 'Team Name',
186
+ name: 'name',
187
+ type: 'string',
188
+ required: true,
189
+ default: '',
190
+ placeholder: 'e.g. staff',
191
+ description: 'The name of the team',
192
+ displayOptions: {
193
+ show: {
194
+ operation: ['getTeam'],
195
+ searchBy: ['name'],
196
+ },
197
+ },
198
+ },
199
+ {
200
+ displayName: 'Team ID',
201
+ name: 'id',
202
+ type: 'string',
203
+ required: true,
204
+ default: '',
205
+ placeholder: 'e.g. 123456',
206
+ description: 'The ID of the team',
207
+ displayOptions: {
208
+ show: {
209
+ operation: ['getTeam'],
210
+ searchBy: ['id'],
211
+ },
212
+ },
213
+ },
214
+ ],
215
+ };
216
+ }
217
+ }
218
+ exports.TwitchTeams = TwitchTeams;
219
+ //# sourceMappingURL=TwitchTeams.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwitchTeams.node.js","sourceRoot":"","sources":["../../../nodes/TwitchTeams/TwitchTeams.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,12 @@
1
+ import { type IHookFunctions, type IWebhookFunctions, type INodeType, type INodeTypeDescription, type IWebhookResponseData } from 'n8n-workflow';
2
+ export declare class TwitchTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhookMethods: {
5
+ default: {
6
+ checkExists(this: IHookFunctions): Promise<boolean>;
7
+ create(this: IHookFunctions): Promise<boolean>;
8
+ delete(this: IHookFunctions): Promise<boolean>;
9
+ };
10
+ };
11
+ webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
12
+ }