thatredkite / thatkitebot Goto Github PK
View Code? Open in Web Editor NEWA discord bot written in Python (and C) with image manipulation commands and scientific calculators
License: MIT License
A discord bot written in Python (and C) with image manipulation commands and scientific calculators
License: MIT License
Tracking issue for:
Basically make all the buttons work forever.
Fix Scrutinizer tests so they actually run.
Add things like +banner
+joined
and so on.
thatkitebot/thatkitebot/cogs/detrack.py
Line 94 in 24f77f5
Here's a better-ordered list for "electronics help" channels:
If you want to start learning:
Make image commands more consistent: some reply to you, some don't, some ping you, some don't.
should be possible to generate a simple rc filter with +filter r= c=
if possible it would be nice if it returned a bodeplot as well but thats more complicated
math is F_cutoff = 1/RC
As the title says, maybe implement some other types as well. Or even implement some of the intended modes.
If you post a mouser link, the link cleaner breaks it.
Example:
This breaks the link.
Link to example in the styro discord: https://discord.com/channels/424394851170385921/424397590214344704/1065574135830429746
Listener doesn't catch commands.CheckFailure
exception. I noticed this because of the check in SlashCommandGroup from #104 (info.py:209)
@commands.Cog.listener()
async def on_command_error(self, ctx: commands.Context, error):
Basically replying to a message with a /detrack should do the sanitizing thing if the detrack of each link is disabled.
Add the ability for image commands to be able to process gifs. I know it's annoying, but surely it is possible.
/app/thatkitebot/cogs/starboard.py:148: RuntimeWarning: coroutine 'PermissonChecks.can_change_settings' was never awaited
if not pc.can_change_settings(ctx):
For this reason, user can bypass the permission check
Simple +vote command replied to a message adds reacts for a vote. Make it a per channel feature.
You would enter a command and the bot will respond with a message where the imperial units will be converted to SI
The regex within the uwu-ifier command does not detect IRI as per RFC3987 despite the fact that these are, in fact, valid URL's that can be embedded. For example, https://en.wiktionary.org/wiki/Ῥόδος
is an entirely valid IRI that is able to be embedded, but your regex only detects up until the US-ASCII characters.
Clearly this means we should work on replacing this regex, as it is a crucial functionality of kitebot's uwu-ifier command, and we shouldn't ever let any remote possibility of a user embedding an IRI when they shouldn't be allowed to, so clearly we should work on fixing this.
Here is a working sample of what I have found to be the best regex for validating both URLs and IRIs, in PCRE regex (PHP < 7.3):
%^(?:(?:(?:https?):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\x{00a1}-\x{ffff}][a-z0-9\x{00a1}-\x{ffff}_-]{0,62})?[a-z0-9\x{00a1}-\x{ffff}]\.)+(?:[a-z\x{00a1}-\x{ffff}]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$%iuS
nb: credit for this regex goes to diegoperini
A test of this regex is available here: https://regex101.com/r/fgihQ1/1
Shorten supported links automatically by removing tracking and trace content. Then add a button, or ask if the original link should be reverted. https://github.com/Smile4ever/Neat-URL this can be used as a baseline.
+lm317 with no arguments should return a help message, also finding one resistor for a desired voltage should be added.
Recently discord added a feature where you can add multiple photos with a single message, such as below:
However, if we are to use any of the kitebot commands for manipulating images on these messages, it only applies to the first attached image:
This is the same for all of the image commands I tested (only 3).
Add a setting for setting the admin of the bot who can execute +kill
and such to init_settings.yml
e.g. starboard.py line 92
# command for adding a global threshold starboard
@commands.check(pc.can_change_settings)
@bridge.bridge_command(name="starboard", aliases=["sb"], description="Set the starboard settings for this guild")
async def starboard(self, ctx: bridge.BridgeContext, threshold: int, channel: discord.TextChannel, emoji: str):
if not await pc.can_change_settings(ctx):
return
@commands.check(pc.can_change_settings)
isn't triggered at all
Docker installation needs adding their apt repository:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Simple sudo apt-get install docker-ce docker-ce-cli containerd.io
doesn't work, at least on freshly installed Debian.
Someone who wants to put up a server with a bot should know how to install the docker so it seems to me that the installation instructions are not needed anyway, I guess it should be just written out in the requirements.
EDIT: Also, to run docker-compose it needs to be installed as separate package.
It was requested a while ago and would be pretty cool. Role based with cool redis data types.
Re work the settings cog... It's a bit confusing. And add docs regarding how the settings work.
This is a good https://pypi.org/project/fuzzysearch/ starting point.
The current implementation is very unstable, makes very thick outline way to often, maybe abandon the outline and calculate if the text should be black or white based on the background.
What @Caraffa-git is doing basically. Move the laser stuff in to it.
This is quite confusing, for example, the info command only works if you do /info
but not +info
, but the help command only works if you do +help
but not if you do /help
command!?!?!?
(p.s. this isn't me just bitching, it's also kinda a todo list for if i wanna do stuff for kitebot )
Slash commands are perfect for them, the text versions are too confusing.
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.