and add JermaBot to your Discord server ๐
benrucker / jermabot Goto Github PK
View Code? Open in Web Editor NEWA wacky, sound-oriented Discord bot
License: GNU General Public License v3.0
A wacky, sound-oriented Discord bot
License: GNU General Public License v3.0
and add JermaBot to your Discord server ๐
possibly with embed magic? maybe have a second page to list the sound files for play
?
in order to improve cross-platform compatibility and ease of installation, the speak logic should be pulled into a robust voice interface. the interface will choose the best tts library to interface with on startup.
if none are found, it will throw a detailed exception at launch and/or at attempted invocation
and cave noises
no repro steps yet
turn on debug to find out why. repro by sitting in a channel with him for a while
the fix for this might be huge... we need to find a way to disable join sounds when a snap command is invoked, but reenable them once the snap stuff is over.
maybe we should make a new data structure to store specific info about a guild, such as if a snap is currently happening. this way, info can be tracked per guild and not affect other guilds.
maybe make a GuildInfo class that tracks state info using properties (is that the right term?) for a single guild and have a global list of GuildInfo objects.
not like another snap. instead this command should have the option to move everyone in a certain voice channel to another voice channel (eg $move #voicetarget #voicedest
) OR move specific people to another channel (eg $move @el jefe$1234 @benjamin#5678 #voicedest
). unsure if the syntax should force a notification for the people moved or if it should take in name fragments (ie $move jefe, ben #voicedest
would function the same as the previous parenthetical)
Functionally identical to command play but constructs a looping source to keep the audio going. Might want to restrict to admins
Invoked when command volume is sent and the bot responds with the volume. Should update message to reflect change after up or down is hit.
This change also means that an argumentless call of volume should simply tell the user what the current volume is
Might want to rely on this issue being completed first: #6
Is your feature request related to a problem? Please describe.
i just DMd notsobot and half-expected for it to reply with a joke
Describe the solution you'd like
jerma should do this
Additional context
sigma
this way, instead of relying on the hacky way of just naming the file after someone, the join sounds will be separate from the rest of the sounds. Maybe the sounds should still be listed by $list and played with $play (with the username/nickname of the user). If this is combined with adding sounds through commands, the sounds can be named with user IDs instead of names, thus it can't be broken by a user changing their username and can be divided into guilds by folder.
allow start times through default youtube url handling. allow end times if reasonable to implement
Is your feature request related to a problem? Please describe.
jerma only fully works in whid. even my own testing server doesn't fully work with jermabot
Describe the solution you'd like
replace permissions logic that relies on specific whid roles with logic that checks a user for specific privileges (e.g. manage users)
Should then also make a way to set another guild as a 'parent' or something to gain their sounds and join sounds. That way, debugging will be easier in test servers.
bot leaves when a single person leaves
/play autofills possible sounds
if the leave sound fails to play, disconnect anyway
jerma was recently moved to a slower hdd; spin up time could be causing the delayed
solution: cache join sounds
possible implementation could get a list of members from connected guilds and preload any matching sound files.
a smarter idea might be to separate join sounds from regular ones, name them by ID, and add a user interface for them. otoh, this may cause confusion if join sounds are no longer playable by using someone's name. computational complexity will balloon if this is implemented poorly.
currently peeking at this for inspo.
expected functionality:
might be due to quitting the program ungracefully
before sweeping refactors have to happen, start off by bodging this into the system:
https://github.com/DXsmiley/dismock
after that is mostly working, the separation of logic and discord function calls should be separated. Thus, tests can be made that don't rely at all on the discord API
save the ears at night
when done uncomment out lines 64 & 65 in the jermahelp function and remove the other two.
also uncomment line 5 in help.py
Need to haves:
Nice to haves:
it's your birthday today
cake and icecream
is on its way
current addsound usage involves sending a file and incorporating it into the list using its filename. proposed addition to the command allows the use of an argument to automatically rename the file after the user uploads it
in effect, it will be identical to uploading a sound, then immediately renaming it
Code layout is a mess. Refactor the commands and logic into cogs to separate them into more manageable bits.
Example list:
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.