Files
PluralFlux-infra/src/enums.js

49 lines
5.9 KiB
JavaScript
Raw Normal View History

2026-02-13 21:18:44 -05:00
const helperEnums = {};
helperEnums.err = {
NO_MEMBER: "No such member was found.",
2026-02-13 21:18:44 -05:00
NO_NAME_PROVIDED: "No member name was provided for",
2026-02-20 11:00:57 -05:00
NO_VALUE: "has not been set for this member.",
2026-02-13 21:18:44 -05:00
ADD_ERROR: "Error adding member.",
MEMBER_EXISTS: "A member with that name already exists. Please pick a unique name.",
USER_NO_MEMBERS: "You have no members created.",
NAME_REQUIRED: "You must set a unique name for the member for them to save.",
feat: add tests and other such features (#3) * converted import syntax to ES modules removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * converted import syntax to commonJS removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * more correct dockerfile and compose.yaml * Revert "converted import syntax to commonJS" This reverts commit 5ab0d62b * updated jest to sort of work with es6 * separating out enum return from method return * mostly working except for the weirdest error * nevermind it wasn't actually working, gonna move on for now * added babel to convert es modules to cjs * finally figured out issue with tests (referencing the method directly in the test.each calls the real method not the mock in beforeEach()) * setup fixed more * added error handling parseMemberCommand test * renamed db to database more tests and fixing logic for memberhelper * upgraded fluxer.js * moved import to helpers folder * moved import to helpers folder * more tests for member helper * think i fixed weird error with webhook sending error when a user has no members * simplified sendMessageAsAttachment * added return to addFullMember so that addNewMember can reference it properly in strings * test setup for messagehelper and webhookhelper * readded line i shouldn't have removed in sendMessageAsMember * fixed test and logic * added test for memberHelper * updated sendMessageAsAttachment to returnBufferFromText and updated commands/webhookHelper accordingly * added tests for parseProxyTags and updated logic * added "return" so tests dont terminate on failure and deleted env.jest * finished tests for messageHelper! * more cases for messageHelper just in case * updating docstring for messageHelper parseProxyTags * more tests for webhookhelper * deleted extra file added during merge * removed confusing brackets from enum docs * finally mocking correctly * adding more cases to messageHelper tests * updating enums * removed error response when proxy is sent without content * , updated tests for webhookHelper and removed error response when proxy is sent without content * added debounce to count guilds properly * added todo note * added tests for updateDisplayName * edited help message trigger for updatePropic * update message helper test to include space case * update bot to suppress errors from API * fixed bug for import not sending help text, added help text if you type a unrecognized command * updated to be enum * updated member helper and tests * edit enums, tweak import content command * removed unnecessary await and console.log * made it easier to make a member * added nicer error listing to importHelper * updated documentation * Merge branch 'main' of https://github.com/pieartsy/PluralFlux into add-tests --------- Co-authored-by: Aster Fialla <asterfialla@gmail.com>
2026-02-19 21:45:10 -05:00
DISPLAY_NAME_TOO_LONG: "The maximum length of a display name is 32 characters.",
PROXY_EXISTS: "A duplicate proxy already exists for one of your members. Please pick a new one, or change the old one first.",
2026-02-14 00:20:36 -05:00
NO_SUCH_COMMAND: "No such command exists.",
2026-02-15 01:47:36 -05:00
PROPIC_FAILS_REQUIREMENTS: "Profile picture must be in JPG, PNG, or WEBP format and less than 10MB.",
PROPIC_CANNOT_LOAD: "Profile picture could not be loaded. Are you sure this is a valid URL? (Try visiting the link to make sure!)",
2026-02-14 12:55:36 -05:00
NO_WEBHOOKS_ALLOWED: "Channel does not support webhooks.",
NOT_IN_SERVER: "You can only proxy in a server.",
NO_MESSAGE_SENT_WITH_PROXY: 'Proxied message has no content.',
NO_TEXT_FOR_PROXY: "You need the word 'text' for the bot to detect proxy tags with.\nCorrect usage examples: `pf;member jane proxy J:text`, `pf;member jane [text]`",
2026-02-14 16:07:45 -05:00
NO_PROXY_WRAPPER: "You need at least one proxy tag surrounding 'text', either before or after.\nCorrect usage examples: `pf;member jane proxy J:text`, `pf;member jane [text]`",
NOT_JSON_FILE: "Please attach a valid JSON file.",
NO_MEMBERS_IMPORTED: 'No members were imported.',
ERRORS_OCCURRED: "These errors occurred:",
feat: add tests and other such features (#3) * converted import syntax to ES modules removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * converted import syntax to commonJS removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * more correct dockerfile and compose.yaml * Revert "converted import syntax to commonJS" This reverts commit 5ab0d62b * updated jest to sort of work with es6 * separating out enum return from method return * mostly working except for the weirdest error * nevermind it wasn't actually working, gonna move on for now * added babel to convert es modules to cjs * finally figured out issue with tests (referencing the method directly in the test.each calls the real method not the mock in beforeEach()) * setup fixed more * added error handling parseMemberCommand test * renamed db to database more tests and fixing logic for memberhelper * upgraded fluxer.js * moved import to helpers folder * moved import to helpers folder * more tests for member helper * think i fixed weird error with webhook sending error when a user has no members * simplified sendMessageAsAttachment * added return to addFullMember so that addNewMember can reference it properly in strings * test setup for messagehelper and webhookhelper * readded line i shouldn't have removed in sendMessageAsMember * fixed test and logic * added test for memberHelper * updated sendMessageAsAttachment to returnBufferFromText and updated commands/webhookHelper accordingly * added tests for parseProxyTags and updated logic * added "return" so tests dont terminate on failure and deleted env.jest * finished tests for messageHelper! * more cases for messageHelper just in case * updating docstring for messageHelper parseProxyTags * more tests for webhookhelper * deleted extra file added during merge * removed confusing brackets from enum docs * finally mocking correctly * adding more cases to messageHelper tests * updating enums * removed error response when proxy is sent without content * , updated tests for webhookHelper and removed error response when proxy is sent without content * added debounce to count guilds properly * added todo note * added tests for updateDisplayName * edited help message trigger for updatePropic * update message helper test to include space case * update bot to suppress errors from API * fixed bug for import not sending help text, added help text if you type a unrecognized command * updated to be enum * updated member helper and tests * edit enums, tweak import content command * removed unnecessary await and console.log * made it easier to make a member * added nicer error listing to importHelper * updated documentation * Merge branch 'main' of https://github.com/pieartsy/PluralFlux into add-tests --------- Co-authored-by: Aster Fialla <asterfialla@gmail.com>
2026-02-19 21:45:10 -05:00
COMMAND_NOT_RECOGNIZED: "Command not recognized. Try typing `pf;help` for command list.",
SET_TO_NULL: "It has been set to null instead."
2026-02-13 21:18:44 -05:00
}
helperEnums.help = {
2026-02-14 12:55:36 -05:00
SHORT_DESC_HELP: "Lists available commands.",
SHORT_DESC_MEMBER: "Accesses subcommands related to proxy members.",
2026-02-15 01:42:12 -05:00
SHORT_DESC_IMPORT: "Imports from PluralKit.",
2026-02-14 12:55:36 -05:00
SHORT_DESC_PLURALFLUX: "PluralFlux is a proxybot akin to PluralKit and Tupperbot, but for Fluxer. All commands are prefixed by `pf;`. Type `pf;help` for info on the bot itself.",
PLURALFLUX: "PluralFlux is a proxybot akin to PluralKit and Tupperbot, but for Fluxer. All commands are prefixed by `pf;`. Add ` --help` to the end of a command to find out more about it, or just send it without arguments.",
2026-02-20 11:00:57 -05:00
MEMBER: "Accesses the sub-commands related to adding, editing, and removing proxy members and the fields associated with them. Type `pf;member` and then the command name afterward to access it.\nAdd ` --help` to the end of a subcommand to find out more about it, or just send it without arguments.\nTo get information on a member, just write their name with no arguments afterward, for example: `pf;member jane`. To get the current value of a field instead of updating it, write without the last argument, for example: `pf;member jane displayname`; `pf;member jane propic`",
feat: add tests and other such features (#3) * converted import syntax to ES modules removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * converted import syntax to commonJS removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * more correct dockerfile and compose.yaml * Revert "converted import syntax to commonJS" This reverts commit 5ab0d62b * updated jest to sort of work with es6 * separating out enum return from method return * mostly working except for the weirdest error * nevermind it wasn't actually working, gonna move on for now * added babel to convert es modules to cjs * finally figured out issue with tests (referencing the method directly in the test.each calls the real method not the mock in beforeEach()) * setup fixed more * added error handling parseMemberCommand test * renamed db to database more tests and fixing logic for memberhelper * upgraded fluxer.js * moved import to helpers folder * moved import to helpers folder * more tests for member helper * think i fixed weird error with webhook sending error when a user has no members * simplified sendMessageAsAttachment * added return to addFullMember so that addNewMember can reference it properly in strings * test setup for messagehelper and webhookhelper * readded line i shouldn't have removed in sendMessageAsMember * fixed test and logic * added test for memberHelper * updated sendMessageAsAttachment to returnBufferFromText and updated commands/webhookHelper accordingly * added tests for parseProxyTags and updated logic * added "return" so tests dont terminate on failure and deleted env.jest * finished tests for messageHelper! * more cases for messageHelper just in case * updating docstring for messageHelper parseProxyTags * more tests for webhookhelper * deleted extra file added during merge * removed confusing brackets from enum docs * finally mocking correctly * adding more cases to messageHelper tests * updating enums * removed error response when proxy is sent without content * , updated tests for webhookHelper and removed error response when proxy is sent without content * added debounce to count guilds properly * added todo note * added tests for updateDisplayName * edited help message trigger for updatePropic * update message helper test to include space case * update bot to suppress errors from API * fixed bug for import not sending help text, added help text if you type a unrecognized command * updated to be enum * updated member helper and tests * edit enums, tweak import content command * removed unnecessary await and console.log * made it easier to make a member * added nicer error listing to importHelper * updated documentation * Merge branch 'main' of https://github.com/pieartsy/PluralFlux into add-tests --------- Co-authored-by: Aster Fialla <asterfialla@gmail.com>
2026-02-19 21:45:10 -05:00
NEW: "Creates a new member to proxy with, for example: `pf;member new jane`. The member name should ideally be short so you can write other commands with it easily. \n\nThe order of values is `pf;member new [name] [displayname] [proxy] [propic]`, _without brackets_. The name is **required**, but the rest are optional.\nUsage notes:\n- If anything has spaces, put it in quotes.\n- If anything is unset and you want to set something after it (for ex: you haven't set a display name but you want to add a proxy), put the unset value in empty quotes in the same position: \"\" If you leave it out, the bot will set things wrong.\n- The maximum length of a display name is 32 characters.\n- You can't use the same proxy for two different members.\n- You can also upload an image directly instead of using a url.\nExamples:\n- Everything filled out: `pf;member new jane \"Jane Doe\" J:text https://cdn.pixabay.com/photo/2023/10/20/19/07/aster-8330078_1280.jpg`\n- Example with gaps: `pf;member new bob \"Bob he/him\" \"\" https://cdn.pixabay.com/photo/2016/05/09/11/09/tennis-1381230_1280.jpg`",
REMOVE: "Removes a member based on their name, for example: `pf;member remove jane`.",
2026-02-20 11:00:57 -05:00
LIST: "Lists members in the system. **Currently only lists the first 25.**",
2026-02-15 01:47:36 -05:00
NAME: "Updates the name for a specific member based on their current name, for ex: `pf;member john name jane`. The member name should ideally be short so you can write other commands with it easily.",
2026-02-20 11:00:57 -05:00
DISPLAY_NAME: "Updates the display name for a specific member based on their name, for example: `pf;member jane displayname \"Jane Doe | ze/hir\"`.This can be up to 32 characters long. If it has spaces, __put it in quotes__.",
PROXY: "Updates the proxy tag for a specific member based on their name. The proxy must be formatted with the tags surrounding the word 'text', for example: `pf;member jane proxy Jane:text` or `pf;member amal proxy A{text}` This is so the bot can detect what the proxy tags are. **Only one proxy can be set per member currently.**",
feat: add tests and other such features (#3) * converted import syntax to ES modules removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * converted import syntax to commonJS removed unused methods * got test sort of working (jest set up is not crashing but also not mocking correctly) * adjusted beforeeach/beforeall so more pass * more correct test setup * more correct dockerfile and compose.yaml * Revert "converted import syntax to commonJS" This reverts commit 5ab0d62b * updated jest to sort of work with es6 * separating out enum return from method return * mostly working except for the weirdest error * nevermind it wasn't actually working, gonna move on for now * added babel to convert es modules to cjs * finally figured out issue with tests (referencing the method directly in the test.each calls the real method not the mock in beforeEach()) * setup fixed more * added error handling parseMemberCommand test * renamed db to database more tests and fixing logic for memberhelper * upgraded fluxer.js * moved import to helpers folder * moved import to helpers folder * more tests for member helper * think i fixed weird error with webhook sending error when a user has no members * simplified sendMessageAsAttachment * added return to addFullMember so that addNewMember can reference it properly in strings * test setup for messagehelper and webhookhelper * readded line i shouldn't have removed in sendMessageAsMember * fixed test and logic * added test for memberHelper * updated sendMessageAsAttachment to returnBufferFromText and updated commands/webhookHelper accordingly * added tests for parseProxyTags and updated logic * added "return" so tests dont terminate on failure and deleted env.jest * finished tests for messageHelper! * more cases for messageHelper just in case * updating docstring for messageHelper parseProxyTags * more tests for webhookhelper * deleted extra file added during merge * removed confusing brackets from enum docs * finally mocking correctly * adding more cases to messageHelper tests * updating enums * removed error response when proxy is sent without content * , updated tests for webhookHelper and removed error response when proxy is sent without content * added debounce to count guilds properly * added todo note * added tests for updateDisplayName * edited help message trigger for updatePropic * update message helper test to include space case * update bot to suppress errors from API * fixed bug for import not sending help text, added help text if you type a unrecognized command * updated to be enum * updated member helper and tests * edit enums, tweak import content command * removed unnecessary await and console.log * made it easier to make a member * added nicer error listing to importHelper * updated documentation * Merge branch 'main' of https://github.com/pieartsy/PluralFlux into add-tests --------- Co-authored-by: Aster Fialla <asterfialla@gmail.com>
2026-02-19 21:45:10 -05:00
PROPIC: "Updates the profile picture for the member. Must be in JPG, PNG, or WEBP format and less than 10MB. The two options are:\n1. Pass in a direct remote image URL, for example: `pf;member jane propic https://cdn.pixabay.com/photo/2020/05/02/02/54/animal-5119676_1280.jpg`. You can upload images on sites like https://imgbb.com/.\n2. Upload an attachment directly.\n\n**NOTE:** Fluxer does not save your attachments forever, so option #1 is recommended.",
IMPORT: "Imports from PluralKit using the JSON file provided by their export command. Importing from other proxy bots is TBD. `pf;import` and attach your JSON file to the message. This will only save the fields that are present in the bot currently, not anything else like birthdays or system handles (yet?). **Only one proxy can be set per member currently.**\n\n**PRO TIP**: For privacy reasons, try DMing the bot with this command and your JSON file--it should still work the same."
2026-02-13 21:18:44 -05:00
}
2026-02-16 12:31:26 -05:00
helperEnums.misc = {
ATTACHMENT_SENT_BY: "Attachment sent by:"
}
2026-02-13 21:18:44 -05:00
export const enums = helperEnums;