fennec π»
the app-for-all-apps helper~
Overview
you're probably wondering how i'm maintaining all of my discord apps, right?
well....i'm not: fennec π» is!
fennec π» provides me with utilities to mass-manage, monitor, and other kewl helper functions that, well, helps me with development~
β some background information
- fennec π» originally started as a small in-discord dashboard for me to view information about all my apps because i was too lazy to log-in to my servers hosting these apps
- as i developed more, i realised how useful this could be if i gave fennec π» more tasks....leading to where we are today with its usage as an app-for-all-apps helper~
ποΈ the different types of fennec
-
fennec
,fennec_uwu-projects
, andfennec_other-stuffs
- fennec π» is split into different shards, with each process running on its correlating server
- for context, i currently group my servers under these two names:
-
uwu-projects
apps and projects that i personally develop, which includes: - fox bot π¦ β¨
- bun π° β¨
- fox kit πΎ
- fennec π»
- kettu πΊ
-
other-stuffs
apps and projects that i develop for other people and servers, which includes: -
you may have noticed that there's another lone
fennec
name: that's because this process also runs on an external server! - i guess you could say this kinda ensures there's at least one fennec π» process online
- having three processes also correlates with the amount of discord servers i own: three! not that that matters anyway: with user-installable apps, all interactions from different channels are sent to the correct fennec shard/process anyway..
- these fennec π» processes also allow me to interface with my process manager straight from discord! it just makes my life easier knowing that i don't need to ssh into my servers every time~
-
fennec-utilities
- this is a RESTful API with a package included that all apps use to interact with fennec π»
-
data that can be managed via
fennec-utilities
includes: - managing the global blacklist, which has the ability to block interactions from specific users
- marking apps as offline, blocking interactions to all users except developers
- monitoring if apps are online
- setting up announcements for each app
- handling errors on the front-and-back-end
-
fennec-websocket
-
the different kinds of fennec π» processes needs to interact with one another, so i have created
fennec-websocket
for this purpose! - each fennec π» process connects to the websocket server and can send/receive data sent from other fennec π» process also listening on the websocket server
- ..why?
-
well, what if i wanted to run some code on
uwu-project
's server, however the guild/channel that i sent the command from was sent tofennec_other-stuffs
's shard? -
instead of forcing myself to switch guilds/channels that contains the shard
fennec_uwu-projects
is handling, i can send data overfennec-websocket
directly tofennec_uwu-projects
so that that fennec π» process can evaluate the code!