#dev-contrib
1 messages Β· Page 114 of 1
# Extensions groups
bot/exts/christmas/** @ks129
bot/exts/halloween/** @ks129
# CI & Docker
.github/workflows/** @Akarys42 @SebastiaanZ @Den4200
Dockerfile @Akarys42 @Den4200
docker-compose.yml @Akarys42 @Den4200
# Tools
Pipfile* @Akarys42
Should hopefully be able to review now
Pipfile is no longer a thing
ah yis
Have to manually add the pyproject and lock
Done
noice
This'll need some site changes too
btw we'll probably be switching around over the next few days
you may find pipenv --rm to be a useful command π
yes
uh pipenv loads env variables automatically when i do pipenv run, that won't happen with poetry will it
I'll raise a site PR if someone doesn't by then
we added python-dotenv for that
should be in the constants file iirc
poetry env remove
__init__.py but yea, it's there

Should I make a PR to site since lance's env var reference is missing CHANNEL_REDDIT? https://pythondiscord.com/pages/guides/pydis-guides/contributing/sir-lancebot/env-var-reference/
dew it
Actually, while you're at it
can you make sure the page is up to date
just look for any env vars in the project
will do
Oh, did I forget that one yesterday? My bad
https://pythondiscord.com/pages/guides/pydis-guides/contributing/installing-project-dependencies/
Has anyone ever seen this page
I just ran into it for the first time
I don't think it's linked anywhere
I found it in the repo
I think I'll just delete it
It used to be linked somewhere
huh
it is actually about halfway down on the guides
alright, I'll fix the page
do you happen to know it on other systems?
right, so what's the shortcut on mac?
there's only one shortcut in the guide
settings
Now I just need a linux dev
probably still ctrl + shift +s
What description should I put for this one π€ (and I'm assuming it goes in the debug section)
ah ok
I added IGDB_CLIENT_ID, IGDB_CLIENT_SECRET, AOC_COMMANDS_CHANNEL_ID, AOC_SESSION_COOKIE, and CHANNEL_REDDIT
those should already all be there
yep, but none of them are
linux and windows probably have the shortcuts
Hey, so I'm trying to contribute a feature to Python, but am a little unclear on what the steps to do it are based on the Devguide posted. The devguide says that my branch should be named with the issue number (and to create it if it doesn't exist). From what I understand I need to do this before I create my branch, commit and make a pull request. However on the New Issue page on the issue tracker it also asks me for a link to the PR, so I'm not quite sure which order to be doing things in
Hi, could you send a link to the page asking for the PR link?
lance, bot and site all refer to http://pythondiscord.local:8000/pages/guides/pydis-guides/contributing/installing-project-dependencies/
ye
Do we want to update this to have both (poetry and pipenv) right now, or should we wait until we migrate site and bot?
I don't know if site will be migrated
I already updated the guide to both
check dev-log lol
oh lol, I won't update then lmfao
LOL I've also fixed the images
smh
guess i should have checked when i got back
oh well
I wonder if we have more broken images like that elsewhere
@gritty wind https://bugs.python.org/issue?@template=item
Oh
You are looking at bug.python.org, which is for the python language itself
this is not for our projects
If you mean to ask for the python language, check out #internals-and-peps
no worries
they can't 404 if no one ever visits those pages lol
damn we are so close I can taste it
site#501 if anyone wants to review
π€
https://github.com/python-discord/site/pull/502/files the diff says the images have gotten smaller lol
ahhhh kewl
Where do we select rich diff? I canβt see the image diff
in that screenshot, in the top right
there are two side by side buttons
click the one on the right
bot#1582 looks good
I think we're ready to merge, but we probably want to get the guides ready first
Yeah
PR is ready for that, but it upgrades both sir-lance and python
What's the plan for lancebot? My PR bumps to 3.9 and poetry but I see there is another PR just for the py version bump
We'll merge yours, and I think the plan was to just close the 3.9 upgrade
it bumped a lot of dependencies for no real reason
gotcha
Main selling point was 3.9 anyways
Need a staff on site#502 too
One more approval on sir-lance and all 3 can be merged
lmfao
if someone can write up a dev announce as well that'd be pretty dope, otherwise I can write one up later/tomorrow
good work everybody
I could do that although that'd be pretty unfair lol
scaleios is typing lol
you saw nothing
so we are all migrated to poetry?
site is still pipenv
amongst a few other projects
but for python and sir-lance, we're all migrated
Noice
π
oh wait, not this one
Waaaay ahead of y'all lol
.help
AdventOfCode
.adventofcode
All of the Advent of Code commands.
AprilFoolVideos
.fool
Get a random April Fools' video from Youtube.
AvatarModify
.8bitify
Pixelates your avatar and changes the palette to an 8bit one.
.avatar_modify
Groups all of the pfp modifying commands to allow a single concurrency limit.
.avatareasterify [colours...]
This "Easterifies" the user's avatar.
.mosaic [squares=16]
Splits your avatar into x squares, randomizes them and stitches them back into a new image!
.prideavatar [option=lgbt] [pixels=64]
This surrounds an avatar with a border of a specified LGBT flag.
.spookyavatar [member]
Spookify an user's avatar.
hmmm
CI is hell
it's --no-dev
why was I using prod
I'm so confused what's happening ugghhhh
uhhhh
hahahahaha yeah
well yea, it doesn't have --prod on it
lol
Dockerfile line 16
RUN poetry install --prod```
I'll just update it and stop asking questions
site#501 needs 1 staff/contrib review
did I not test the docker file
I'm so confused
I tested it with the compose
which may or may not have not actually rebuilt the image
oh lol, I did the same
docker-compose up
missed off --build
so it just used my old image
alright, tested it again
this time correctly
all things seem fine
hotfix incoming
lol
Is there gonna be a dev announcement for the migration π
no
ah ic
<@&409416496733880320> bot#1589 pls
lookin
iirc it does if their upstream is setup
donezo
I can test if you aren't already
cool
Please do if you've got a minute
mhmm
@fervent sage we've upgraded to 1.7.2, so feel free to make the changes in your PR
nice
rock solid
We're a go for the announcement once we confirm the git pull works lol
hmm, didn't seem to no
had to do git pull upstream main

!ping
75.362 ms
0.843 ms
116.167 ms
Nice
winner
@patent pivot I'm sure you already know that we hit 200k members, when will the announcement come out?
We don't have anything lined up in terms of a specific 200k announcement, I'm afraid, but we do have exciting things to announce over the coming weeks and months so keep your eyes peeled for that.
@cold moon Hello, I hope you've been well. What's the status of bot#1487?
it's a complex topic
Why is talent pool being removed
don't need it
have you ever stopped to consider how sane it would be to read every single message sent by a user for months
lul
The relay channel is being removed, we will still have a pool of candidates
I'd say sir-lancebot#683 can be closed right?
Well isnt that the purpose of big brother?
Yea, i think an issue should be made for bumping the versions of the deps though
Or do people who get watched often get removed from it shortly?
Either by ban or by improved behavior
Big brother is used differently. I do use big brother and the goal is that a user's behavior either improves enough that we remove them or their behavior is poor enough that we remove them from the community.
I'm just making @vocal wolf's job harder
you better have an upto date list of merged PRs lul
y u do dis
β€οΈ
what did you do
some bot, site and lance prs
oops i totally forgot about my async await tag creation 
π€
pipx 0.16.1.0 has requirement importlib-metadata>=3.3.0; python_version < "3.8", but you'll have importlib-metadata 1.7.0 which is incompatible.
Could we get sir-lancebot to 16 π? sir-lancebot#733
trying to upgrade lance to poetry
Are you using python 3.9?
Well then, time to upgrade
so i have to install poetry on the 3.9 python?
yes
@gritty wind pls update #dev-announcements
you don't need to do that
as long as you can install the dep manager
if you can't install the dep manager at all, and it's a supported python version
it's a bug that should be raised with poetry
ay now i know my path got fucked up
as for having python 3.9 on your system, that's the first thing in the announcement
ah I thought it said somewhere that poetry has trouble with using a different version of python that it isn't installed with
Yeah, I said that
But that's a bit more complex than that
If you're on a system that supports pipx at all, poetry should actually be able to handle itself fine
if you can't install poetry at all
that's a completely different matter
can we get <10 
Yes of course 
@subtle kraken will you be going over the requested changes sometime soon? Thanks.
@gritty wind what do you think we should do about this PR? Changing docstrings would probably not be the best solution, unfortunately.
works fine
@sleek steppe@gritty wind had to fix my path. I changed shells and fix it as it happens and pyenv wasn't on it
@vocal wolf two possible solutions. We change the commands that have time units (such as mute) to a more sane formatting, or we close the PR)
You have 1 hour remaining 
I feel like we can just add \s to the eval help command
I think it's across a few commands
Define "more sane formatting". What are you suggesting?
eval was just used as an example
ah
So we wanted a bot wide approach
Basically it currently uses something like
\u2003\`h\` - hours
The suggestion is to switch that format into regular line breaks around the units, so they'd look like:
\`y\` - years
\`m\` - monthsβ
\`w\` - weeks
...
or an even better solution would be to add a <br> character, that is treated differently, so you'd get:
\`y\` - years<br>
\`m\` - monthsβ<br>
\`w\` - weeks<br>
...
oh jeez
formatting 
hahaha
idk man
that looks bad lol
That does look like more sane formatting (as far as I can tell)
fixed it for all you haters
lmao
ima do that right now
if anyone wants to review this ^
The first solution with linebreaks looks better, I don't think we'd want to actually include <br> in a docstring.
well that's easy enough to do now
With any new command we'd have to test if it doesn't explode within the help command
idk i think its more fun to play blind help command roulette 
!int e [await ctx.send_help(cmd) for cmd in bot.walk_commands()]
Hey @eternal owl I'm going over your voice gate PR bot#1587 and noticed that we don't catch discord.Forbidden on this line. I realise it's not related to your changes, but could you add it to the PR? π https://github.com/python-discord/bot/blob/fea8300a7d84c0efec04bd1315fb3dfc48cbd488/bot/exts/moderation/voice_gate.py#L148
bot/exts/moderation/voice_gate.py line 148
await ctx.author.send(embed=embed)```
sure, will do now
Thanks π
spring cleanup for bot when? π
IG on fail, send it to the voice channel and schedule delete
lol had the same thought
π
So, when using the docker-compose setup on the bot, it doesn't run the metabase migrations on the db
Has anyone solved this locally already?
you mean docker-compose?
wait
you mean metricity
brain moment
hmmm
yeah, we don't have the init script on bot
can you add a try-except inside an except block?
yep
thought so, but kinda looks weird, lol
yeah
yes, lol my bad
yeah lol

I guess there's no way around it, unless we include the init file in the image
hmm yeah
@gritty wind close? https://github.com/python-discord/sir-lancebot/pull/683
Look at them merge conflicts
prob
why are we doing this await self.bot.http.delete_message(Channels.voice_gate, message_id) instead of await message.delete()
in voice gate
probably something to do with reliability
doesnt require a msg object i assume
yes, the delete_message endpoint only needs ID while Message.delete needs the object
should I be using that to delete trival messages?
if you have a msg object use message.delete()
U can create an object with discord.Object tho
isn't there a partial message
yes
I mean, if you have message_id, you can get the message object π¬
doesnt have delete for whatever dumb reason
!d discord.PartialMessage.delete
await delete(*, delay=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).
Deletes the message.
Your own messages could be deleted without any proper permissions. However to delete other peopleβs messages, you need the [`manage_messages`](https://discordpy.readthedocs.io/en/stable/api.html#discord.Permissions.manage_messages "discord.Permissions.manage_messages") permission.
Changed in version 1.1: Added the new `delay` keyword-only parameter.
yes but thats an api call
huh
cool cool
That wouldn't work at all, because it still needs the channel ID as well
a discord.Object() is literally just a thing with a snowflake
nothing more nothing less
be careful with the cog, its prone to race conditions due to having to check the cache often and relying on voice events which sometimes fire a few times in succession
ty
thats why the helpers enforce atomicity
I just made a simple change instead of changing the _delete_ping func to handle message IDs as well, as it would not make much of a diff
@vale ibex
Nice, I'll give it a look after this admin call
if __name__ == '__main__'
This is a statement that is only true if the module (your source code) it appears in is being run directly, as opposed to being imported into another module. When you run your module, the __name__ special variable is automatically set to the string '__main__'. Conversely, when you import that same module into a different one, and run that, __name__ is instead set to the filename of your module minus the .py extension.
Example
# foo.py
print('spam')
if __name__ == '__main__':
print('eggs')
If you run the above module foo.py directly, both 'spam'and 'eggs' will be printed. Now consider this next example:
# bar.py
import foo
If you run this module named bar.py, it will execute the code in foo.py. First it will print 'spam', and then the if statement will fail, because __name__ will now be the string 'foo'.
Why would I do this?
β’ Your module is a library, but also has a special case where it can be run directly
β’ Your module is a library and you want to safeguard it against people running it directly (like what pip does)
β’ Your module is the main program, but has unit tests and the testing framework works by importing your module, and you want to avoid having your main code run during the test
@clever wraith I think the PR may no longer be a draft, what do you think?
also ty for updating
I think the tag should be updated to talk more about blocking, since that's what the tag is about
poetry is love poetry is life

if the tag isn't loaded during tests, it's an increase in line count without an increase in lines hit
the coverage rating is how much of the code was covered by the tests
hey, does anyone know what do these "conflicts" mean and how should i resolve them? thanks!
one branch has the content above the =====, and another branch has the content below
Git can't figure out how to merge these differences by itself
so you are expected to solve it yourself
imports are usually the easiest
oh... and so i just delete the things below ======?
oh...?
in this case, it's just going to be:
from bot.bot import Bot
from bot.constant import Colours, NEGATIVE_REPLIES, Roles```
ah alright
that way the imports satisfy the code from both branches
but i don't understand why these conflicts occur... they didn't before, and i didn't even commit they just suddenly appeared
what about this? i want to keep mine (above ===)
whatever change actually works
Fwiw if you aren't already you shouldn't be commiting to main/master
i'm not sure, but the conflicts are resolved now :D
back to waiting for the last approval lol
@dry folio merged.
Thank you for the very large contribution!
@short snow Will you be updating this sometime soon?
π€
Didn't Joe say that pr should be squash merged?
no idea
lol
it's good
but ya prob should have policy of squashing if there are lint or fmting commits
.source help
^ It's getting the docstring for bot.command.Command, can I make a fix or it?
Did you squash the site one you just made :P
Just caused a sentry issue lol
yes, it had 2 useless commits
Doesn't feel like something that needs to be discussed much, can also thrown in an unwrap on the source object like @stable mountain does while you're doing that
ya race condition
I can write a fix for that one too
Question, what's unwrap?
!d inspect.unwrap
inspect.unwrap(func, *, stop=None)```
Get the object wrapped by *func*. It follows the chain of `__wrapped__` attributes returning the last object in the chain.
*stop* is an optional callback accepting an object in the wrapper chain as its sole argument that allows the unwrapping to be terminated early if the callback returns a true value. If the callback never returns a true value, the last object in the chain is returned as usual. For example, [`signature()`](https://docs.python.org/3/library/inspect.html#inspect.signature "inspect.signature") uses this to stop unwrapping if any object in the chain has a `__signature__` attribute defined.
[`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError "ValueError") is raised if a cycle is encountered.
New in version 3.4.
When decorators (with inspect.update_wrapper) are used on the function object itself, it'll fetch the source of that instead of the actual command function. If you unwrap it it'll get to the right function through __wrapped__. I'm not sure if there's any deco present in lancebot that behaves like that now but it can't hurt when you're working around in the cog
ah, maybe we could just use Command.short_doc?
The unwrapping is done in the part where it gets the url as it needs to get the right url https://github.com/python-discord/bot/blob/67934bd582ae5a6fac459c02ba3fa6c17d085d1a/bot/exts/info/source.py#L72-L74
bot/exts/info/source.py lines 72 to 74
source_item = inspect.unwrap(source_item.callback)
src = source_item.__code__
filename = src.co_filename```
ah that's what you mean
!remind 30M iceman's PR
Your reminder will arrive in 30 minutes!
The unwrap didn't really have anything to do with it directly. I assume not using short_doc was done for a reason but I think the help command changed since that implemented so removing the special case may be the best.
I think it just wasn't changed when porting the source command, because it's using splitlines[1] when the doc string for the help command is one line
I think I'll remove the check since this looks fine
THANK YOU! Z E T A P O G G E R SSSSS
just in time for our cat dev's one month mensiversary :D best present ever
@vale ibex
Here's your reminder: iceman's PR.
[Jump back to when you created the reminder](#dev-contrib message)
I am still around if you need any more changes, chris
haha it was always like that until it melted for a short time
@eternal owlbtw not ignoring your DM, just getting my thoughts together so it's coherent
π
hey @patent pivot, can I get an approval on this. It is regarding the soft delete of the off topic names. Implementation mentioned in the PR. Just making sure before I start working on it
having a look
ty
looks good π though I don't like the to_display name, I'd say we use something like active
alright, will edit the issue description
Hmmm, how can I shove data into metricity for testing this command
Since I'm in docker, not sure how I can get the metricity bot to hook into it
might need to run it on the host
Think I'm just gonna manually insert into db
probably easier
lookin for some approvals on https://github.com/python-discord/site/pull/503
iirc when I tested something with metricity I execed into the postge container and ran insert queries
Yea, that's what I'm doing now π
actually i'm just gonna force merge this lol
Yea, I ran that one π
easter egg in site#503 checks lol
How did I get rickrolled by clicking "Show all checks" 
LMFAO
I'm never clicking links again
my magnum opus, inserting rickrolls into our review requirement compliance checks
this is why i dont touch links at all if there's any possibility that you could have touched it
lmfao
ive legit run links you sent before crosslink before to check
but now that ive told you that my technique will no longer work
it literally said "check overridden by joe" I should've listened π
lmfao
12 prs on bot
8 of which are stalled/deferred/waiting on author/WIP
hmmm site#474 and site#477 seem to be duplicates
Opened by the same person too
or at least 477 is a subset
ahhh, their fork is deleted too
@patent pivot @gritty wind I see you both commented on the two above PRs, should we close them now that the fork has been deleted?
Yea, it doesn't really help that they lose order too
- issues = set(issues)
- issues = list(dict.fromkeys(issues))
bot/exts/evergreen/issues.py line 246
issues = set(issues)```
simple change really
probably ya
Feel free to open an issue to solve the ordering and formatting
I think if it's needed, unique_everseen communicates what's happening there much better than fromkeys. Not sure if lancebot has more-itertools but it is a tiny library
Agreed, it doesn't but as you say it's small enough to add
And could be useful elsewhere
Sure π
classmethod fromkeys(iterable[, value])```
Create a new dictionary with keys from *iterable* and values set to *value*.
[`fromkeys()`](https://docs.python.org/3/library/stdtypes.html#dict.fromkeys "dict.fromkeys") is a class method that returns a new dictionary. *value* defaults to `None`. All of the values refer to just a single instance, so it generally doesnβt make sense for *value* to be a mutable object such as an empty list. To get distinct values, use a [dict comprehension](https://docs.python.org/3/reference/expressions.html#dict) instead.
@clever wraith :white_check_mark: Your eval job has completed with return code 0.
['a', 'b']
so basically the dict is acting like an ordered set
since a dict can only have 1 value per key, setting it multiple times doesnt add new keys
and since iirc 3.6 dicts retain item order
when you call list you get the (ordered) keys of the dict, which are all unique
Yea, 3.6 implementation feature of CPython, 3.7 language feature
what're the chances of me making a PR that makes everything into a standard storage format, by which i mean:
- turning the 3 yaml files and 1 txt file into json files like every other file
- making the indentation in the json files consistent π©
But as Numerlor said here, unique_everseen would read better
Pretty high
we dont have more_itertools
but if we did there's other places i can think of using it to shorten things
If suggest making an issue for that one to see what peoples appetite is
Yea it's a small package, I wouldn't mind having it
Could be useful
more itertools is one of those tiny things that so many people who need it dont know about
specificially more_itertools.chunked()
Oh yes
@patent pivot as of the no-opt-out pr metricity no longer has any commands, given that, is it cool if I make a PR:
- removing
bot_commands_channelconfig option, it's now redundent - removing
command_prefixconfig option, there are no commands, prefix now set to"" - adding
help_command=Noneto the contructor, else you just get this:

eventually
we might like
add commands to metricity to pull out charts
but for now, that sounds wise
tfw you make a quick commit and it takes 10x longer because you accidentally spell import as impoty and have to fix it 
lmfao
Shouldn't we just use discord.Client if we aren't using the commands extension?
toxic making more work π
can you think of that 5 minutes ago please :)
eventually we will use commands
thats a good enough reason for me, no point changing it again 
yeah will do that, am thinking of merging all the files together, into just different classes, possibly game and cog, i don't really like the jumping around
oop- flashbacks to all the lint fail fixes and copy error fixes
precommit doesn't work π’ (it says precommit command not found or smth)
hmmmm interesting
but also, WE GOT MERGED BEFORE 200! WOOHOO
next time you are playing with bot, try run poetry install and poetry run task precommit
So i want to run this command before loading all the extensions, which is the best way I can do that?
umm, like htis?
π apparently I'll be continuing progress on the colors issue very soon
sorry i've been distracted and also trying to graduate from high school
Doesn't it use pipenv?
#dev-announcements tl;dr They migrated to poetry and Python 3.9
yeah, migrated as of a few hours ago
ping me when you respond
Wow, so i'd have to reconstruct the entire virtual environment and config settings- woohoo!
Lol prolly won't be too long tbh
I'll do it tmr
yeah it's not too big of a task
#dev-announcements has the exact 5 commands
yeah
WAIT WAT IT'S THAT SIMPLE?!
Wow, i really overestimated the complexity
I thought I'd have to do a lot of manual crap
Thanks @vocal prairie and @patent pivot
π

@short snow
Here's your reminder: do it.
[Jump back to when you created the reminder](#dev-contrib message)
ill be honest i was hoping i'd be asleep before this reminder triggered
sleep schedules 
that's not needed rn right?
according to the discussions did yesterday
yeah I don't think we should pursue dependency upgrades like that
I'll get a consensus from core devs and then close based on that or let you know otherwise
I will whenever I will have time to go through it
Which is presumably later this week if school doesn't stop me once again
am writing boring essay
good luck friend
u2
nightmarish
yo guys
i opened a issue about a anagrams minigame but no explicit approval / denial
damn chris
ah lol, you got in there just a few seconds before me
We should really consider just pinning all these ideas in one place so they can stop being suggested
Ask tag, OSS channel
Probably 90% of suggestions for the help channels
@vale ibex I'm trying to understand what change you wanted on bot#1587
delete the two lines I marked, since the message is already being deleted in the lines I linked
otherwise the bot errors out, since 2 parts of the code try to delete the same message
Sorry if that wasn't clear in the comment
I've update the comment anyway
hopefully it's more clear now

I did test further after making that change locally and it all looks good
@sleek steppe , regarding your review, bot.Bot and bot.bot.Bot both fail, should i keep as commands.Bot?
Also since we migrated to poetry, I think you need to run poetry lock since you updated dependancies
Well, it isn't in your changed files
I havent committed that yet
also @sleek steppe Commands.BadArgument does not accept an embed
I said that the error handler catches it
any changes you asked for have been made toxic
donβt make toxic changes D:
lol
Lmao
was the spring cleanup pr a toxic change 
ah I was interested what that colour was about lol
I made a change on Saturday, so git actions are cancelled if a new commit on the same PR comes in
since we don't care about that action any more, we only care about whether the new action passes/fails
limited to lance right now, just to test the waters
.github/workflows/build.yaml lines 11 to 13
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true```
Alright @sleek steppe , finished review(again)
It's still gonna raise Exception if you pass an empty string, so maybe you should change it to if not text.strip()
Do i need to change anything from my recent pull request because of the recent change in #dev-announcements?
Nah, you're good
K that's what i thought but wanted to make sure.
But you still need to resolve merge conflicts
alright
I dont understand how to read the conflict log thing.
This is what was highlighted
<<<<<<< http_status_command_randomness
=======
from bot.bot import Bot
from bot.utils.extensions import invoke_help_command
>>>>>>> main
@sleek steppe actually no, if there isnt any body given, it sends a default message
for this, youll wanna delete anything under main and keep from your branch in most cases
You can keep the from bot.bot import Bot part and delete that other line. The lines above the ===== are the changes you made, the lines below it is the branch you're pulling from
ok π
thanks toxic, can people review sir-lancebot#699
I swear to god, I can never figure out how to properly make a multi-line review comment work
they're so weird
you have to drag click
You drag down on the side of the line where the + is
why cant you use ctrl+click to select multiple lines
Right and that works within the GitHub one
But it doesn't work quite right in the PyCharm integration
Yeah, on pycharm it is not supported ig, never figured it out
Doesn't work for me on the vscode github extension either
Oo, I need to complete my review on cowsay
content
!remind 11h do now
Your reminder will arrive in 11 hours!
Hey, thatβs a good first start
Yesterday I was setting up metricity for my server and I found some stuff in metricity that didn't need to be there while doing config so I made a pr to remove it and totally forgot to keep setting it up for my server 
Hah
Yeah
Yes
We never really discussed it
I don't see any reason not to
It'll simplify the contrib guide too
yuuuup
Setting up the site with Docker is so easy, but with pipenv it can be a little more complicated, so this would be nice.
snekbox/nsjail.py:181:101: E501 line too long (113 > 100 characters)
π
why is it even 100?
You don't actually need to do that for the site
snekbox/nsjail.py:181:101: E501 line too long (101 > 100 characters)
π
It's more for the bots
Oh you don't?
Going to 0.0.0.0:8000 doesn't work for me
the bots can't access something like api.localhost, but your browser should be able to
127.0.0.1:8000 works for me though
Oh, I should do that
Anyways, it's easy enough to do and get out of the way
Shouldn't this be 120 characters?
No /etc/hosts
You don't even need it if you're running with Docker apparently
Or something similar, donβt remember the file name
Yeah just write it towards the end
.flake8 line 7
max-line-length = 100```
the other projects do use 120
yeah, I was wondering why it isn't 120 like the other projects
hit save and you're good
There may be more to it, since we want to move to 3.9 at the same time
the site was previously on 3.9, but we had to downgrade
I'd prefer if you leave that to us for now
It was a hotfix, rather than linked to a PR, so we're still trying to figure out why it was needed
since it was done a few months ago
So we're just going to look into why the downgrade was needed, and if its still an issue
If you want something to do something on the site Rick, site#459 would be nice to have
Could you take a screenshot?
Can't say I've run into that
Have you tried the support forums?
what address did you go to, and what's the output of docker container ps
Does http://pythondiscord.local:8000 work?
yes
I was asking if it worked for Rick
ah
π₯³
Depends on what you want to do in the site
But probably not, most of what you need shouldn't be much more than the template language and knowledge of html/bulma
Then not really, but you should know have basic django knowledge
Yeah, but the thing where it renders the markdown is what you want
Why do you need it for admins only?
That button should appear for everyone
Not everyone has write access
See ya Rick
@vale ibex shouldn't we update the site in this PR to say poetry intead of pipenv in the guides?
pydis_site/apps/content/resources/guides/pydis-guides/contributing/installing-project-dependencies.md line 23
5. If installing dependencies for the site, click `βPipenv Environment`β, otherwise, click `βPoetry Environment`β, then click `βOK`β.```
Yes, we should π
Also snekbox#108 π
I could get you updated screenshots
Yes please π I don't use pycharm
I have
lol
lol
but if you push to branch you lose voting rights lol
ah, it doesn't matter anyway, since we need devops
I'll just send you the screenshot lol
kk
time to test my migration guide
cpr = "!cd ${GIT_PREFIX:-.} && git fetch origin refs/pull/${1}/head && git checkout FETCH_HEAD #"
gh pr checkout 505
!e print( len("gh pr checkout 505") - len("git cpr 505") )
@vale ibex :white_check_mark: Your eval job has completed with return code 0.
7
smh 7 precious key stokes longer
cpr = "gh pr checkout"
lol
It's not instant π
takes like 10s for me lol
My god, you are a genius
nono, it's cpr, so I'm saving it
I've updated the docs now anyway, so just need to drop in the images
gonna head out to the shop to buy some ingredients now though
back in 20
you can copy this straight into the root directory, and it'll work as expected, but you may also wanna rename the file from pipenv
The line you say to keep is unused in the file. So I shouldent keep it right (becouse it fails the lint)
Lmfao
Did you pull correctly? Because it's used here https://github.com/python-discord/sir-lancebot/blob/main/bot/exts/evergreen/status_codes.py#L16
bot/exts/evergreen/status_codes.py line 16
def __init__(self, bot: Bot):```
weird. my version had def __init__(self, bot: commands.Bot):
hey scaleios, thanks for the file, however it seems to have changed my computers background to rick astley and plays the never gonna give you up intro on boot. Any way to fix this?
Oh yea, sorry about that. I'll DM you the number for Microsoft support, and they should be able to fix it remotely for ya
Smh, you're really gonna make me download winrar aren't you π
I'll send you the raw images lol
If I get an email from the licence police its on you π
@vale ibex you can open them from 7z for free
it supports damn nearly any compression type under the sun, you can extract .docx files
or rather the xml
Lol
well im gonna go for a walk before class, see yall later
laters
Well i think i finished this for sir-lancebot#733
yeah, a core dev has to approve before this gets merged
Noice
What page is that?
The site uses Bulma just so you know
It shouldn't be too much css
@vale ibex btw when you update the guide, snekbox still uses pipfile
anyways, i can't start my snekbox
a lot of our projects still use pipenv
ik what you meant smh
Yeah uh, I realized I was talking to the wrong person
however, i can't start it regardless
okay so anyways how do i start my snekbox
what version of docker-compose do you have?
strip the path, and replace it with github prefix
what os?
That feeling when you realize you use debian so everything is out of date all of the time
debipain debian lol
- https://pythondiscord.com/pages/guides/pydis-guides/contributing/
+ https://github.com/python-discord/site/tree/main/pydis_site/apps/content/resources/guides/pydis-guides/contributing```
hmm
can probably get you a better diff than that
Site prefix: https://pythondiscord.com/pages
Github prefix: https://github.com/python-discord/site/tree/main/pydis_site/apps/content/resources
how did you install it?
regardless, this will be the answer most likely https://stackoverflow.com/a/49839172
Is that the banner?
probably
We wanted to remove it completely
that should honestly be expedited
we removed it on desktop
ugggh pain
why is that image so small wtf
there aren't new lines between the images
and since the middle one is smaller than width, it's in-line with text
we should try make the timeline visible in some other way on mob
nah, it'll likely be an issue on different sizes anyway, I'll just throw in line breaks
we can keep that banner
but probably not through that banner thing
just remove 100
It's in the navbar now
yeah, but we can make it more visible than navbar
I would have thought we can pivot this to have that righthand box on mobile as well
yeah, that sounds wise
Does Bulma support css grid format? I'm trying to line up the event boxes on the event page
Yup, that's a Bulma thing
heads up if you send so many seperate messages you'll be muted automatically
is-hidden-mobile I think, lemme check
Yeah, it's is-hidden-mobile if you want Desktop only
lol @vale ibex now its worse. Much worse.
Much better
The site is migrating to FastAPI right?
Hmmm. How do I make this not look ugly
The events page redesign
I know they all look like the same thing
But my problem is that the things are stuck together
If you want to you can
But I'll fix it anyway
I know how to do it
But columns aren't really responsive enough
CSS grid would be better
Uh, just changing the size of the window
I use Chrome
And it's inbuilt mobile feature too
Maybe I'll manually implement breakpoints and use that for columns
Nah, Bulma has breakpoints built in
The only thing is the "Show More" button
hey, looking for a good issue as a first time contributor for the bot repo
any good ones to try out?
That's annoying
adding line breaks restarts the numbering
is there md syntax to make it not?
@fervent sage the tag content looks great, but I think that now we've got the guides pipeline unblocked on site we said a while ago that we'd do short tags on bot and if they needed longer form content we'd link to a guide on site instead of having huge embeds on Discord. We're more free with site guides as we can have sections with a ToC, images and so on (example: https://pythondiscord.com/pages/guides/python-guides/mutability/). Would you be willing to convert the proposed tag to a guide and then shorten the bot tag to link through to the site?
There's bot#1588 π
alright
I think modpings might be a bit too low level for a brand new contributor
!remind 2h this
Your reminder will arrive in 2 hours!
id be fine, except ive no idea how to work with redis
ty vco very pog
speaking of tags
I suggested this a few days ago in #community-meta, could we have a tag for why eval/exec shouldn't normally be used?
psvm said nedbat has a blog post about this
I'd recommend going through https://github.com/python-discord/bot/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+no%3Aassignee and asking about any that interest you.
I'm alright with that, I don't think it needs to be super long, as you mentioned we can link through to https://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html
eval() is tempting, but itβs truly dangerous. Hereβs how common safety attempts can be circumvented.
yeah
We already have pretty much what we'd put at the top of an ask tag in the help embeds
and we link through to https://pythondiscord.com/pages/asking-good-questions/, which we wrote about exactly that
damn that was one i was considering
yeah, your comment was what prompted my thinking, apologies
but yeah, it's less so the content of the ask tag, and more how it is used
when we had an ask tag we just constantly saw things like !ask @user with no preample
on this, does that mean i can go into a bit more detail and add some extra info too since i dont need to account for embed size
yeah for sure
sections, images, other markdown features are all fine in guides
you get a ToC autogenerated so you can split it logically and have it longer
joe, for bot#1588, im assuming id be using async-rediscache. Where are the docs kept for it?
I don't think there are any hosted docs at the moment, but you can inspect the source code at https://github.com/SebastiaanZ/async-rediscache, the best source of docs is looking at how other cogs use it in the bot
π, if you leave a comment there then I can assign you
actually looking at the command i think its beyond my ability atm
that's fine, feel free to take another look, or maybe look at lancebot issues as well
ive been working on lancebot, seeing if theres anything to do in the bot repo
i decided to look at bot#1316
That sounds like it would be tag, not a normal command
ik, ive never done anything with the bot repo before and wanna start off easy
hey, dockers being pissy with the bot, telling me that docker is not started. what am i supposed to do?
If you're on Windows, just open Docker Desktop
thats the problem, scoops a bitch and it didnt install docker desktop
yes
left a comment on the PATH tag
Could a core dev look at it and remove the planning label?
(bot#1316)
Isn't there a tag for it already?
Β» voice-verification
Β» windows-path
Β» with
Β» xy-problem
Β» ytdl
Β» zip
!windows-path
PATH on Windows
If you have installed Python but you forgot to check the Add Python to PATH option during the installation you may still be able to access your installation with ease.
If you did not uncheck the option to install the Python launcher then you will find a py command on your system. If you want to be able to open your Python installation by running python then your best option is to re-install Python.
Otherwise, you can access your install using the py command in Command Prompt. Where you may type something with the python command like:
C:\Users\Username> python3 my_application_file.py
You can achieve the same result using the py command like this:
C:\Users\Username> py -3 my_application_file.py
You can pass any options to the Python interpreter after you specify a version, for example, to install a Python module using pip you can run:
C:\Users\Username> py -3 -m pip install numpy
You can also access different versions of Python using the version flag, like so:
C:\Users\Username> py -3.7
... Python 3.7 starts ...
C:\Users\Username> py -3.6
... Python 3.6 stars ...
C:\Users\Username> py -2
... Python 2 (any version installed) starts ...
Ah
The issue is a bit different
It's specifically about how to add to PATH
but I don't particularly think it's needed either way
since my advice is rerun the installer and select the option
which can be typed out in 5 seconds
There is a script that comes with python that can be used to do it without reinstalling (on win), may be good to note in a tag. But with path issues there's usually more to it than just adding python's folders to path
joe is one and all


tho
didn't show up in
kk
