zeppelinbot / zeppelin Goto Github PK
View Code? Open in Web Editor NEWZeppelin is a moderation bot for Discord, designed with large servers and reliability in mind.
Home Page: https://zeppelin.gg/
License: Other
Zeppelin is a moderation bot for Discord, designed with large servers and reliability in mind.
Home Page: https://zeppelin.gg/
License: Other
Currently, the source
command works with message ID, content, attachments, and embeds, but not stickers (which are of course now released for custom uploading), so I think that should also be supported.
Example:
{
"id": "859858669486342176",
"content": "",
"attachments": [],
"embeds": [],
"stickers": {
"id": "1234",
"name": "pogcow"
}
}
Avatar for embed logs e.g in thumbnail fields are currently broken
I want to add this bot to my server
Wouldn't this always return the max timeout value and not what you're trying to get, as youre returning out of the if statement then returning again and adding the max expiry time, which I believe would cause issues (mentioned on discord)
tl;dr of the things discussed: there will be a license added at some point, which will likely not be open source. dragory has expressed people should be allowed to self-host for themselves, but not make the bot public. An agreement has to be made with the past contributors, and conditions outlined for future contributors.
A repo without a license means technically no one is allowed to even download and run the code, even for development/testing purposes. Every contributor until now could be sued by you for copyright, and so could you by every contributor you accepted contributions from.
If you find software that doesn’t have a license, that generally means you have no permission from the creators of the software to use, modify, or share the software. Although a code host such as GitHub may allow you to view and fork the code, this does not imply that you are permitted to use, modify, or share the software for any purpose.
Also, you might be held responsible for damages caused by this code, since you dont have any document claiming you are not responsible for damages when using it. This is why licenses have a very prominent: WITHOUT WARRANTY OF ANY KIND [...] or similar clause.
No license text at all is really bad for YOU and for others, especially since you already accepted contributions. To be safe from any kind of copyright issue, you would need to come to an agreement with every single contributor. In my humble, not legal advice opinion, the best you can do is add a license that contributors would agree with and hope they don't do anything/just accept it.
I know that no support is provided for self hosting, but it would be really nice if there was an SQL command to create all of the needed tables to run the bot in the readme.
Hey guys, i am trying to run this using the production template, but the migrate container doesnt start up with this error message:
/docker-entrypoint.sh: 47: exec: npm: not found
I got this error:
PS E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard> npm run build
> @zeppelin/[email protected] build
> rimraf dist && cross-env NODE_ENV=production webpack --config webpack.config.js
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:133:10)
at module.exports (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:471:10)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:503:5
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:358:12
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:236:3
at runSyncOrAsync (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:236:3
at runSyncOrAsync (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
at Array.<anonymous> (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\graceful-fs\graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
node:internal/crypto/hash:67
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:133:10)
at module.exports (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:471:10)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:503:5
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\webpack\lib\NormalModule.js:358:12
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:236:3
at context.callback (E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
at E:\Harshfeudal\Code Project\Discord Bot Project\Server Bot\Shikimori\dashboard\node_modules\babel-loader\lib\index.js:59:71 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.2.0
Also in tsconfig.json
, the Dashboard folder, I got an error from configuration:
{
^ Cannot write file 'e:/Harshfeudal/Code Project/Discord Bot Project/Server Bot/Shikimori/dashboard/tailwind.config.js' because it would overwrite input file.
"compilerOptions": {
"moduleResolution": "node",
"module": "esnext",
"target": "es2018",
"sourceMap": true,
"noImplicitAny": false,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"strict": false,
"lib": ["esnext", "dom"],
"baseUrl": ".",
"resolveJsonModule": true,
"esModuleInterop": true,
"allowJs": true,
"paths": {
"@shared/*": ["../shared/src/*"]
}
}
}
How do I fix these errors?
Thanks a lot for helping me!
Hi, I'm getting "Environment value KEY required for encryption" on startup. How do I fix it?
Sometimes message logs after a ban split between multiple logs. Usually happens when the banned member has many messages in the past 24h.
In April of 2022 (a few months from now), Discord will be shutting of the message intent unless the bot developers apply for the intent and is approved for the intent (or the bot is in less than 75 servers). Discord is pushing hard in this direction and recently released support for permissions in slash commands. Further, although this decision has been a massive controversy in the bot development community, Discord has stated that refusal to go to slash commands will not be enough of a reason for them to grant the intent.
Slash commands do actually improve knowledge of what commands are available. What's the plan for slash commands in Zeppelin? I know they don't exist yet on r/PokemonUnite. Would like to know the timeline for it or if there is any plan to convert from message based commands to slash commands.
According to the code, the avatar command should assume msg.author
if no user is given. However, when trying to invoke the avatar command without any arguments you are greeted with this:
Missing required argument: user
Usage: !!avatar <user>
I want to use Sillydev to self-host, but I don't know which file to select as startup, how to turn it on, etc. please assist
The tag list command has a very minimal layout simply using a codeblock to display all tag names.
This is incredibly hard to read when there are many tags and makes it difficult to find a tag you are looking for.
Suggestions to improve the tags command:
!!tags github
and only tags containing that text would appear in the listI'm a bit new to bots and stuff, where and how do I read/write the bots table?
If an automod rule is set to delete and kick on a certain trigger the kick seems to take time to initiate and to end. So if a person or bot is spamming too quickly and the kick is initiated on say, the first and second message, the third and fourth message do not get deleted. This might be perhaps because the bot stops on the second message and does not follow the rule since the user has already been removed?
What's the license for this project? There's no license.txt...
https://choosealicense.com/no-permission/
Can anyone help me / give me tips on what to fill in for each field and what format to use?
I know there is no support provided, but i thought the community could give me a hand here :)
I've borrowed the Zeppelin bot for self-hosting in my server only, however, it automatically left my server. How can I disable that?
I have built the folder following the instructions, and have moved the contents of the dist/
folder to the www/
folder on my computers WAMP server.
But, when I go to localhost, the dashboard button doesn't work, which makes sense, since there are no folders inside of the dist/
folder. What needs to be done that I am missing? Is it an issue with localhost? Thanks
After following all instructions in DEVELOPMENT.md, running npm run watch-build
throws this error:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at runSyncOrAsync (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at runSyncOrAsync (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at Array.<anonymous> (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
at Storage.finished (/home/ubuntu/zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
at /home/ubuntu/zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
at /home/ubuntu/zeppelin/dashboard/node_modules/graceful-fs/graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
at /home/ubuntu/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at context.callback (/home/ubuntu/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at /home/ubuntu/zeppelin/dashboard/node_modules/babel-loader/lib/index.js:59:71 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.16.0
Not sure if I'm just being dumb but something isn't working right lol
It looks like it'll be a while before it's available in discord.js
https://github.com/MinnDevelopment/discord-api-docs/blob/feature/bulk-ban/docs/resources/Guild.md#bulk-guild-ban--post-guildsguildiddocs_resources_guildguild-objectbulk-ban
It's available!
For message logging exclude_categories seems to be broken, tested in two different servers. Exclude_channels is still fine though.
what db do I use for the .env files?
Just wondering what KEY=32_character_encryption_key stands for
Zepplin should have some tooling for logging and actioning of alt accounts at the same time, reducing the burden of server staff remembering to action on alts.
Across the example env and the dev guide there is an inconsistency of which port to use, leading to confusion when trying to connect through SSH. These needs to be standardised, I'm down to PR this just let me know whether it should be 3002
or 3022
.
Line 45 in 68a391f
- Choose Connect via SSH and create a new connection:
Username: ubuntu
Host: 127.0.0.1
Port: 3002
According to LogsPlugin.ts#L123, ping_user
is deprecated, implying that allow_user_mentions
is the preferred option. Yet in getLogMessage.ts#L92, the user mention formatting result used in logs is determined by both ping_user
and allow_user_mentions
.
If ping_user
was internally marked as deprecated, why is it still being used to determine a user mention formatting result?
Instead, could we just standardize allow_user_mentions
as the determining condition for whether or not verboseUserMention()
is called instead of verboseUserName()
?
if (config.allow_user_mentions) {
mentions.push(verboseUserMention(user));
} else {
mentions.push(verboseUserName(user));
}
I noticed that Zeppelin/backend/src/pluginUtils.ts
uses knub.getGlobalConfig()
to get the url of the server.
And that the config is set in getConfig
in new Knub<ZeppelinGuildConfig, ZeppelinGlobalConfig>
constructor.
But I am not seeing anywhere a way to set the global config. In my DB, there isn't any config with a "global" key.
There is backend/src/migrateConfigsToDB.ts
that, I'm guessing, was used once to move a config file to the DB, but nothing else.
Let me know if I'm missing something.
Could really do with the ability to edit embeds using raw.
Fresh Install without any applications using the Production environment:
Server Host on AWS Lightsail
OS: Debian Bullseye 11.4
Docker ver: 23.0.5, build bc4487a
Docker Compose ver: v2.9.0
Running for the first time:
docker compose -f docker-compose.production.yml up -d
without any error and all docker containers run as expected. However zeppelin-prod-prepare_backend-1
will instantly crash/fail causing a domino effect toward the rest of the container which is actually trying to run with an error
Error Logs
API logs:
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the API...
�������
Starting API
> @zeppelin/[email protected] start-api-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/api/index.js
sh: 1: cross-env: not found
BOT logs:
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
sh: 1: cross-env: not found
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Waiting for prepare_backend to finish before starting the bot...
�������
Starting bot
> @zeppelin/[email protected] start-bot-prod
> cross-env NODE_ENV=production node -r ./register-tsconfig-paths.js --unhandled-rejections=strict --enable-source-maps --stack-trace-limit=30 dist/backend/src/index.js
sh: 1: cross-env: not found
Dashboard Logs:
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Support has ended for 9.x series. Upgrade to @latest
added 1133 packages, and audited 1134 packages in 58s
66 packages are looking for funding
run `npm fund` for details
37 vulnerabilities (1 low, 6 moderate, 26 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 9.5.1 -> 9.6.6
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.6>
npm notice Run `npm install -g [email protected]` to update!
npm notice
> @zeppelin/[email protected] build
> rimraf dist && cross-env NODE_ENV=production webpack --config webpack.config.js
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at runSyncOrAsync (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at runSyncOrAsync (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at Array.<anonymous> (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
at Storage.finished (/zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
at /zeppelin/dashboard/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
at /zeppelin/dashboard/node_modules/graceful-fs/graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (/zeppelin/dashboard/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:471:10)
at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:503:5
at /zeppelin/dashboard/node_modules/webpack/lib/NormalModule.js:358:12
at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at context.callback (/zeppelin/dashboard/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at /zeppelin/dashboard/node_modules/babel-loader/lib/index.js:59:71 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.16.0
Backend Logs:
npm notice
npm notice New minor version of npm available! 9.5.1 -> 9.6.6
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.6>
npm notice Run `npm install -g [email protected]` to update!
npm notice
npm ERR! code EUSAGE
�������
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
�������
npm ERR! Missing: [email protected] from lock file
�������
npm ERR! Clean install a project
�������
npm ERR! Usage:
npm ERR! npm ci
�������
npm ERR! Options:
npm ERR! [-S|--save|--no-save|--save-prod|--save-dev|--save-optional|--save-peer|--save-bundle]
npm ERR! [-E|--save-exact] [-g|--global]
npm ERR! [--install-strategy <hoisted|nested|shallow|linked>] [--legacy-bundling]
npm ERR! [--global-style] [--omit <dev|optional|peer> [--omit <dev|optional|peer> ...]]
npm ERR! [--strict-peer-deps] [--no-package-lock] [--foreground-scripts]
npm ERR! [--ignore-scripts] [--no-audit] [--no-bin-links] [--no-fund] [--dry-run]
npm ERR! [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
npm ERR! [-ws|--workspaces] [--include-workspace-root] [--install-links]
�������
npm ERR! aliases: clean-install, ic, install-clean, isntall-clean
�������
npm ERR! Run "npm help ci" for more info
npm ERR! A complete log of this run can be found in:
npm ERR! /home/node/.npm/_logs/2023-05-07T05_12_41_806Z-debug-0.log
I hope this will get fixed and I believe need to test for a fresh install not for an update since the update might not require rebuilding the Backend or Dashboard.
Zeppelin Bot should use Discord time syntax instead of plain text server timezone because it's more versatile for members in a different time zone from the servers.
For example, instead of reminders being I will remind you in 1 day at 1 Jan, 2000 at 0:00:00 UTC
they should be I will remind you in <t:946645200:R> at <t:946645200:f>
This means that reminders or times in commands will match the member's local timezone and follow their country's date formatting (like how the US uses 12h time and the UK uses 24h time)
Currently, you cannot use pretty_name
in automod rules, so your alerts always end up with the raw name.
eg
automod:
config:
rules:
urlFilter_inviteFilter:
pretty_name : "Discord Invite Filter"
triggers:
- match_invites:
allow_group_dm_invites: true
match_messages: true
match_visible_names: false
actions:
log: true
clean: true
When using embed format logs, the icon_url
for Author does not work:
VOICE_CHANNEL_JOIN:
embed:
author:
name: "{member.tag} [{member.id}]"
icon_url: "{user.avatarURL}"
description: '<@{member.id}> joined voice channel <#{channel.id}>'
thumbnail:
url: '{member.user.avatarURL}'
color: 0x77dd77 #pastel green
footer:
text: "{timestamp}"
{logMessage} for trigger spams such as message_spam, link_spam, emoji_spam prints the member's name several times. It seems to be printing the name as many times as the trigger count. For example "Matched message spam (8 in 9s)" prints the member name 8 times.
i dont know what these
DB_HOST=
DB_USER=
DB_PASSWORD=
DB_DATABASE=
means can anyone explain to me what these are actually for?
I encountered an error stating "(root) Additional property name is not allowed" when executing the command "docker compose -f docker-compose.development.yml up".
Although I have filled in all the necessary attributes in the configuration file, it seems that there may be an issue.
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.