#dev-contrib
1 messages · Page 87 of 1
is there a UI on the site for database interaction?
since ik there's a sign in on the site for admins 👀
So it's a bit complex
Yes there is some interaction with the API from the site
but most of it is done with the bot
For example, one of our most crucial DBs is the infractions one
The one with all the warns, notes, bans, etc
Now you could technically view that from the site
but we mostly use the Python bot
Anyways, questions about the new API would best be directed to Sebastiaan whenever he's online
ah
do we have a db on sir-lance?
sort of
we have redis
but part of the sir-lancebot ethos is that it's easy to setup and contribute to
so no DB
ah yes redis.
Redis is technically a DB, but it's more volatile, so we can't store really important stuff on it
how do u think i should make the wtf python command, just using regex?
I'm not sure what you have in mind with regex?
matching the example pattern
go to raw link of the readme.md
or maybe just using split, first ssplit for ### :eyes: Example and then so on ...
yes
imo what would be best is to store a mapping of raw text version of the names to IDs
then fuzzy match
the raw names, and the inputs would be stripped of any formatting, and we'll just match A-Z
that should make it easy on the algorithm, and the user
all that would leave is fetching the content by IDs
I don't know if the document is structured in a way to make that possible?
Ah actually
we can avoid all that, and just steal it from the table of contents
that has a mapping of anchors to names
manually or through tasks and parsing?
parsing on startup/when the data is missing from the cache
oohh yes
no need of ids
just the table
and spliting on the table and the next ###
yesh, it has all the anchors, so you can just append to the base URL, and boom, you've got the subsection
that would get us the link, and then we can use regex/splitting to get the content of that section
@short snow instead of building one monolithic application that does everything, the API provides a layer of abstraction, which means that the bot does not also has to handle the database (models, migrations, database connections). Instead, that's split up into a different application that exposes a straightforward API.
Oh thanks, but i think that was meant for @fallen patrol
This needs reviewing: https://github.com/python-discord/site/pull/447
Right, but what advantage does that bring to the bot?
@fallen patrol It keeps the complexity of the bot lower and abstract database communication: You don't have to worry about managing a database from with the bot; that's handled by a dedicated application that offers an API to the bot. It's a pretty common design pattern these days: Instead of trying to do all things within one bot, you split up the services into multiple microservices.
Ah that makes sense.
how does one request a feature? It might be a feature for the bot, or it might require a change in discord itself; dunno which
You can open an issue on the bot repo https://github.com/python-discord/bot/issues (assuming it's for @stable mountain). Regarding on whether it's possible to implement in the first place maybe just ask here beforehand
ya ok
so here's my "workflow" around here: I sit around and wait for a help channel to become occupied. I look in at it; and 95% of the time I can't help the guy, or they're already being helped, or whatever, so I mute the channel for an hour. The other 5% of the time, I start responding. I am rarely active in more than three such channels at once.
This works pretty well (and I suspect a lot of other helpers are doing something like this)
but "one hour" is totally arbitrary; what I really want is: "Mute until someone else claims this channel".
Oh and I want to be able to do this from the keyboard, too 🙂
What channels are muted can't really be controlled outside of your client (I believe it doesn't even transfer between different clients on the same account), I think the best the bot could do is notify you on new channels but you can just see that from a new channel being added to the bottom
yeah I figured it'd be something like that
probably requires a change in discord itself
wow joe chatting
Yeah, not feasible at Discord's side. They most likely won't add APIs for integrations to alter client things like that
No, I'm just an owner of this server.
this is not the official discord server of python
We're not official in the sense that we're run by the Python Software Foundation but we are listed at https://python.org/community/ and work closely with the PSF.
hmm okey
So I’ve wanted something like this for a while
We have an internal issue with possible solutions
I could look into reviving it
#dev-log message Uhh shouldn't this type of PRs be directly pushed to master
also scal, there is some problem with the wtf python readme, it doesn't seem to follow the same pattern. I can send you the WIP cog file in DMs if u want it
It doesn't really matter, this is just a formality
Which ones don't follow the pattern?
uhh, i can send you the code, it would be better to understand, since i have numbered them
like it logs Sending: {number}, when you do .wtf
I don't really understand, but I'd much prefer you put it in the paste bin or push the changes
alright, i will use a pastebin
there u go
lemme send the ones which are sent
Sending sr.no: 0
Sending sr.no: 1
Sending sr.no: 16
Sending sr.no: 25
Sending sr.no: 26
Sending sr.no: 40
Sending sr.no: 43
Sending sr.no: 55
just add the cog to bot.exts.evergreen and then do .wtf in your bot commands
and watch your terminal
first it sends the data as:
- regex
- findall match
Why are you using the previous header in the search for the next header?
( @gritty wind incase u missed it)
I don't know
this seems like a very strange solution
how would it even work on the last entry?
I think you should rethink the approach, but I don't have time to look at it right now
If it's impossible, then just links are fine
Alright i will try if i can find any other solution
Anyone on Windows with Docker?
Yep
looking at your contrib guides issue on meta, trying to find the best solution
host.docker.internal works, but then people still need to add subdomains
what are you doing?
On windows, docker is now handled through docker desktop which already comes with compose installed making the docker compose requirement for the projects extraneous on the platform. In https://pyt...
we refer to a command that doesn't exist
On MacOS it seems that localhost works (or at least it does for me)
Ah I see
Yeah I'm using localhost now, not sure if it didn't work before or I didn't try it
it's also localhost on windows
huh
well
that simplifies things lol
this look correct then? https://pythondiscord.com/pages/contributing/hosts-file/
We're a large, friendly community focused around the Python programming language. Our community is open to those who wish to learn the language, as well as those looking to help others.
why don't we just have people access it through localhost? CORS?
subdomainss
(which we will be deprecating soon, so eventually yeah we will host on localhost)
Couldn't we slap a middleware in the config to get rid of subdomains inside docker? I guess that would be quite a bit of work
too much work if we're gonna move away from the setup
What issues are there with subdomains? seems to work fine for me
Yeah true
Ah, browser works but the bot gets a domain name error
I've made most of the changes listed by people on that issue
i also captchad myself while submitting an article smh
lol, for XSS
lol
probably worth discussing with folks like
what we need in there
@green oriole hello thoughts
Yeah its scope is maybe a bit too wide, and doesn't really look like new contribs read it
there are also some rules in there that we don't follow at all, or in very limited contexts
Broke the first "rule" quite a few times
Yeah that one in particular is very over bearing
It is on the core dev meeting agenda
the core dev meeting is a bit of a unicorn atm
Let me just..
2 is very explicit, but most people feel more comfortable not following it, and 5 is meaningless. 7 feels very redundant, when we can simply tell people to comment on issues they want to be assigned to
anyway I think that's the meta issue mostly resolved
so I'll close that and we'll look at the guides on GH in the meeting
One more thing actually
docker-compose requirement is only needed on linux
it comes included on windows and mac
same goes for site
it has already been changed by Chris on sir-lance
updated
Well @gritty wind I couldn't think of any other way, should I just use links? Or if someone has anything in mind they can just let me know
@green oriole (as our glorious open source lead) this doesn't say how to run the unit tests: https://pythondiscord.com/pages/contributing/bot/
We're a large, friendly community focused around the Python programming language. Our community is open to those who wish to learn the language, as well as those looking to help others.
That is true
how to do
that
One of those things
Can anyone share a article or link on writing unit tests, never worked with them. Thanks
but it all described on the README in the tests folder
Actually if you’re on pycharm they have a much stronger test suite you could use
@short snow ^ this is a very good resource actually, and they are some additional resources at the bottom of the page
Tyvm
Tl;dr for writing tests: input goes into modular component, correct output comes out
np
Unit testing is then finding the input that is likely to go in, and cause problems
And on what type of features do u write tests?
Eeehhh
We aim for 100% coverage, though that’s like a negative priority at the moment
We did say that 100% was stupid
Ah alright 👌
I think if we’ll have tests somewhere, it’ll be on features
Otherwise it’s mostly infrastructure to support the bot, which we probably won’t test as much
for some reason I get permissions issues if I run pipenv run test but I can't run it with sudo
I'll figure it out, I guess
What do you get?
PermissionError: [Errno 13] Permission denied: '/home/steele/projects/pydis/bot/logs/bot.log' this gets raised in every test
Did you run pipenv run start under sudo?
That could cause permission errors on the log file
maybe a chmod chown could solve it
sudo can't see pipenv, so I'm just running pipenv run test exactly
(bot) steele@steele-mint:~/projects/pydis/bot$ sudo pipenv run start
sudo: pipenv: command not found
In case u misses it @gritty wind
Uhh try checking the perms of bot.log
Obliterate the logs folder and make sure that you own the bot folder and that permissions are well set
sudo rm -r logs/ && mkdir logs && touch logs/bot.log seems to have fixed it
but why didn't I have permissions for that folder...?
Because you betrayed windows
It has been generated inside the container, so it was owned by root with aggressive permissions
!otn a wipe windows install linux the ultimate betrayal
let's see if I can just run the tests in the infraction directory
If only it could fit
I think you can pass the module’s name to run it
Which might be something like bot.ext.infractions
Idk I let pycharm handle it all
You need slashes, maybe?
I don't think I've integrated the pipenv situation into the pycharm project
Yeah it should still be pretty similar
You type out the module after the command and it’ll run that
Do it 👀
It seems that Microsoft wants to improve their support for Python so I don't want to shit on their efforts
I won't stop you
I think it's too long anyways
though I added an object is an instance of a class and I have no regrets about that one
100 character limit for channel names :D
> isinstance(object, class)
Syntaxerror
> if object is class:
False
Well, MS adding more Python support is just them pointing their user to use broken installs just for the sake of using their services
Ehh it's not worth the conflict lol
Mm, python3 in console opens windows store to install python....
Even if you already installed it.
If they really wanted to add more support they'd vendor CPython and call it a day
that's untrue
python installs as python not python3
so python3 still opens the store
Even if you install python via the store tho
Which I did thinking it might stop it when I type python3
And it still opens the store 😔
The command is just an alias for open store pretty much lol
Pleeeease add it.
It looks like for the tests for the infraction system, it tests to make sure that the message that would get sent to the user for note infractions looks correct, and doesn't get sent
and that's quite a superfluous test.
Oh, I meant shitting on MS, this name is way too long haha
Afaik the limit for channel names is 100 characters, so it is possible
👀 I'll put it this way
I've used windows subsystem for Linux with vim installed and mounted my c drive instead of using notepad.
Think I meant to reply to this lol
That's still really long, even if it is under the limit
!ot anyways, I'm now extremely offtopic, if someone wants to go there, I'll be there
On topic--
!src ot
Unable to convert 'ot' to valid command, tag, or Cog.
!source [source_item]
Can also use: src
Display information and a GitHub link to the source code of a command, tag, or cog.
Why does that not bring up the tag?
Because ot is fuzzymatching the tag offtopic
aah
You mean when I do !ot it's fuzzy matched and not coded as an alias?
yes
It is on cooldown
!ofto
Off-topic channels
There are three off-topic channels:
• #ot0-psvm’s-eternal-disapproval
• #ot1-perplexing-regexing
• #ot2-never-nester’s-nightmare
Their names change randomly every 24 hours, but you can always find them under the OFF-TOPIC/GENERAL category in the channel list.
Please read our off-topic etiquette before participating in conversations.
Ah
you're too quick
let me uhh
take a look
@vale ibex I'm looking at it
it'll work
but I think it may be a bit too unscoped
the channels and categories are used in a bunch of places
Yea, I purposefully didn't add staff-voice to the global whitelist, in case it becomes too spammy
if it's just the issues that we want to whitelist, we can do that pretty easily on its own
But it's easy enough to do so
I'll let more people chime in, but I don't mind it either way
My preference is locking it to the issues
Are the channel and category constants used as whitelists in the entirety?
I saw the global whitelist just references certain channels/categories, rather than them all
The categories are used in certain overrides
Not in too many places which is why I don't mind it
but also I don't see a harm in limiting the scope
Which is why I want others to chime in
i tried to look for that, I couldn't see anywhere they were used in their entirety
IE cheatsheet.py uses Categories.help_in_use
fair enough, I think I initially misunderstood this change
yeah this lgtm
I thought the whitelist changes were made directly to the global whitelist
but your solution is more what I had in mind
I did review thing
Ahhh the global whitelist is line 303 in constants.py afaik
Should I just alphabetise them? @vocal wolf
I tried to follow the order that the channels appear in the server
well I don't think the rest of the constants file is alphabetized iirc
@gritty wind didn't you do a PR a very long time ago doing said alphabetization?
python
right
nightmare it was lol
@vale ibex ye it's fine for now, we'll probably make a PR at some point to attempt to alphabetize @dusky shore
just make the order the same
Sure
Do you want me to change the issues cog to be in the order of the constants? or the other way around?
issues in order of constants will do
@obsidian patio poke https://github.com/python-discord/bot/pull/1439
Hi mr. poker
Heh, that's what I had guessed, done it already 😄
Very cool
@vocal wolf I've added a final request to it. Are you fine with if I commit that suggestion directly and we can merge it?
yes
Perfect—done!
I'll merge when all checks pass
Nice nice
@obsidian patio ah god dammit we probably should've capitalized "the"
in the print statement
Oh yes. That was something I was gonna comment earlier today, but I forgot it now. Want me to commit it and we'll call it a day?
Was just thinking the same. Lovely
Nice, the thing
@obsidian patio force push success, I will now merge when checks have passed.
Nicee
@ashen isle thanks for the contribution, the tag has been merged!
:3
Touchdown confirmed
Once the bot reconnects, we can then see the change
I've been waiting to say that for 15 minutes
!comparison
Assignment vs. Comparison
The assignment operator (=) is used to assign variables.
x = 5
print(x) # Prints 5
The equality operator (==) is used to compare values.
if x == 5:
print("The value of x is 5")
@ashen isle it works well
Hahah, that's pep 8
@gritty wind I have a commit in there to match the ordering 😄
it doesn't though 🤔
devprojects would switch with the other dev one
also that's the categories, didn't the channels need to be rearranged too?
Oh no, I moved development, but put it in the wrong place 
haha consider my approval permanent
I couldn't spot what @vocal wolf meant by that one, both the constants and the cog go organisation...mod_meta...mod_tools...staff_voice
I think the confusion was probably because it isn't in alphabetical order
it looks fine yeah
can we squash merge on sir-lance
Sure
I mean we can squash before merging, but not on merge
disabled on repos, you have to do cli stuff
ye
If it was ordered, then nevermind my comment lol
Mistakes have been forgotten
xith apprrrrrove
Yea, could have done that 😂
I guess the ordering issue was there before me, so having a separate commit to fix it isn't so bad
(or request changes, I'm not your boss)
omg ping me next time
@vale ibex @gritty wind merged
@obsidian patio congrats!
Imagine not having push notifications
Thanks Xith
@obsidian patio Congrats for Project Lead, which projwct lead are you btw?
Even scal and fire got it
and xith and lemon got new domain lead nice
Thanks
It's called "Hidden Gems," which is a YouTube series where we'll be showcasing different features of the python standard library, that most people don't know about already
Oh cool

AWESOME 😄
In future you'll the mod one day 😄
@obsidian patio
Afaict, he's the only non mod or admin lead.
I was just the Event Lead before I was asked to join the Admin team. So it's not unprecedented.
O
whats a preferred way to learn sir lanbot?
directly fall into code or there are some good .md files?
Hmm so
You should check out the contributing.md to set up the bot
but after that, its mostly just normal d.py cogs with your code
what issue are you looking to work on?
i'm not exactly looking for any specific right now as i've got exams but i'll look for something simple once, and once i got an accepted pull, i can work for game like issues.
there's hangman one i think.
So there may or may not be a recommended implementation on certain issues, which could help you when starting out
but if you've worked with discord.py cogs, you'll be fine
a good reference game could be the connect 4 game
its in our repo?
makes sense. okay i'll play around with game to see how stuff works, and will check first-issue label for a simple start.
sounds good, when you're ready to start working, just leave a comment on an issue
like before starting?
yes
that way you can get assinged to it
so we don't have multiple people working on one issue
Many of you probably know about https://carbon.now.sh already, which lets you generate these nice images of your code
One idea that hit me is to make a .carbon command for @dusky shore, where you can post your code and get back the formatted result (as an image). Do you have any thoughts on this?
.carbon ```py
for i in range(5):
print(f"Hello number {i}")
^ This is an example of how it would be used
I did some research, but couldn't find a very conclusive answer
one thing I see is that you can load in github gists by appending to the URl
Yeah
but the output seems much more difficult
and looks like it requires scrapping of some sort
Did you see Ben's VSCode tinder thing? That used carbon iirc
Reading through an issue on the repo, it also seems like a few people have made APIs for it and that they might be working on an official one
Yup, was looking at that now
But that would be an additional service we have to host
which is something we try and avoid on sir-lance
Hmm, yeah
Do you think scraping the image would be too bad? A lot of people want to learn scraping, so this could be a legitimate use case for it
I honestly don't even know if it's allowed
this is their robots
User-agent: *
Disallow: /*?*
Allow: /*
Ah yeah the ToS forbids it
Ah, alright
hmm carbon-api does provide an online api it seems
I don't know why that link broke so hard
Spaces, I think
That's nice though. Means we might have a chance to do this
What do you think of the actual idea of a command like this?
Yeah, definitely. I personally don't have time to implement it, but I'm fairly confident that someone will want to do it
I'll open an issue for it
hmm let me see if anyone has ideas about the implementation first
The API is fine, but I don't want to strain the service if it can be avoided
Your reminder will arrive in 2 days!
wait, pycharm and vscode has a plugin for this
and if they have a plugin, means they are somehow interacting with the website
that means even we can do it
I think its probably generated in VSCode
I will see if i can find anything on the net
hmmm, and it is pretty fast, so maybe even we can implement it
Uhh, maybe after tomorrow's exam I can look into it
The API above is also a ToS violation fwiw 
It uses Pyppeteer which is just headless chrome
all the APIs I see listed are just headless browser instances
the carbon devs seem open to adding an API, but no progress updates in a while
ok so
I'm looking at the readme
they have a CLI
I wonder if that would violate ToS
I assume not because they list it in their readme
An official CLI?
interesting
all of these solutions use a headless browser
which i am very eh on
I'd rather not run an instance of chrome just to have lancebot run
hmmm, what if we install the cli on the machine and call bash commands?
that's still a headless chrome instance
if you can't easily install it from code, no
store the image locally, and delete it after every run
nah
it's not about that
it's about the fact that the bot has to start up a browser
My conditions:
– We can't run an instance of chrome locally for Lancebot just to generate code snippets, I have no idea if that would even work in Docker
– We can't violate the ToS, any solution must be made by/officially endorsed by the Carbon team
– We use an API, we can't expect users to install a suite of terminal commands for certain features, it should be implemented in Python
Yeah, that's my thoughts
Or to host a pydis instance, but that's really ehhhhhh
nah
Resources go brrr
what about this?
That doesn't sound like a wise use of our limited resources
Sounds like a lot of security concerns
see my points
the CLI is just a browser instance
it starts up a browser and opens the carbon page
and also see the third point, we shouldn't use a command for this
right
I'm with Scale here that we should keep the idea at the back of our heads until there is some official API available
Unless they release the API, it doesn't sound too positive
yes, we probably could write an implementation of it fairly easily
pygments would probably help with the highlightnig
It would have to be very stripped down feature wise
yeah
alright, i will see if i can implement it. Maybe next week, once this school stuff gets over
or anyone else can
sir-lancebot#600 and sir-lancebot#595 can anyone review these two?
uhhhhh
Ye, when I refresh, that happens
but damn thats a cool screen lmao
hmmmmmm
hey the app works, blame joe
why is it only our forms subdomains
are we serving anything else from a webpack bundle?
There's an app??
Oh okay
but uhhhhh yeah seems forms is returning a bad certificate
oh wait no it's not that was just me forgetting to send my client cert ignore lol
well it might be i'll need to debug something
would that explain the too many redirects?
nah
yeah the cert is invalid
becauseeeeee uhhh
ah netlify is refusing to generate one
one second
I get the ssl error too, but the too many redirects if I have console loaded
Sometimes with SSL error there is such redirect errors
actually
I don't think this is netlify
forms-api is down too
unless that's netlify as well?
No, this is Kubernetes
well the backend itself is, but there is a frontend component to it
with the swagger stuff and what not
okay so
netlify cert gen for forms.pythondiscord.com isn't workingn
that should be fixed now but will take some time to propagate
Is this reason for backend SSL error also?
Now forms is just entirely dead
Smh its down because you are on a free plan but TIL there's a free plan??
it's not down because of that
no its down because joe is bad at typing
👁️
lol
Same issue for forms here tho
I had to force reload
Is the broken part it didn't make me sign in first?
Yesh
okay things all look healthy now
yeah it's not in prod by any means
is forms backend open for contribution?
as of now we're keeping it staff-only & the issue tracker is internal, when we go into production we may revisit that though
(are contributors allowed?)
is the internal tracker internal code?
internal issue tracker, where we put all the tasks that need to be done
We can't open this page to public because this contain private information.
Not at the moment, anyway
ah alright
right, but what runs it?
closed or open source code, basically
The issue tracker is hosted on notion, so I guess closed source?
We don't run the tracker
we just use it lol
ah
How would I set the site to debug mode?
in config.yml just put DEBUG=True ig, lemme have a look
you are running the bot or the site?
Site
alright
It seems like environment variables would be the way to go, but I can't seem to get it working correctly
Are you using the docker-compose, and if not, what are you putting in your env vars?
I'm using docker-dompose, yeah
It should be on by default
I'm trying to disable it
The question is where
open docker-compose.yml
Aah, alright
Should I also remove the debug flag?
and while using pipenv, just in .env in your root
yes remove it
Yep
You shouldn't have to 🤷♂️
It's running without debug when I just change the 0 for me
we have to, have a look at the manage.py
but it does normally too ig
it is over written
or you can just test it and see that it'll literally work 😛
With the flag, it runs debug in the terminal
Without it, it runs it like production
But the site is the same, it seems
debug only manages the errors
it will show you the errors with debug true otherwise it will show the error page
are u trying to test the pydis wallpaper for errors?
@gritty wind The Django documentation says that I should be able to just put a 404.html file in the root of templates/ and that it should then be used automatically as the 404 page. That's not what I'm experiencing though.
This is what I currently have
But this is what I get when requesting a page that doesn't exist
Oh wait... that's not a 404
What page are you trying to visit
Same for that one. It gives me 400
yeaaaah that's why we need debug lol
lol
Yes!
shweet
related to #changelog heh
look up on code pen for some sweet designs, and you can then use those designs for the error pages, but with your own taste
it'll be something along the lines of https://PythonDiscord.com/.env
We've already rolled those designs out upstream at cloudflare but want to tie them into Django as well
arghh, postegres started late than site, and site existed we need to fix this too ig
Interesting
site does actually wait for db
and retries like a million times
so if it failed all retries
well your DB isn't coming up
http://pythondiscord.local:8000/life
how do you set up stuff like this 👀
can we do a postgres readiness check?
hmmmmm
i need to run docker-compose up web again
we can check that the TCP port is open
Also, I need to confess something
lol
pg_isready exists, not sure if its present on the docker image though
This is the fine art of bodging
hmm that's true chris
how many migrations do we have lol
all of them
Is there a better way to add it as an allowed host, without modifying the defaults?
!remind 20M is Postgres alive?????????????!?!?? Is it????? Are you sure?????? Does donker know!??????
Your reminder will arrive in 20 minutes!
staying in debug lol
there is an env var iirc
really thought that was 20 months
donker
lol
donker and koobernoots
(that's my helpful contribution of the day, you're welcome)
I tried env vars, but with little luck here. Eh, I'll just bodge it since it's just for my local testing
!otn koobernoots-powered-pydis
!otn a koobernoots
:ok_hand: Added koobernoots to the names list.
on running docker-compose up the site is running on http://pythondiscord.local:8000 right?
This is used because you can't do api.localhost:8000
👁️
please, I beg you, don't commit that
👀 also why is there not a robots.txt file? 🤔
The 404 page?
robots
scott meaning ela?
Ah
always open a issue on it before you work
or is already opened vester
@patent pivot
Here's your reminder: is Postgres alive?????????????!?!?? Is it????? Are you sure?????? Does donker know!??????.
[Jump back to when you created the reminder](#dev-contrib message)
!otn a does-donker-know
:ok_hand: Added does-donker-know to the names list.
Is there a way to get the server invite in a Django template, instead of hardcoding the value?
discord.gg/python?
I meant more if we had a constant for it, so it's not hardcoded
Looking through the source code, it seems like it's hardcoded in other places as well though
yeah that's probably fine
it will be painful if we lose our vanity url, but its fine for now
Yeah
who runs @tropic flowerbot and where is the source?
wait the source is pinned? Lol
yeah but no source
@patent pivot 👀
lol
why is this bot so old when it uses late 2020 features?
what did it use to doooo
oh jeez I regret looking at joe's github
why regret lol
had purpose before slash commands and now repurposed ez
Any idea what's up?
that's an implementation of slash commands with azure
This is the thing I added the stylesheet to, instead of embedding it into the HTML
hmmmm
not sure
Any other details in console?
that should be accompanied by an error
what server framework is it using?
steakbot?
This is all I see. Where do you want me to look?
no, gurkan
Django
hmm not sure why errors aren't getting logged
you have like 7 forked github bots 😂
do I? lol
@obsidian patio 👀 didn't you turn off debug mode
Hi Joe :)
Was actually just writing about that. The site isn't running in debug mode, but the terminal runs in debug mode, if that makes sense
hm
yeah, and another several discord related repos, including one that allows you to use the api from command line :sus:
This is where I have the css file, and I'm trying to access it via ```html
<link rel="stylesheet" href="{% static "css/error_pages.css" %}">
that's not sus that's legit usage lol
it doesn't use any tokens
it doesn't lol
wat the f*ck
right now it just uses the invite API
:squints:
lol
invite api is unauthenticated
so if you have an invite you can fetch new details
ah
yeah, @stable mountain uses that for invite whitelisting
surprised more bots don't do that
!shrug
yeah
ugh why does flake8 pass locally but not on the repo, is there something extra i need to do to check import order?
i'm just running pre-commit
that should only install it I think?
Do you see passed in the output
pipenv run lint
It really shouldn't have passed
it may not be using the config
but that would highly depend on the way you're running things
Yep
True
Hahah thanks scale
Can we use constants for bg and discord invite?
@short snow I imagine you have tested wiki?
no problem, even i do that sometimes
@obsidian patio
That was fast
I am always watching the dev log haha
I don't think we do license bumps
Joe explained the legality behind it
but I'm too dumb to explain it
Hmmm, okay
keep it up until he chimes in though
DEVOOOOPPSSS DAAAADDYYY
@obsidian patio license bumps are not necessary
there is an implicit copyright on code from the minute it is conceived as an idea
lol so fancy
That is only a flex
"I'll consult my lawyers"
lol
But yeah, sure thing. I’ll let you close/merge the PR when you decide
the top tip for doing your own legal research
is don't do your own legal research
okay lawyer is typing
is that legal advice
lol
okay so
– copyright registration is a US thing because US copyright law is "fucking abysmal", but it's useful elsewhere for reference
– changing the copyright date is actually pretty harmful in some cases, because if you update the date you are no longer claiming copyright for the time period before that, therefore if someone else publishes the work then you making a claim on it is difficult
- if we really do want to update the date we should instead add a new date so like ©️ 2020, 2022 if we make substantial modification
copyright and trademarks is a hell spawn of a legal field
yes
that
I guess we like
could do 2020-2021
but even then that's stupid
because we have 95 years of copyright already under US copyright law
so why even bother capping it lol
though
hm
okay more legal research needed lol
there is some guidance from the FSF which says yes you should include the year as a comma separated item in the license file providing that you have made copyrightable changes in that year (so you can't just bump as the first change in the year)
okay, I don't think it's necessary
👀
but how do you find the lawyer in the first place
asking for a friend, clearly
he's legally qualified, but not a lawyer
good networking 
👁️
Aha, that's the catch
is the .pyfacts PR good? it's sir-lancebot#596
Wow github
Are u trying to get voice verified?
That's a suggestion that would probably be better off in #community-meta where it can thrive amongst its peers.
either channel seems fine
add !resources to the cooldown like !ot and others are
reference #ot0-psvm’s-eternal-disapproval message
@vocal wolf , the feature is already done
it is waiting for review
i did one approval.
you don't tell me what to do I already am xd
Hey @vocal wolf , regarding the pride event calendar, can we just make an all year round calendar rather than for pride only
I suggest making an issue and seeing what other people think, I'm not too sure myself.
Okay
I will make one when I reach home, current in uni 😬
Go study!

Lunch break
If it is a year around calendar I don't think we should restrict it to the pride season
Which uni?
PESU, Bangalore
Oh
Yes, there was a discussion before on using Google calendar
Interesting idea
Haha, man that's old
Ye
I probably wasn't even here
Hmm, it sounds like a lot of work
I don't think we want to host any web page for now as we are trying to simplify the site as much as possible
Alright
damn 2 years ago lol
We can talk about this during staff meet I guess if we want a pydis calendar too
Yeah, that could work
haha ye
needs reviews
@obsidian patio how close are you to finishing sir-lancebot#436?? This is the best feature lol
Just make sure you have a cooldown and all so we don't break the CPU
Hahahah, that is one of my favorite features as well
I had a working implementation, but it wasn't pythonic enough and required way too much I/O (don't think it would work with the new setup)
Right now, it's a bit on hold
Alright maybe am free in the evening, will give it a go
already merged lol
ak and ks went over it
Would allowing snekbox, say, a 10 PID limit instead of 1 still offer a similar level of security?
well it would make certain things much more difficult to secure against I would imagine
right now you can't do bash commands, do network requests, etc, etc
why do you want to raise it?
It was more of a theoretical question than thinking of any use cases in particular, although my thinking was that theoretically you should be able to do anything you could do from creating another process, in the python process, so the PID limit is mainly to stop people spam-creating a bunch of processes? I'm not sure if that's right though
Hmm here's something interesting
the http_connecter is breaking for me
I can't use snekbox at all from the bot
Could the thread limit be raised? Or is the creation of those limited in some other way
How is this scal?
