Nihaal Sangha
c64e893b60
fix(Discord Node): Remove requirement on message for webhooks ( #8377 )
2024-01-22 09:16:20 +00:00
Tomi Turtiainen
9a1cc56806
fix: Set '@typescript-eslint/return-await' rule to 'always' for node code (no-changelog) ( #8363 )
...
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-01-17 17:08:50 +02:00
Giulio Andreini
48a0f91c72
docs(Discord Node): Better OAuth description (no-changelog) ( #8350 )
2024-01-17 13:01:19 +01:00
Nihaal Sangha
ef3a57719e
fix(Discord Node): Remove unnecessary requirement on parameters ( #8060 )
...
## Summary
The PR removes the requirement on 2 fields: the `content` and the
`description` of embeds. Discord requires neither of these fields and as
they weren't required in the v1 node, it prevents migrating to the v2
node for users not providing one of them. Discord does require
*something* to be sent however, whether an attachment, an embed or
content, so this could be used instead if necessary.
## Review / Merge checklist
- [x] PR title and summary are descriptive. **Remember, the title
automatically goes into the changelog. Use `(no-changelog)` otherwise.**
([conventions](https://github.com/n8n-io/n8n/blob/master/.github/pull_request_title_conventions.md ))
- [x] ~~[Docs updated](https://github.com/n8n-io/n8n-docs ) or follow-up
ticket created.~~ (v2 is not documented)
- [x] ~~Tests included.~~ (If more complex requirements are set then a
test should be added although I haven't worked with n8n's tests before)
---------
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
2024-01-03 11:21:22 +02:00
Iván Ovejero
0ca2759d75
refactor: Optimize SVG icons for nodes ( #8195 )
...
Running `svgo` to optimize icon size for nodes.
2024-01-02 17:40:08 +01:00
कारतोफ्फेलस्क्रिप्ट™
216ec079c9
feat(editor): Create separate components for JS and JSON editors (no-changelog) ( #8156 )
...
## Summary
This is part-1 of refactoring our code editors to extract different type
of editors into their own components.
In part-2 we'll
1. delete a of unused or duplicate code
2. switch to a `useEditor` composable to bring more UX consistency
across all the code editors.
## Review / Merge checklist
- [x] PR title and summary are descriptive
- [x] Tests included
2023-12-29 10:49:27 +01:00
Iván Ovejero
c170dd1da3
refactor(Discord Node): Stop reporting to Sentry inaccessible guild error (no-changelog) ( #8095 )
...
Ref Sentry issue: https://n8nio.sentry.io/issues/4738702202
2023-12-19 15:07:51 +01:00
Csaba Tuncsik
e128b23a2b
build: Upgrade to Vite 5 ( #7784 )
2023-11-23 11:55:02 +01:00
Michael Kret
6a53c2a375
feat(Discord Node): Overhaul ( #5351 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Marcus <marcus@n8n.io>
2023-11-08 16:11:23 +02:00
कारतोफ्फेलस्क्रिप्ट™
6aa7b93473
refactor(core): Deprecate prepareOutputData
(no-changelog) ( #7091 )
2023-09-05 12:59:02 +02:00
कारतोफ्फेलस्क्रिप्ट™
7a4e9ef5fa
refactor: Remove n8n-core dependency in nodes-base (no-changelog) ( #5649 )
2023-03-09 18:13:15 +01:00
Jan Oberhauser
e251439333
fix(Discord Node): Fix wrong error message being displayed ( #5547 )
2023-02-22 15:54:52 +01:00
Iván Ovejero
b03e358a12
refactor: Integrate consistent-type-imports
in nodes-base (no-changelog) ( #5267 )
...
* 👕 Enable `consistent-type-imports` for nodes-base
* 👕 Apply to nodes-base
* ⏪ Undo unrelated changes
* 🚚 Move to `.eslintrc.js` in nodes-base
* ⏪ Revert "Enable `consistent-type-imports` for nodes-base"
This reverts commit 529ad72b05
.
* 👕 Fix severity
2023-01-27 12:22:44 +01:00
Iván Ovejero
fbb8611ae2
refactor: Deprecate alwaysOpenEditWindow
for string
( #4839 )
...
* 🔥 Remove from client
* 📘 Update interface comment
* ✏️ Update docs
* ⚡ Update nodes
* ✏️ Fix typo
* ⏪ Restore misremoved property
* 🔥 Remove more instances
2022-12-07 15:29:45 +01:00
Michael Kret
61e26804ba
refactor(core): Remove linting exceptions in nodes-base ( #4794 )
...
* ⚡ enabled array-type
* ⚡ await-thenable on
* ⚡ ban-types on
* ⚡ default-param-last on
* ⚡ dot-notation on
* ⚡ member-delimiter-style on
* ⚡ no-duplicate-imports on
* ⚡ no-empty-interface on
* ⚡ no-floating-promises on
* ⚡ no-for-in-array on
* ⚡ no-invalid-void-type on
* ⚡ no-loop-func on
* ⚡ no-shadow on
* ⚡ ban-ts-comment re enabled
* ⚡ @typescript-eslint/lines-between-class-members on
* address my own comment
* @typescript-eslint/return-await on
* @typescript-eslint/promise-function-async on
* @typescript-eslint/no-unnecessary-boolean-literal-compare on
* @typescript-eslint/no-unnecessary-type-assertion on
* prefer-const on
* @typescript-eslint/prefer-optional-chain on
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-12-02 21:54:28 +01:00
Iván Ovejero
cfd32d2642
refactor: Phase out TSLint in nodes-base
(no-changelog) ( #4798 )
...
* 🔥 Remove TSLint scripts
* 🔥 Remove TSLint config
* 🔥 Remove TSLint exceptions
* 👕 Adjust lint config
* ✏️ Add story numbers
2022-12-02 15:25:21 +01:00
Michael Kret
a6df51b6e8
fix(core): Fix for unused imports
2022-11-21 09:27:48 +02:00
Iván Ovejero
0d9eeea024
refactor(core): Introduce overload for record-type node parameter (no-changelog) ( #4648 )
...
* 📘 Set up overload
* 🔥 Remove inferrable record assertions
* 👕 Fix semicolon
* 👕 Fix another semicolon
2022-11-18 16:29:44 +01:00
कारतोफ्फेलस्क्रिप्ट™
2425c10b2b
feat(API): Report unhandled app crashes to Sentry ( #4548 )
...
* SIGTERM/SIGINT should only be handled once
* move error-handling initialization to commands
* create a new `sleep` function in workflow utils
* detect crashes and report them to Sentry
2022-11-08 17:06:00 +01:00
Michael Kret
1d57b10942
refactor(core): fix for no-uncaught-json-parse warnings
2022-10-21 21:52:43 +03:00
Mike Arvela
6e8e4f5937
fix(nodes-base): fix and harmonize all primaryDocumentation links ( #4191 )
...
* fix(nodes-base): fix and harmonize all primaryDocumentation links
* feat(workflow, cli): expose documentation links to UI via node codex
* fix(editor-ui): link to correct node and credential documentation URLs
* config(nodes-base): update 'format' script to also format node descriptor json
* chore: fix outdated links to node reference documentation
2022-09-29 13:33:16 +03:00
Omar Ajoue
b2c674591c
Feature/paired item support ( #3869 )
...
* Add paired item helper and implement it in some nodes
2022-08-30 17:55:33 +02:00
Michael Kret
0ecbb4a19d
refactor: Format nodes-base
package (A-F) ( #3800 )
...
* 🔨 prettier formated nodes - A
* 🔨 prettier formated nodes - B
* ⚡ prettier formated nodes - C
* ⚡ prettier formated nodes - D
* ⚡ prettier formated nodes - E-F
* 🎨 Adjust nodes-base formatting command (#3805 )
* Format additional files in nodes A-F (#3811 )
* ⚡ fixes
* 🎨 Add Mindee to ignored dirs
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-08-01 22:47:55 +02:00
Iván Ovejero
2a8043cd27
feat: Add item information to more node errors ( #3681 )
...
* ⚡ Add `itemIndex` to node-thrown errors
* ⚡ Add some missing item indexes
2022-07-12 17:51:01 +02:00
Iván Ovejero
59f2e8e7d5
refactor: Apply more eslint-plugin-n8n-nodes-base
rules ( #3624 )
...
* ⬆️ Upgrade `eslint-plugin-n8n-nodes-base`
* 📦 Update `package-lock.json`
* 🔧 Adjust renamed filesystem rules
* ✏️ Alphabetize ruleset
* ⚡ Categorize overrides
* ⚡ Set renamings in lint exceptions
* ⚡ Run baseline `lintfix`
* ⚡ Update linting scripts
* 👕 Apply `node-param-description-missing-from-dynamic-multi-options`
* 👕 Apply `cred-class-field-name-missing-oauth2` (#3627 )
* Rule working as intended
* Removed comments
* Move cred rule to different rule set
* 👕 Apply `node-param-array-type-assertion`
* 👕 Apply `node-dirname-against-convention`
* Apply `cred-class-field-display-name-oauth2` (#3628 )
* Apply `node-execute-block-wrong-error-thrown`
* Apply `node-class-description-display-name-unsuffixed-trigger-node`
* Apply `node-class-description-name-unsuffixed-trigger-node`
* Apply `cred-class-name-missing-oauth2-suffix` (#3636 )
* Rule working as intended, add exception to existing nodes
* 👕 Apply `cred-class-field-name-uppercase-first-char` (#3638 )
* ⬆️ Upgrade to plugin version 1.2.28
* 📦 Update `package-lock.json`
* 👕 Update lintings with 1.2.8 change
* 👕 Apply `cred-class-field-name-unsuffixed`
* 👕 Apply `cred-class-name-unsuffixed`
* 👕 Apply `node-class-description-credentials-name-unsuffixed`
* ✏️ Alphabetize rules
* ➖ Remove `nodelinter` package
* 📦 Update `package-lock.json`
* ⚡ Consolidate `lint` and `lintfix` scripts
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: agobrech <ael.gobrecht@gmail.com>
2022-07-04 11:12:08 +02:00
Iván Ovejero
88dea330b9
refactor: Apply more eslint-plugin-n8n-nodes-base
rules ( #3534 )
...
* ⚡ Update `lintfix` script
* ⚡ Run baseline `lintfix`
* 🔥 Remove unneeded exceptions (#3538 )
* 🔥 Remove exceptions for `node-param-default-wrong-for-simplify`
* 🔥 Remove exceptions for `node-param-placeholder-miscased-id`
* ⚡ Update version
* 👕 Apply `node-param-placeholder-missing` (#3542 )
* 👕 Apply `filesystem-wrong-cred-filename` (#3543 )
* 👕 Apply `node-param-description-missing-from-dynamic-options` (#3545 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-class-description-empty-string` (#3546 )
* 👕 Apply `node-class-description-icon-not-svg` (#3548 )
* 👕 Apply `filesystem-wrong-node-filename` (#3549 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Expand lintings to credentials (#3550 )
* 👕 Apply `node-param-multi-options-type-unsorted-items` (#3552 )
* ⚡ fix
* ⚡ Minor fixes
Co-authored-by: Michael Kret <michael.k@radency.com>
* 👕 Apply `node-param-description-wrong-for-dynamic-multi-options` (#3541 )
* ⚡ Add new lint rule, node-param-description-wrong-for-dynamic-multi-options
* ⚡ Fix with updated linting rules
* ⚡ Minor fixes
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-description-boolean-without-whether` (#3553 )
* ⚡ fix
* Update packages/nodes-base/nodes/Clockify/ProjectDescription.ts
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-display-name-wrong-for-dynamic-multi-options (#3537 )
* 👕 Add exceptions
* 👕 Add exception
* ✏️ Alphabetize rules
* ⚡ Restore `lintfix` command
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
2022-06-20 07:54:01 -07:00
Michael Kret
b687ba11cc
fix(Discord Node): Fix broken rate limit handling ( #3311 )
...
* 🔨 fix and additional option to return response headers
* ⚡ Remove "return response headers" parameter
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
2022-05-27 18:26:08 +02:00
Iván Ovejero
63b6c9f128
refactor: Apply more eslint-plugin-n8n-nodes-base
autofixable rules ( #3243 )
...
* ✏️ Alphabetize rules
* 🔖 Update version
* ⚡ Update lintfix command
* ⚡ Run baseline lintfix
* 📦 Update package-lock.json
* 👕 Apply `node-param-description-untrimmed` (#3200 )
* Removing unneeded backticks (#3249 )
* 👕 Apply node-param-description-wrong-for-return-all (#3253 )
* 👕 Apply node-param-description-missing-limit (#3252 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-excess-final-period (#3250 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-unencoded-angle-brackets (#3256 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-url-missing-protocol (#3258 )
* 👕 Apply `node-param-description-miscased-id` (#3254 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-wrong-for-limit (#3257 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-wrong-for-ignore-ssl-issues (#3261 )
* 👕 Apply rule
* ⚡ Restore lintfix script
* ⚡ Restore lintfix script
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
2022-05-06 23:01:25 +02:00
Jan Oberhauser
ab18049e61
⚡ Fix discord icon name
2022-04-19 13:50:24 +02:00
Jan Oberhauser
7fc8c53f8a
👕 Fix lint issue
2022-04-15 10:40:05 +02:00
agobrech
310bffe713
feat(Discord Node): Add additional options ( #2918 )
...
* 🔖 Discord Node v2.0
* Updated image from png to svg
* Added correct versioning
* Added old for versioning purposes
* Added other parameter for the url
* Fixed subtitle added multipart option for payload
* Removed unused imports
* Changed data type for binary file
* Removed console.log
* Moved the additional fields to an option field + fixed some bugs
* Refactored node into one version
* Removed any type
* Fixed some broken behaviour
* Minor fixes for discord node
* ⚡ Fix parameter name
Co-authored-by: Timeraa <me@timeraa.dev>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-04-15 10:04:27 +02:00
Iván Ovejero
2b74b6238e
⚡ Deprecate step size and node color ( #2586 )
...
* 🔥 Deprecate numberStepSize
* 🔥 Deprecate color in non-FA nodes
* ⚡ Minor node name fixes
* 📦 Update package-lock.json
* ⏪ Restore Merge node color
* 👕 Fix lint
2021-12-23 13:30:35 +01:00
Iván Ovejero
56c4c6991f
🎨 Set up linting and formatting ( #2120 )
...
* ⬆️ Upgrade TS to 4.3.5
* 👕 Add ESLint configs
* 🎨 Add Prettier config
* 📦 Add deps and commands
* ⚡ Adjust global .editorconfig to new ruleset
* 🔥 Remove unneeded local .editorconfig
* 📦 Update deps in editor-ui
* 🔨 Limit Prettier to only TS files
* ⚡ Add recommended VSCode extensions
* 👕 Fix build
* 🔥 Remove Vue setting from global config
* ⚡ Disable prefer-default-export per feedback
* ✏️ Add forgotten divider
* 👕 Disable no-plusplus
* 👕 Disable class-methods-use-this
* ✏️ Alphabetize overrides
* 👕 Add one-var consecutive override
* ⏪ Revert one-var consecutive override
This reverts commit b9252cf935
.
* 🎨 👕 Lint and format workflow package (#2121 )
* 🎨 Format /workflow package
* 👕 Lint /workflow package
* 🎨 Re-format /workflow package
* 👕 Re-lint /workflow package
* ✏️ Fix typo
* ⚡ Consolidate if-checks
* 🔥 Remove prefer-default-export exceptions
* 🔥 Remove no-plusplus exceptions
* 🔥 Remove class-methods-use-this exceptions
* 🎨 👕 Lint and format node-dev package (#2122 )
* 🎨 Format /node-dev package
* ⚡ Exclude templates from ESLint config
This keeps the templates consistent with the codebase while preventing lint exceptions from being made part of the templates.
* 👕 Lint /node-dev package
* 🔥 Remove prefer-default-export exceptions
* 🔥 Remove no-plusplus exceptions
* 🎨 👕 Lint and format core package (#2123 )
* 🎨 Format /core package
* 👕 Lint /core package
* 🎨 Re-format /core package
* 👕 Re-lint /core package
* 🔥 Remove prefer-default-export exceptions
* 🔥 Remove no-plusplus exceptions
* 🔥 Remove class-methods-use-this exceptions
* 🎨 👕 Lint and format cli package (#2124 )
* 🎨 Format /cli package
* 👕 Exclude migrations from linting
* 👕 Lint /cli package
* 🎨 Re-format /cli package
* 👕 Re-lint /cli package
* 👕 Fix build
* 🔥 Remove prefer-default-export exceptions
* ⚡ Update exceptions in ActiveExecutions
* 🔥 Remove no-plusplus exceptions
* 🔥 Remove class-methods-use-this exceptions
* 👕 fix lint issues
* 🔧 use package specific linter, remove tslint command
* 🔨 resolve build issue, sync dependencies
* 🔧 change lint command
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
2021-08-29 20:58:11 +02:00
Iván Ovejero
b2e0bcea16
🐛 Remove circular references from error objects ( #1802 )
...
* ⚡ Add circular references removal
* 🔥 Remove unused flag from affected node
* 🔥 Remove unused exports
* 🔨 refactor removing circular references
* ⚡ Replace IRawErrorObject with JsonObject
* ⚡ Make error detection depth-first (#1800 )
* 👕 fix type
* 🔨 improve readability
* 📝 improve placeholder for circular reference
* ⚡ Turn marker into object to keep description
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
2021-06-12 17:15:23 +02:00
Iván Ovejero
1d27a9e87e
✨ Improve node error handling ( #1309 )
...
* Add path mapping and response error interfaces
* Add error handling and throwing functionality
* Refactor error handling into a single function
* Re-implement error handling in Hacker News node
* Fix linting details
* Re-implement error handling in Spotify node
* Re-implement error handling in G Suite Admin node
* 🚧 create basic setup NodeError
* 🚧 add httpCodes
* 🚧 add path priolist
* 🚧 handle statusCode in error, adjust interfaces
* 🚧 fixing type issues w/Ivan
* 🚧 add error exploration
* 👔 fix linter issues
* 🔧 improve object check
* 🚧 remove path passing from NodeApiError
* 🚧 add multi error + refactor findProperty method
* 👔 allow any
* 🔧 handle multi error message callback
* ⚡ change return type of callback
* ⚡ add customCallback to MultiError
* 🚧 refactor to use INode
* 🔨 handle arrays, continue search after first null property found
* 🚫 refactor method access
* 🚧 setup NodeErrorView
* ⚡ change timestamp to Date.now
* 📚 Add documentation for methods and constants
* 🚧 change message setting
* 🚚 move NodeErrors to workflow
* ✨ add new ErrorView for Nodes
* 🎨 improve error notification
* 🎨 refactor interfaces
* ⚡ add WorkflowOperationError, refactor error throwing
* 👕 fix linter issues
* 🎨 rename param
* 🐛 fix handling normal errors
* ⚡ add usage of NodeApiError
* 🎨 fix throw new error instead of constructor
* 🎨 remove unnecessary code/comments
* 🎨 adjusted spacing + updated status messages
* 🎨 fix tab indentation
* ✨ Replace current errors with custom errors (#1576 )
* ⚡ Introduce NodeApiError in catch blocks
* ⚡ Introduce NodeOperationError in nodes
* ⚡ Add missing errors and remove incompatible
* ⚡ Fix NodeOperationError in incompatible nodes
* 🔧 Adjust error handling in missed nodes
PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes
* 🔨 Adjust Strava Trigger node error handling
* 🔨 Adjust AWS nodes error handling
* 🔨 Remove duplicate instantiation of NodeApiError
* 🐛 fix strava trigger node error handling
* Add XML parsing to NodeApiError constructor (#1633 )
* 🐛 Remove type annotation from catch variable
* ✨ Add XML parsing to NodeApiError
* ⚡ Simplify error handling in Rekognition node
* ⚡ Pass in XML flag in generic functions
* 🔥 Remove try/catch wrappers at call sites
* 🔨 Refactor setting description from XML
* 🔨 Refactor let to const in resource loaders
* ⚡ Find property in parsed XML
* ⚡ Change let to const
* 🔥 Remove unneeded try/catch block
* 👕 Fix linting issues
* 🐛 Fix errors from merge conflict resolution
* ⚡ Add custom errors to latest contributions
* 👕 Fix linting issues
* ⚡ Refactor MongoDB helpers for custom errors
* 🐛 Correct custom error type
* ⚡ Apply feedback to A nodes
* ⚡ Apply feedback to missed A node
* ⚡ Apply feedback to B-D nodes
* ⚡ Apply feedback to E-F nodes
* ⚡ Apply feedback to G nodes
* ⚡ Apply feedback to H-L nodes
* ⚡ Apply feedback to M nodes
* ⚡ Apply feedback to P nodes
* ⚡ Apply feedback to R nodes
* ⚡ Apply feedback to S nodes
* ⚡ Apply feedback to T nodes
* ⚡ Apply feedback to V-Z nodes
* ⚡ Add HTTP code to iterable node error
* 🔨 Standardize e as error
* 🔨 Standardize err as error
* ⚡ Fix error handling for non-standard nodes
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 18:33:36 +02:00
Harshil Agrawal
f258f3ca33
✨ Add Node Codex ( #1335 )
...
* ✨ Add Node Codex 📇
* ⚡ Add codex files for new nodes
* ⚡ Change category for Affinity
* 🔨 Fix credential documentation link
* ⚡ Improve styling
* ⚡ Add blogposts
Co-authored-by: Amudhan <sm.amudhan@live.com>
2021-01-14 13:56:07 +01:00
Jan Oberhauser
40c2acd77b
👕 Fix lint issue
2020-10-22 15:46:03 +02:00
Jan Oberhauser
fe802c8f76
👕 Fix built issue by fixing lint issues
2020-10-01 15:18:47 +02:00
Jan Oberhauser
24a3a02180
⚡ Optimize integration icon images
2020-02-05 17:35:16 -08:00
Jan Oberhauser
117cca0505
⚡ Remove parameter and improve retry functionality
2019-10-30 14:56:58 +01:00
neomaking
f033e4c886
Refactored into simple Discord node so it can be extended later
2019-10-20 23:26:58 +02:00