Commit Graph

50 Commits

Author SHA1 Message Date
murm db9b70bf66 initial update 2023-03-15 10:09:09 -04:00
Essem 14d5965caa
god dammit 2022-12-12 11:36:08 -06:00
samhza ed25116851
Assorted db changes (#333)
* postgres: use transaction-scoped sql for upgrade

* database: combine fixGuild and addGuild into getGuild

* postgres, sqlite: simplify upgrade()

* allow running commands in DMs without prefix

this functionality was broken in
16095c0256 but is now fixed

* allow running esmBot without a database

Before this change, the only way to run esmBot without a database is to use the
dummy database driver which is broken but fails silently. THis can lead to a
confusing user experience. For instance, using `&command disable` with the
dummy database driver will tell you that the command has been disabled even
though it has not been.

This change adds support for running esmBot with no database driver by leaving
the DB= config option empty, and explicitly telling the user that some
functionality is now unavailable rather than failing silently like the dummy
driver.

* remove dummy database driver
2022-12-12 11:15:10 -06:00
samhza c00d518f6e
simplify postgres and sqlite database initialization, remove psqlinit.sh (#331)
Before this change, uninitialized databases would be initialized with the old
schema and then migrated to the latest version. After this change, unintialized
databases are initizialized with the latest database schema immediately, without
having to run any of the migrations. This change has no effect on existing
databases.

Before this change, Postgres database initialization was done manually using
utils/psqlinit.sh. This is inconsistent with SQLite, which the bot initializes
itself. It also requires shell access to the server running the Postgres
instance, which means it cannot be used on managed Postgres instances. After
this change, the bot initializes Postgres databases as it does with SQLite, and
utils/psqlinit.sh has been removed as it is now unecessary.
2022-11-26 15:31:00 -06:00
Essem fa3d7b3772
Fix PostgreSQL broadcast column upgrade, make some changes to followup message handling 2022-10-30 00:17:36 -05:00
Essem a67c2b9884
sqlite multi-statement upgrade fix 2022-10-25 15:38:20 -05:00
Essem 5d679dbb7a
Make broadcasts persistent, fix Postgres database upgrades, fix image slash commands with text not working in DMs 2022-10-25 12:37:55 -05:00
Essem 3662a2e51d
Refactor message prefix handling, lessen reliance on member caching, fix adding guilds in postgresql 2022-10-23 20:27:32 -05:00
Essem 4309f358e7
Fix command count table not being properly registered 2022-10-10 17:23:16 -05:00
Essem cee458cef1
Fix sqlite guild registration, fix starting status 2022-09-28 23:11:05 -05:00
Essem 888f2f8b4a
Initial Oceanic port (still unfinished), update packages, remove serverinfo and userinfo 2022-09-23 22:25:16 -05:00
Essem 121615df63
Replace pg with postgres, add swirl alias, await ping edit, added debug scripts to package.json 2022-09-12 16:45:32 -05:00
Essem 86f6811e6e
Fix message command counts 2022-09-10 17:51:00 -05:00
Essem 969869e4ab
probably should not be doing this 2022-03-01 09:49:36 -06:00
Essem 71d30016a2
Fix dummy database and Docker logging 2022-02-22 19:44:13 -06:00
Essem bc9eb12b5a
Move database migration, removed guild modified times, added XM plugin to lavalink config 2022-02-21 18:55:25 -06:00
Essem 4ef2ce7526
Attempt to fix SQLite database migration on first run 2022-02-20 08:12:00 -06:00
Essem c568423870
Added support for database updates/migration, added guild access timestamps 2022-02-18 23:05:41 -06:00
Essem fd77ace48e
Added node version check, some cleanup 2022-01-07 11:44:18 -06:00
Essem 536b931ead
Updated packages, take advantage of new eris-fleet features, fixed issue where messages wouldn't send 2021-11-12 17:21:43 -06:00
Essem cb895900d5
Fixed sqlite, disabled reload 2021-08-19 15:31:51 -05:00
Essem ae2ebe0337
Port to ESM modules (haha funny), removed cache request, many other changes that I forgot about 2021-08-19 09:19:14 -05:00
Essem 2fe45d842b
Fixed adding guilds in sqlite 2021-08-18 15:41:35 -05:00
Essem 382480e1c7
Fixed issue with pagination message 2021-08-14 16:15:21 -05:00
Essem 5e8c587c41
Improved tag retrieval, blacklisted a ton of events, fixed skip issue for real 2021-08-14 08:00:16 -05:00
Essem 70a592fa49
Fixed dummy db 2021-08-13 14:15:42 -05:00
Essem 9f36a79a2b
Added command, reverted database service split 2021-08-12 22:28:09 -05:00
Essem 5c0cb6463a
Some more small DB optimizations 2021-08-11 16:54:43 -05:00
Essem e8094c78ec
Move tags to separate table, part 2 2021-08-11 10:00:35 -05:00
Essem a75ceb41f2
Move tags to separate table 2021-08-10 20:25:29 -05:00
Essem 81277f95c0
Add query timeout to postgres 2021-08-10 18:35:26 -05:00
Essem cd469667cb
yeah 2021-08-09 10:48:43 -05:00
Essem 899d4ac9da
missed a spot again 2021-08-09 10:18:00 -05:00
Essem 253bd4c71c
Postgres query optimization attempt 2021-08-09 10:12:48 -05:00
Essem 49ae7578fe
Removed MongoDB support 2021-08-04 13:31:29 -05:00
Essem ecc6d98aec
Added sqlite database support, connect new argument parser to message handler 2021-07-01 23:42:12 -05:00
Essem 714e4a451c
Fixed databasenot properly caching disabled channels 2021-07-01 08:01:00 -05:00
Essem ae8b121d03
Added server/user count to stats, fixed message not showing on tenor/large image errors 2021-06-29 14:10:22 -05:00
TheEssem 4cdd59dfcd
Made youtube use searx for results, fall back to dummy db when none is specified, added cluster to stats, more QOL changes 2021-06-26 15:56:02 -05:00
TheEssem e5d9388952 Added command counts to Prometheus metrics 2021-05-03 08:49:55 -05:00
TheEssem cc82d32840 Fixed slow, changed clean to handle all env variables, changed database handling 2021-04-14 16:37:40 -05:00
Essem 40223ec8b5
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively

* Sort commands

* Missed a couple of spots

* missed even more spots apparently

* Ported commands in "fun" category to new class-based format, added babel eslint plugin

* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of

* Missed a spot

* Removed unnecessary abort-controller package, add deprecation warning for mongo database

* Added imagereload, clarified premature end message

* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts

* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner

* Converted music/soundboard commands to class format

* Cleanup unnecessary logs

* awful tag command class port

* I literally somehow just learned that you can leave out the constructor in classes

* Pass client directly to commands/events, cleaned up command handler

* Migrated bot to eris-sharder, fixed some error handling stuff

* Remove unused modules

* Fixed type returning

* Switched back to Eris stable

* Some fixes and cleanup

* might wanna correct this

* Implement image command ratelimiting

* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 11:16:12 -05:00
TheEssem 48fb0c98c8 Fixed postgres not properly getting command count on newly registered commands 2021-03-31 22:16:23 -05:00
TheEssem 03ddf5c88c Fixed mention prefix 2021-03-16 15:45:10 -05:00
TheEssem f6bec828d7 Fixed database thing 2021-03-05 15:20:15 -06:00
TheEssem e7ffa23411 Some assorted fixes 2021-02-07 11:08:55 -06:00
TheEssem c2bd68263b Made image API node chooser sort by job amount instead of CPU usage, added soundreload 2021-01-08 12:08:10 -06:00
TheEssem 55da0db479 The image API no longer uses a unique thread for each job (due to image processing using its own thread anyway), added dummy DB driver 2021-01-06 16:10:31 -06:00
TheEssem 9b4861ae4a Fixed database stop crash, made playing status use the current bot username 2020-12-18 18:57:41 -06:00
TheEssem 5fa5f21289 Moved database driver-specific code to their own files 2020-12-18 18:50:25 -06:00