skyra-project / skyra Goto Github PK
View Code? Open in Web Editor NEWA multipurpose Discord Bot designed to carry out most of your server's needs with great performance and stability.
Home Page: https://skyra.pw
License: Apache License 2.0
A multipurpose Discord Bot designed to carry out most of your server's needs with great performance and stability.
Home Page: https://skyra.pw
License: Apache License 2.0
Depends on #352 for enhanced typings support
Technically, it's completely possible to overload it so it takes a special interface, as used by Node.js's util.promisify
:
CustomPromisify
definition:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/3ef1069095013311df0fc6df1cb1ba92c220be19/types/node/util.d.ts#L57-L59
CustomPromisify
overload usage:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/3ef1069095013311df0fc6df1cb1ba92c220be19/types/node/util.d.ts#L86
Usage examples:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/3ef1069095013311df0fc6df1cb1ba92c220be19/types/node/fs.d.ts#L864-L892
This would allow us to do message.guild.settings.get(GuildSettings.Prefix);
and get string
as return type, likewise message.guild.settings.get(GuildSettings.Roles.Public);
would get readonly string[]
as return type.
So essentially we can forget about the headache of having to do message.guild.settings.get(GuildSettings.Roles.Public) as GuildSettings.Roles.Public;
which I often declare as an argument to improve code readability.
Stack Trace:
TypeError: Cannot read property 'raw' of null
at default_1.add (/home/kyra/Skyra/src/commands/Management/Members/stickyRoles.ts:78:77)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at module.exports.runCommand (/home/kyra/Skyra/node_modules/klasa/src/monitors/commandHandler.js:35:23)
at module.exports._run (/home/kyra/Skyra/node_modules/klasa/src/lib/structures/Monitor.js:99:4)
Stack Trace:
Error: Cannot update out of sync.
at Map._save (/home/kyra/Skyra/node_modules/klasa/src/lib/settings/SettingsFolder.js:354:30)
at Map.update (/home/kyra/Skyra/node_modules/klasa/src/lib/settings/SettingsFolder.js:300:34)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at default_1.run (/home/kyra/Skyra/src/commands/Social/setcolor.ts:25:3)
at module.exports.runCommand (/home/kyra/Skyra/node_modules/klasa/src/monitors/commandHandler.js:35:23)
at module.exports._run (/home/kyra/Skyra/node_modules/klasa/src/lib/structures/Monitor.js:99:4)
Would require https://crates.io/crates/sonic-server to be installed, this can be arranged for production. In development mode, we'd use the legacy system.
Sonic is not much faster than the current system, but it also uses much less memory and gives much better results. Also allows the bot to use less memory.
GREENTICK
and REDCROSS
where possible. Also add an INFORMATION
emoji for messages made for prompts.en-US
formats MM/DD/YYYY
and en-GB
, es-ES
, etc formats DD/MM/YYYY
.Intl
features.It's time we shard, Skyra can't realistically handle an identify, and this will most likely improve the uptime.
Only problem are shared caches like the one used for the usernames... #335 would definitely make this transition much easier.
New types:
Reaction Restricted
.Embed Restricted
.Attachment Restricted
.Voice Restricted
.Stack Trace:
TypeError: Cannot read property 'title' of undefined
at ModerationManagerEntry.prepareEmbed (/home/kyra/Skyra/src/lib/structures/ModerationManagerEntry.ts:159:27)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at default_1.run (/home/kyra/Skyra/src/commands/Moderation/Utilities/case.ts:19:40)
at module.exports.runCommand (/home/kyra/Skyra/node_modules/klasa/src/monitors/commandHandler.js:35:23)
at module.exports._run (/home/kyra/Skyra/node_modules/klasa/src/lib/structures/Monitor.js:99:4)
#348 should be done before this so people do not spam react/unreact events.
Stack Trace:
TypeError: Cannot read property 'track' of undefined
at new Song (/home/kyra/Skyra/src/lib/structures/music/Song.ts:33:21)
at Queue.add (/home/kyra/Skyra/src/lib/structures/music/Queue.ts:100:22)
at default_1.run (/home/kyra/Skyra/src/commands/Music/add.ts:18:69)
at module.exports.runCommand (/home/kyra/Skyra/node_modules/klasa/src/monitors/commandHandler.js:33:109)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at module.exports._run (/home/kyra/Skyra/node_modules/klasa/src/lib/structures/Monitor.js:99:4)
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.