#dev-contrib
1 messages · Page 107 of 1
I've written those tests back when there was still a desire to keep increasing the overall coverage; afaik the paradigm has shifted since then
for example, it's probably not necessary to test the on_message listener, since it's simple enough that you can more or less see that it works by just glancing over it
and testing it via Discord is trivial
starting with the regex sounds good
ok cool, I will start of with that as of now.
afaik the paradigm has shifted since then
yeah it has shifted, 100% coverage isn't aimed nor tests are compulsory for all features
it's probably not necessary to test the
on_messagelistener, since it's simple enough that you can more or less see that it works by just glancing over it
Then, the only test case i think we need is for regex, which is not reallly necessary also imo
maybe we should fix it then 😄
what's wrong with it?
is it broken for the main bot too?
the paginator doesn't work perfectly
we have an issue open, but that's gone stale multiple times
issue link?
It's had a PR open for 3 months
But the author was mia up until 3 days ago
seems things are happening again
awesome
i think, there is a simple fix for it, lemme test if that's ok
ok nope, it doesn't work
what i thought, was to just remove the empty lines after each item, and strip them
shipit rat cannot be controlled
squirrel?
quite evidently a squirrel in a mobster fit
beautiful.
squirrels are just rats

squirrel falls into rat class 😌
rats have no class. neither do squirrels. otherwise they'd wear something better
@patent pivot catjam after pr when
is it still on ledger?
Could use a review on bot#1529 to make development a bit nicer
on the github defaults of the org
@brazen charm just waiting on a branch update, but the PR is good to go
https://quackstack.pythondiscord.com/static/671e0914ec75d4927b26553f51373ff1e7708ca2.png is this a bug, the shirt and pant color or too close
or it is the expected behaviour
no, I was planning on changing it so that the pants would have a complementary color, just didn't get around to it
but you can go for it if you want
what did you have in mind originally? I could try something similar
or if you want to do it, you can go ahead, no worries
hang on when tf did quackstack switch to using hypercorn
i dont even remember seeing the pr 
lol

Nothing is fine
@vale ibex for sir-lancebot#702 which subreddit did you test?
it was always hypercorn, you use uvicorn on all your fast api projects, ehnce u are confused
i am very confused
i guess we decided to use hypercorn and then my brain was just like "sure", did it, and then completely forgot
The one from the sentry report #sir-lancebot-playground message
.reddit yeethon
ty
Alec broke it first
:)
lol
all credit to him
here's my moment of sadness: #sir-lancebot-playground message
lol
There's another issue that iceman is working on to make the NSFW check work better
as in filter out NSFW posts, rather than just check the first
So this PR is purely just to fix the errors
want to switch to uvicorn?
and why are docs disabled?
i was looking to test manduck, and found no docs
would appreciate a staff review quickly if anyone is available, it should take like 10s to look over :P
merge it, i am staff
edit: was
Something that complements the ducky and shirt colors
https://www.tigercolor.com/color-lab/color-theory/color-harmonies.htm
A short description of the basic color harmonies: complementary, analogous, triadic and tetradic color schemes.
so basically i just generate the shirt color, and get the compliment of (that and the ducky colors)
cool, ok, i will do it
how about i generate Triad from the ducky body color?
and take one as shirt and the second as pant?
need to figure out a algorithm for it 
ah nice it worked this time
should be simple, figured it out
#dev-log message didn't work here
Anyone needs help In code?
yeah, I know that it doesn't work
it's more a shock that it worked for toxic earlier, it just seems like something on discord's end
hmm
#bot-commands message boom 🔥
is that ok or there is a better way?
@vale ibex you tested that reddit PR, ye?
alright I'm pretty sure my emojis on the paginator are just broken
not part of this PR
unless...?
it shows page 1/2, are you able to get to the second page? I'm not able to.
I could when my bot was running
could you start your bot real quick?
am i invisible
@clever wraith you are not. I'm staring at your PR atm.
Shouldn't we put some limitations on processing these images?
is there a problem with me?
It hasn't been open for that long
It's all voluntary work, so set your expectations with that in mind
running
and there are limits if ur talking about me
i have set it
yes
alright sick
that never changed
@cold island look what do we have 🙃
ik, but i was comparing to catify
and it also got way more attention
nice 👌
it seemed like some people liked mine when i just started it but then sort of stopped caring about it
perfect 😄
If people approved your PR, 9 times out of 10 they're done there. People usually don't stop caring about PRs, there's just an arbitrary amount of people that need to see it before someone decides to review.
@vocal wolf when you requested changes that were already dealt with in another PR 🙃
@sleek steppe which one?
well what is with the names of the file 🙃
i meant staff specifically
hash of time
sir-lancebot#569
We're still volunteers, we'll get there eventually.
i dont want to name anyone specifically but yeah
anyways, thanks for looking at it at least
how to add descriptions while using git commit ?
newlines...? I think
git commit -m "title" "descrition"?
i always used the pycharm so never used this
You mean like
git commit -m "Foo blah bar spam
Some other stuff here
...
"
if you just git commit it should open the configured editor and you can write it there
you can configure git to open neovim
You shouldn't have to point out anyone. People allocate their own time to reviews, so naturally they will fade in and out of existence.
Does @stable mountain auto-delete any .py file uploads? I feel like they could be allowed in help channels since discord offers this nice viewer
so if i made smth like this:
.wingify
buddy choke --> ༼༻buddy choke༺༽
would it get approved way faster? @vocal wolf
I cannot determine the amount of time something will take to be reviewed.
well i mean is it about the complexity or what is that matters
Think it got rejected because @stable mountain would still have to download the file and scan it, and it doesn't show for mobile.
Ahh, I see
Complexity can play a role, but it's mostly about the amount of people who see it.
That feature is still very new, so we're going to wait until it's a bit more developed and has the features we need
Now that we're talking about Pr's that should be reviewed, what about bot#1529
and how do ppl see something
bot#1531
it is not about the complexity of code, it is the documentation/description you provide on the PR and the time available for contributors to review.
Many already are engaged with other issues and PRs so they don't get enough time
but eventually someone will review the pr
I don't think there are any metrics that really make up how long a PR will sit in the review queue
sometimes PRs go fast, sometimes they go slow, in the worst cases we've had PRs last for years
💀
lol
obviously yours won't take years, but just because one PR takes a short period of time that isn't anything to base your, separate, PR off
What would the eval command say if you tried it in #python-discussion now?
Something something "you can't do this here"?
Yes
ty
I'm meh on the idea of a wings command, feels like just noise
do we really need to redirect output now, when the command works in almost every channel anyways?
@cold island sorry for the 3rd ping in an hour, could you review quackstack#37 as you are the "codeowner"
I can test out sir-lancebot#688 now
whats so interesting about the cat thing then?
People still think the issue is relevant
it's more than just adding something before and after
ok then
alright, checking out splitify
thanks
That's what I asked after the change (I opened the issue), but somebody said it might still be relevant
I don't think they're much more noisy than the cat thing, but they aren't really used by anyone to warrant a command to add them
was cat used outside here?
yes, a llooot
i dont know what vc is
mina introduced it
What doesn't redirect output in #python-discussion to #bot-commands for regular users? doc?
voice channel
i meant outside this server
we can't say about that 🙃
You mean commands that fail?
hmm I think 193600 is way too many squares, and it's noticably slower (I haven't measured resource usage yet)
but I'll add this as a review
ye
it is way slower, yes
how come it's too many?
also, for future reference, PRs should have an issue opened on lancebot before the feature is implemented
I know that !zen does, !raw, but not !doc
yeah 
I thought raw doesn't work for regular users?
oh?
doc is allowed everywhere
which issue?
I believe it was discussed here
687
i need to find it
yes
sir-lancebot#687
ah
add that to the top of the PR please
too much processing power used for squares.
those split squares, it would take up resources
it sure may not look like ur pfp anymore but the pieces are used from it
i can thread it
well for you, it is only you using it, here there are many using it, and the we don't want to burn our resources and get to 99% CPU used
like speed it up by running a few threads on it
joe can explain better
I'd much rather we set a more sane limit like 10,000
how come u only say that when joe said it and not in any of your reviews
I don't think blocking is an issue since we use an executor
i made my own executor
because I approached it from an aspect people might not have? let's not get hostile
im not hostile
im just saying that no one mentioned any problems with square amount
man, come on, we got got a valid point here
because joe knows that better than us, he is the one who manages the hosting and stuff iirc
i do not agree that its too much, i can code it better if thats needed
@sleek steppe have you tested output redirection?
it is not code about it, it is about the resources it is burning and slowing down the stuff
i said i can code it better
I just think that at 10,000 it's nice and still interesting, generating pure noise is just a little weird
i think as the number of squares get too large, the output image just looks like random grain
ok go and try this, run the command about 100 times on your system, and see your CPU usage
just because its not how u want it right now doesnt mean i cant make it better
So the commands that have the in_whitelist decorator are the !ping, !charinfo, !sf, !subscribe, !unsubcribe, !voiceverify, and !raw, and !eval has the not_in_blacklist deco
Yeah I showed it in the PR
..., tried my best to explain it
cant u read? im really getting pissed right now, i said i can code it better
cool it.
@clever wraith Calm down.
We heard you the first time, but you saying you can code it better doesn't mean that the number can always be so high.
by code it better, i meant i could use less resources
why everyone jumps to a no instead of how to achieve the same result with a better method
this is so unmotivating
like 1 guy says oh thats too much and then everyone jumps at me
really nice supportive group
We're not your enemy.
nobody is jumping at you, this isn't a fight
i couldnt agree
right, okay, it's clear this conversation is going nowhere. I'm going to summarise my thoughts into a GitHub review and we can continue from there.
ty
I'm hoping you did a fuzzy search in your editor and didn't manually search all of the bot lol
lol
#ot2-never-nester’s-nightmare message he did LOL
alright, github review left
Also why'd splitify PR get closed 🤔
unsure
@clever wraith hey, what's going on?
im done
why?
because i dont get to do what i want
its like i come up with an idea and then someone else tells me how to do it
im done being some puppet
yall can go ahead and make it urself way better and how you want it
its like everything right now would be changed
the squares, the name, even my fucking variable names are bad
like what in the world
I'm sorry to hear that you feel like that. The nature of a code review process is that features do get adapted but of course the core idea is still there, just more suited to the project and environment, that is just how open source works.
I'm guessing the PR/issue should get the up for grabs label then...
yeah, it can go up for grabs
@clever wraith please stop closing the issue, if you aren't interested in implementing it then someone else will.
what are you gonna do about it?
alright
issue is restored and up for grabs for anyone that wants to take it, drop a comment on there and I can assign
@sleek steppe my @stable mountain instance is broken, will review once I wake.
For those who are interested: https://github.com/python-discord/bot/pull/1531
Alright lol
@cold island what should be correct order, you can see the order in the dict of template generation.
The order in aaaaAAAA should be correct
but it's weird because other ducks you show seem fine
hmm, i use the same
also that can be mentioned in a separate pr
it is unrelated to the current one
could u open a issue, or i can do it in a while
I'm not really following this project so feel free to. I don't know under which circumstances it might happen
alright
I can integrate it into my pfp cog if no one else picks it up by the time the PR is merged
👍
How bad will this impact this server
Second, pull requests from first-time contributors will require manual approval from a repository collaborator with write access before any Actions workflows run. When a first-time contributor opens a pull request, they’ll see a message that a maintainer must approve their Actions workflow before it will run.
The biggest impact is new prs to lancebot by new people won't be lined upon first run.
I guess it means people who haven't contributed before won't have their code linted until an approval
It won't impact us at all
It just means that your initial PR won't get a linting check immediately
The solution to which is lint and test locally before pushing to a PR
Which should already be done anyhow
Exactly, yeah
I assume that our policy system will still run since it's not a GitHub Action
wdf do you mean?
wdf?
no idea
wdf means "what" i suppose
The webhooks in #code-of-conduct, they are deleted after the bot sent the message?
I'm pretty sure they're all the same webhook
Well, it would be better to get an answer from a dev, because they created it (no offense)
Wdym by dev 🤔
I guess they mean whoever coded that webhook.
Like, one of the owners/mods
Yes.
Clicking on their profiles, they all have the same name and profile pic, so that's my hunch
I believe they were created and managed by @stable mountain.
We typically only create webhooks for as long as we need them. Having webhooks that aren't needed hanging around isn't usually good practice
there's at least 3 in this server
typically
as long as we need them
Yeah, usually we only have webhooks for as long as we need them, but there are some situations where they hang around a bit longer. Hence my usage of the word typically
all the webhooks we have right now are required, yeah
!guild
Created: 4 years, 3 months and 15 days ago
Voice region: europe
Features: INVITE_SPLASH, PARTNERED, PREVIEW_ENABLED, COMMUNITY, VANITY_URL, WELCOME_SCREEN_ENABLED, MEMBER_VERIFICATION_GATE_ENABLED, RELAY_ENABLED, BANNER, VIP_REGIONS, NEWS, ANIMATED_ICON, DISCOVERABLE
Roles: 80
Member status:
50142
131814
Helpers: 102
Moderators: 27
Admins: 15
Owners: 3
Contributors: 38
Category: 27
News: 11
Staff: 61
Text: 106
Voice: 10
RELAY_ENABLED
seems related to the lag here today
since some other servers im in aren't lagging at all today
unrelated, that flag is not in use
since when
This server specifically is a bit slow today
around 2 seconds per api call per user synchronously
oof
i tested with lance in #sir-lancebot-playground
Maybe it's due to the sharks chewing the internet lines in the ocean 
🤔
because technically the latency isn't impacted
in dms
everything is instant as normal
around 2 seconds per api call per user synchronously
meaning:
every api call is blocking on a per user basis. Ex. trying to send a message takes 2 seconds and then it will take the next message and take 2 seconds to process that and so on. Its a very interesting issue.
lol, called it
Is it intentional that tags can be triggered even if there's an extra trailing character? For example !start triggers the star tag, as does !stare and !stark
fuzzy matching
ex graphena.pythondiscord.local
How is that done
alec there is a pr for you to review 🙃
link me it :P
and we have another bug to solve
only one?
poor duck
ok i'm only on my computer for the next few minutes so i dont think i can do the review justice in that time
!remind 8h quackstack#37
Your reminder will arrive in 8 hours!
ok cool, standard 8h time you got i c 😛
some day for the hell of it i'm gonna make a reminder like !remind 21600s do something just so people are like "tf how do you remember that"
to which the answer is: that's the longest possible slowmode duration in seconds
lol
That still doesn't explain why you ever needed it in seconds 😛
@ashen isle please update these PRs when you're able to: bot#1520 and bot#1517.
@green oriole I have no idea how I missed that line lol, I thought it said something else I guess
mentioned/linked once is enough imo, should be good to go.
@green oriole poke https://github.com/python-discord/bot/pull/1426
thank
!remind 6h Escape Xith's deadly poking
Your reminder will arrive in 6 hours!
Sweeeet
really? 8 hours is the longest possible time for a slowmode?
it's 6 hours
ok yeah
for discord handled slowmode that is
you can still enforce longer slowmode using bots
why would you need more
🤷, for standup channels where you need one msg per day?
off topic
I just mean the local subdomain
for what
I'm confused as to what the question is
oh how to add subdomains? Right
uhhh
How did you set up sub.pythondiscord.local
Linux / Mac / Windows?
Linux
And will that work even over a network?
so you add a line like 127.0.0.1 pythondiscord.local
no
it's only for the single machine
it can point to external addresses if that's what you mean
but if you want it on a network you need to host a DNS server and configure it on each device / set the DNS of the router
Because I can get pythondiscord.local to work, just not a sub domain to work over the network.
Ah.
yeah you need to run something like BIND or unbound for that level of DNS granularity
What use case are you trying to go for?
Was trying to make a sub domain on my pi to use for an external service lol
Nothing that a / can't do.
Just gave it a /servicename/ and made nginx proxy the request anyhow so it's eaten by nginx
If you are on a local network some modem can intercept DNS requests and return a local url
can someone help me with Json files
75.75.76.76
Soon I hope to get a different modem and router
Well
In this case there isn't much you can do without actually modifying the network
Yeah
Took a long time to get it to where it is now so I'm kinda glad I can't make it a subdomain
Like
I spent hours trying to make it add a header since it's unintuitive
NO:```nginx
proxy_set_header Header stuff;
proxy_pass url;
YES:```nginx
proxy_pass url;
proxy_set_header Header stuff;
@green oriole
Here's your reminder: Escape Xith's deadly poking.
[Jump back to when you created the reminder](#dev-contrib message)
run!
NGL this is a long test name test_create_user_embed_uses_string_representation_of_user_in_title_if_nick_is_not_available
test_create_user_embed_nick_unavailable still long but maybe better?
@fervent sage
Here's your reminder: quackstack#37.
[Jump back to when you created the reminder](#dev-contrib message)
!remind 3h procrastinate #dev-contrib message
Your reminder will arrive in 3 hours!
lol
Has the dutie cog been deployed?
yes
@fervent sage
Here's your reminder: procrastinate [#dev-contrib message](/guild/267624335836053506/channel/635950537262759947/).
[Jump back to when you created the reminder](#dev-contrib message)
!remind 43200s seriously do quackstack pr #dev-contrib message
Your reminder will arrive in 12 hours!
!remind 24h see if alec actually seriously really indeed did quackstack pr #dev-contrib message
Your reminder will arrive in 1 day!
@fervent sage
Here's your reminder: seriously do quackstack pr [#dev-contrib message](/guild/267624335836053506/channel/635950537262759947/).
[Jump back to when you created the reminder](#dev-contrib message)
😅
@short snow #37 merged
they haven't?
this one
You can tell by the fact it was merged an 1 hour ago by vco
The other ones are ages ago (2018)
Cool Thankyou, now I need to get to fix that bill bug
And get someone to make a pet leash
And we have #dev-log
i will as soon as i set up a local bot thing so i don't have to keep groveling for screenshots ;-;
Have fun 😉
Maybe we should create a small script for viewing tags, it would be easier for contributors
With just the tags
A simple bot or something like that
actually i don't have to load the bot i can just steal the code that makes the embeds and splice that into my own bot 👀
whatever
Yes that’s it
Once you have your own instance of the bot you can use the !embed command to test out what an embed would look like.
mhm
Why would u need that if u have a bot up
i just paste the content into chat and use my bot's eval to get the content and stick it in an embed
Just put the Markdown file and done
Yeah, just a bot with eval command
Btw Alec do u know why the bill’s layer is wrong, I am using the same layer formats as aaaaAAAA
no idea 
Found it
The problem is with the bill itself
@crude gyro would you like u fix it as u have committed it?
The Duck’s bill layers are the wrong ig, lemme show a close up one minute
it's being rendered incorrectly
wrong order
bill is supposed to be rendered under the head
I believe I documented the order quite well
I will do that
there's a readme in the duck-builder folder
should be easy to find
but the bill is the bottom layer, below everything else
Yeah found it
if you get the order right it'll look good
👍 thanks
@fervent sage should I refactor, or whatever u call it, the duck generator code according to manduck, it has some repetitive code like the 400 error
Like the same way of generating templates and stuff
so the bot makes requests to the site for data persistence etc, my question is why was that architecture chosen and has it worked well or do you regret it
im in the beginning stages of designing a website for my bot
I think that not having to roll an ORM on bot has been a pretty great help
With Redis it is a good design solution in my opinion
Yeah, Redis on bot works well
Without Redis anything that required persistence felt very punishing to setup because you had to make two PRs and stuff
but I don't think something like Postgres would
It would make the bot way more bulky, that's for sure
@green oriole since u asked about this, me and kwzrd had a sort I’d discussion, here #dev-contrib message, do u agree with it? And what tests would u want to have after seeing this
I'd just have some basic tests making sure that the feature isn't erroring out, that's basically it. You can just send a message through with one link and make sure that an embed is generated and some basic information are present, that's about it.
Ok cool, so just need to test message link extraction and embed formation
Yep
Although I disagree with kwrzd here, I think it should go through the on_message handler :P
Hmm, how would I get the link of message to pass it into the on message handler?
How exactly does redis fit in?
Do you have some data you don’t send to disk?
I don't exactly remember how your feature fetches the message but you'd patch the function it uses to return your own mock message
We use it for persistent caching really. Any small mapping that will need to be persisted across restarts can be putted here.
That makes sense
Thanks to async-rediscache it is really easy to do
Things like say the help channels state id imagine
Ok cool
Does the site also have access to the in mem db
how do we feel about improving @dusky shore's "ttt" command by using buttons (the new feature)? Danny has already made an ext for them, so it shouldnt be too hard to migrate.
Could u link Danny’s ext?
or at least, when the feature is fully released.
Danny just committed the button stuff last night, it’s still pretty wip
I read through the whole commit
It’s on the interaction branch
Yeah, it can be done when it is released for all platforms
its ok I did it too lol
i read the entire commit for some reaosn and theres alot there that is still wip
another thing that should be done, is have @stable mountain check if someone is still streaming like 5 min after they lose the role, and if they are the bot moves them to a different vc and back so they stop streaming. This would would prevent things like people streaming for 7 hours and making everyone else lose perms.
Or just ping staff, because if someone is getting help with something and they just get kicked out of the vc it would be kinda annoying.
Oh sorry if that was confusing, everything is written to disk currently. We have no in-memory database, even for Redis.
Actually this is a policy we want to discuss, the admins will be talking about it during their meeting tonight I heard.
ohh so your using both redis and pg to write to disk?
and both the site and the bot have access to both servers right
Wdym by servers?
Right, we just run them as containers. Only the site has access to Redis Postgres, only the two bots have access to Redis currently
you mean only the site has access to pg?
interesting, makes sense i suppose, alot fo bot data you want to persist is just state and is non relational
Yup
now is this all handled with docker/k8s on a single vm or have you built out a cloud infra
We use Linode hosted k8s
By the way, if a contrib or staffer feels like reviewing https://github.com/python-discord/bot/pull/1426 🥺
!remind 5M ` 
Your reminder will arrive in 5 minutes!
what if I do it instead? /s bc my review does nothing :(
Reviews are always good, although yours won't count toward the requirements
But please don't feel like not reviewing because of that
Where can i find the k8s files
We can't ever have enough reviews
I’m curious
I'm afraid our k8s manifests are currently private, I think there were plans to make them public, not sure if it is something we are still going to do (CC @patent pivot)
We're most likely not going to, since we do have unannounced things there and the costs outweigh the benefits
Ahh ok
Oh that's a good point
@sleek steppe
Here's your reminder: ``
`.
[Jump back to when you created the reminder](#dev-contrib message)
Isn’t iceman’s pr doing this?
I don't know, that's something you'll have to ask to an admin
I thought it only does it when you use !revokestream
Yeah, we could do that for time over too
I've seen screaming snake case a few times this month iirc
hmmm
pythondiscord=# SELECT used, COUNT(1) FROM api_offtopicchannelname GROUP BY 1;
used | count
------+-------
f | 411
t | 710
(2 rows)
they won't cycle for another year
going by message change logs we've definitely not seen 𝖲𝖢𝖱𝖤𝖠𝖬𝖨𝖭𝖦-𝖲𝖭𝖠𝖪𝖤-𝖢𝖠𝖲𝖤 before
it was added on the 21st March and first used today
haha
.latex
Et is
it was
i'm 90% sure i remember the conversation because i think it's where i invented donTusEthiScasE
wHATaBOUTtHISoNEtHOUGH
we call that inverted pascal case i think
using that for my language thanks

@fallen patrol
Here's your reminder: see if alec actually seriously really indeed did quackstack pr [#dev-contrib message](/guild/267624335836053506/channel/635950537262759947/).
[Jump back to when you created the reminder](#dev-contrib message)
yes, he did
quackstack#37
Hey how do you get a duck from quackstack
Is that a post request?
@fervent sage short short pr to review
!eval
!eval [code]
Can also use: e
*Run Python code and get the results.
This command supports multiple lines of code, including code wrapped inside a formatted code
block. Code can be re-evaluated by editing the original message within 10 seconds and
clicking the reaction that subsequently appears.
We've done our best to make this sandboxed, but do let us know if you manage to find an
issue with it!*
!eval py import os print(os.listdir())
@clever wraith :white_check_mark: Your eval job has completed with return code 0.
['Pipfile.lock', 'Pipfile', 'config', 'snekbox', 'user_base', 'tests', 'LICENSE']
!eval ```py
import os
os.system("cd user_base")
print(os.listdir())
@clever wraith :white_check_mark: Your eval job has completed with return code 0.
['Pipfile.lock', 'Pipfile', 'config', 'snekbox', 'user_base', 'tests', 'LICENSE']
!eval ```py
import os
print(os.listdir("user_base"))
@clever wraith :white_check_mark: Your eval job has completed with return code 0.
['lib', 'share', 'bin']
print(os.listdir("user_base/lib"))
!eval ```py
import os
print(os.listdir("/usr"))
@clever wraith :white_check_mark: Your eval job has completed with return code 0.
['local', 'lib']
!eval ```py
import os
print(os.listdir("/usr/local"))
@clever wraith :white_check_mark: Your eval job has completed with return code 0.
['bin', 'lib']
hmmm
Hey, please use #bot-commands
oh ok
there are some gifs which crash discord, does @stable mountain handle them somehow or it is done manually?
It's done manually. Usually it's a link or two that make their way around discord, so we blacklist them pretty quickly. We also have other secret projects in the work, that we may or may not introduce
oh ok.
or /redoc 
or /openapi.json to see the entire json of the api
and we should make a release, we totally forgot about that
press the button
maybe i'll just let it sit there indefinitely 

good boy 😌
Hey @short snow
hey!
#bot-commands message 🐛 bug
what was expected to happen?
It should probably send an error message when there are zero issues sent
arguably the gh and issue commands should be merged
it honestly wouldn't be too hard to maintain the syntax of each
Like how would this embed help
yes ik but there's a .github command which is entirely different
Yes it is
If we were to move the .issue command into the github group, I would say we would wait for sir-lancebot#597 to be merged so that we would have root_aliases
I have a question about the site. Why was django-simple-bulma needed? Would a regular import of Bulma not work?
Hah yea, another really useful feature that PR brings 😛
indeed, someone needs to review that pr 
Hey @short snow I've been wanting to make something similar to quackstack how did you guys generate the duckies?
using the ducky branding assets and applying them over a canvas as layers
PIllow
lol
this is a naturally generating cactus in minecraft, for context
Lol 😂
ok
Hey folks, a minor change to review policy for bot tags. If a PR only changes tags on the bot it now only needs one review approval by a staff member.
You'll know if your PR is eligible since the tag speedrun policy will be marked as pending (example below is eligible)
whereas a PR that is not eligible will have tag speedrun marked as skipped
tag PR go brrrrrrrr
exactly that
it doesn't, I'll add it now
ah nice
done
wat
where is that edited in?
.github
.github
Can also use: gh, git
Commands for finding information related to GitHub.
Subcommands:
repository [repo...]
Fetches a repositories' GitHub information.
user <username>
Fetches a user's GitHub information.
no i didn't what
most of our repos pull from that policy file
how's that work?
but how does the tags only check run on bot/ only?
because only bot has a bot/resources folder
yeah, i've updated the specifier now
committing to main smh
lol
arrest me
we're probably going to have a similar policy introduced on site when we merge dewikification

i.e. content changes require different approvals to code changes
Any reason it's named resources on the bot if tags are all it currently contains?
because its not
yeah, it does contain a few things
Ah for some reason I remembered it looking like the tag subdir directly
!remind 20h make that quackstack issue
Your reminder will arrive in 20 hours!
Ayyy 2021
Nice
2022 will come in 2022 lol
#bot-commands ?
What are you pointing out?
There were a good amount of bot commands but they were all deleted
oh, I'll check out the log
it was me lol
if i hadn't had so many errors it would've been fine smh
Let's not trial-and-error commands in this channel. The proper channel would be #bot-commands or #sir-lancebot-playground
Yea, and if you want to see what correct input looks like you can do !help remind
i got the first one just not the second one because til reminders does not take years
cleared up
It would be cool if someone reviewed bot#1531
bumping this because I'm curious
django-simple-bulma packages in some nice utils
iirc things such as the js needed to operate bulma components
as well as support for things like generating different css packs based on themes
Isn't Bulma supposed to be no js?
that project is maintained by @crude gyro now though, so he can probably explain it better.
yes, it's no js provided, as in you have to roll your own.
it's not supposed to never be used with JS, it's just not like bootstrap where you get CSS + JS
so for things like modals, file uploads and other stuff you need JS
Got it. So django-simple-bulma allows you to use the utils and js easily, not specifically the base Bulma package?
it provides bulma, with some added QoL features
as I said though, lemon understands it better than me
@cold island do u know why this happens? https://github.com/python-discord/bot/pull/1446#discussion_r620524371
also i can't seem to replicate the bug, i only get the logging when it is required
i.e. the webhook msg is deleted but the incident is just getting resolved/deleted
Okay, so, django-simple-bulma solves a few problems.
- Adding a Bulma installation to your repo is a pain in the ass. There's a whole bunch of files that you now need to have in your repo, and even more if you want any of the Bulma-Extensions (which are quite nice). If you want to update Bulma, you have to replace a bunch of files. Gross.
django-simple-bulmareduces that complexity to a single pip install. Everytime we do a new release, we fetch the latest version of Bulma and all the Extensions.django-simple-bulmaalso provides best-practice JS for components like dropdowns and modals, so you don't need to write any javascript if you don't want to.- If you want FontAwesome icons (which Bulma uses for a bunch of its examples), we provide you with that, too.
- You can also compile your own SCSS files via
django-simple-bulma, if you want. - But if you don't like writing CSS, you don't need to. Every single Bulma configuration can be done in the Django
settings.pyfile, so you never have to interact with CSS, SCSS, or JS. You just write template files full of classes.
Basically it removes all the friction from using Bulma with Django.
but also gives you the flexibility to enable or disable whatever you need. You want to implement dropdowns with your own JS? You can. It's your choice.
@tough imp how do I solve this? I have imported extract_message_links but am not able to pass it, I get this error:
UnboundLocalError: local variable 'extract_message_links' referenced before assignment
and also am i doing it the right way?
global?
and different variable names?
hmm, lemme try that 
ok cool that works, but 
if the msg is a incident it would have been awaited once
and it is a incident msg :
Good explanation of this here https://youtu.be/9v8eu4MOet8
thanks, the problem was when i redefined the variable, python took that as the variable to be searched for which wasn't defined. So I had two ways to fix this:
- add
globalon the imported function - renamed the mocked function
I thought the second one was a better way so went ahead with that
Hi, beginner to open source here. Wanted to fix a grammatical issue with one of the files. What type of issue should I select while creating a new issue? Please help
label it as a bug for now. Once the issue has been raised we can change it if needed 🙂
Okay. Thanks
looks like we need to command to make pfp bubble of the first letter 🙃
shouldn't it be just a PR if they want to fix a grammatical issue? the wording seems as if they wanted to do it themselves
bot/exts/backend/sync/_cog.py lines 44 to 59
@Cog.listener()
async def on_guild_role_create(self, role: Role) -> None:
"""Adds newly create role to the database table over the API."""
if role.guild.id != constants.Guild.id:
return
await self.bot.api_client.post(
'bot/roles',
json={
'colour': role.colour.value,
'id': role.id,
'name': role.name,
'permissions': role.permissions.value,
'position': role.position,
}
)```
sick
bot/exts/filters/antispam.py lines 1 to 22
import asyncio
import logging
from collections.abc import Mapping
from dataclasses import dataclass, field
from datetime import datetime, timedelta
from operator import itemgetter
from typing import Dict, Iterable, List, Set
from discord import Colour, Member, Message, NotFound, Object, TextChannel
from discord.ext.commands import Cog
from bot import rules
from bot.bot import Bot
from bot.constants import (
AntiSpam as AntiSpamConfig, Channels,
Colours, DEBUG_MODE, Event, Filter,
Guild as GuildConfig, Icons,
STAFF_ROLES,
)
from bot.converters import Duration
from bot.exts.moderation.modlog import ModLog
from bot.utils.messages import send_attachments```
oh damn
@mossy bluff great PR, thank you for coming back to it after so long lol
There's like a gap of 2-3 months
this is super neat
damn
is it just for pydis repos?
you wanna changelog xith?
ye
I don't think so
oh god there's going to be so many people to ping though isn't there
Kconfig lines 1 to 10
# SPDX-License-Identifier: GPL-2.0
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.rst.
#
mainmenu "Linux/$(ARCH) $(KERNELVERSION) Kernel Configuration"
source "scripts/Kconfig.include"
source "init/Kconfig"```
nice
LOL HOW DID THIS HAPPEN???
right but I don't get why there are so many reviews lmfao
I thiiiink
lol wow
can probably just thank reviewers, vco, mark and pythonic
nah I'm talking about the original screenshot in the PR
SMH
bot#1028
second screenshot
The community bot for the Python Discord community
oh sick
this is a awesome feature nicee
@patent pivot changelog posted.
might be worth dropping a screenshot as well
.gitignore lines 2 to 4
__pycache__/
*.py[cod]
*$py.class```
this feature is gonna change my life
@patent pivot It is done, but shouldn't the PR do for screenshots?
Either way, my screenshot was posted to #changelog.
Discord ladies and gentlemen
lol
probably missing a \n after/before the ```
smh
#bot-commands message
oof
do we... do we not have a limit?
looks like there are no checks for length too, hmmm
ah nvm, dolph commented, was up in channel history
Discord has a built in 2000 char limit
that is kinda lot and can fill the window
True
happy to review a quick PR for that
yep 1000 sounds good, that's what snekbox uses too
also a line limit
yeah that's already there, of 15
ah right
in that case 1k chars doesnt actually seem that high for a block of code tbh
#dev-contrib message btw what is this?
perhaps if it's above 1k redierct it to #bot-commands instead
i... cant remember
i had an idea last night and assumed i would remember it
evidently i havent
no lemon facepalm emojis 
one more thing, about quackstack you missed
lemme get the linik
bruh moment
oh i guess i thought i replied to this when i hadnt, yeah that'd be good
as someone who thinks a lot im clearly not very good at it 
HOWEVER i have just remembered i need to make a randomspace font which is basically the opposite of monospace
it will be awful™️
vco
what you need
is a very very good way of taking notes
normally i just use a reminder and it reminds me and i remember
but sometimes im dumb and i dont actually stick the useful part of the information in the reminder
god i'd love a whiteboard
theyre so satisfying to just... yes... whiteboard cool
you missed the second question 
er, what use would a release be at this point?
to include the new features?
idk
https://www.focalboard.com/ nicee, i just use notion
the only issue is that for some reason it really doesn't like Traefik middlewares, auth just breaks when using ANY middleware
(and i also have some issues with their dockerfile)
That's pretty cool! Thanks for the explanation!
@sleek steppe you can receive message events before the cache is filled
I thought you received guild create before message create 🤔
Can someone please review this pr? It's nothing, but still 
#dev-log message
reviewed
Quick tip if you are working on the bot using Docker: Using docker-compose up bot when starting it up will mean that only the bot container will be brought down when you'll press CTRL + C, making the shutdown and the next restart way faster
Does the same work for site and sir-lancebot?
alternative to that: use my docker compose aliases and dcx to build, start in daemon mode, and attach logs
https://gist.github.com/laundmo/966f8c25bec5819917c847918482b852
Yep!
Cool, thanks for the tip!
Yeah that’s what I do
#to start everything, for some reason bot errors out as it is able to connect to site
docker-compose up -d
# run bot
docker-compose up —no-deps bot
No deps are not needed particular
@fervent sage
Here's your reminder: make that quackstack issue.
[Jump back to when you created the reminder](#dev-contrib message)
Lol
what is your username?
I only see these
know which repo it was on?
these are the ones you've commented on
bot#1410
aha! all good, no worries!
I think this is Merge Request in GL?
It is yeah
it's a request to pull changes onto the main branch of a project, so it kinda makes sense
but yeah, merge request is a nice phrasing as well
Push request sounds good too
It comes from the time when you would actually use git pull to incorporate contributions into your project
there's an SO post about this
Could be a Patch Apply Request, could be worse


