#dev-contrib

1 messages · Page 118 of 1

sleek steppe
#

!pypi taskipy

stable mountainBOT
fallen patrol
#

Yes, we didn't need that with pipenv

#

Why do we need it with poetry?

gritty wind
#

It’s not a feature in poetry, it is in pipenv

fallen patrol
#

Ah

gritty wind
#

The second one there shouldn’t use a task though

#

We don’t have a task called pre-commit

fallen patrol
#

Oh ye

#

Should be lint

#

Iirc

gritty wind
#

Or just pre-commit without the task if you want to run pre-commit

fallen patrol
#

Yeah

fallen patrol
#

@vale ibex one of the workflows failed on @dusky shore after your commits were pushed 👀

#

specifically, build

vale ibex
#

looks like an issue with ghcr

#

rerunning it now

fallen patrol
#

cool

#

nice

vocal wolf
tawdry vapor
#

Are you waiting for another review before addressing mine?

vocal wolf
#

Making sure what needs to work, works, before taking more time to see if refactoring should be done.

short snow
#

Repository labels need changes according the python versions

#

Bot still has python37 label, and Lance has python38

exotic ember
#

have you addressed kwzrd's latest review in that PR?

short snow
#

I have commented on the changes

exotic ember
#

i don't see any "required changes" added in the PR after this review

#

the review comment directly after that which you marked as resolved is also not seen in the PR

short snow
#

One second, lemme see

#

Aha, that last comment, I had mentioned it locally, forgot to unresolve it when you told me to only resolve on pushes

#

I haven’t pushed since i was waiting to push all changes together

exotic ember
#

when you told me to only resolve on pushes
I don't remember saying that lemon_thinking

I haven’t pushed since i was waiting to push all changes together
that's not really a good idea, since kwzrd wouldn't know that you've addressed his review comments then

short snow
#

Yup 👍

vocal wolf
#

@brazen charm would you mind if I took bot#943, or would you like to do it?

dusky shoreBOT
vocal wolf
vocal wolf
#

@fervent sage oi you available?

#

if so, bot#1623 needs reviewing.

clever wraith
#

xith the changes you've asked for on sir-lancebot#758 are done. please review when time suits you.

dusky shoreBOT
short snow
mint tartan
#

what do you guys use for python bot eval

brazen charm
keen valley
#

What does it mean?

log = logging.getLogger(__name__)
gritty wind
#

__name__ is a built in for the current file’s name

keen valley
#

So where we can see the logs ? In which file

gritty wind
#

Depending on your config it may not be a file

#

What project is this?

keen valley
#

@dusky shore

gritty wind
#

I don’t think that writes to a file

stable mountainBOT
#

bot/bot.py line 14

log = logging.getLogger(__name__)```
gritty wind
#

That part has nothing to do with the output stream besides formatting

#

Line 49 of the init defines the handlers

#

It outputs to bot/log/hackbot it seems

keen valley
gritty wind
#

I don’t understand your question

tough imp
#

it's giving the log instance a name, in this case it's being set to the name of the module

#

so in the log output you can see which module is writing which logs

#

it looks like the logs should show up in bot/logs/hackbot.log

stable mountainBOT
#

bot/__init__.py line 46

log_file = log_dir / "hackbot.log"```
keen valley
stable mountainBOT
#

bot/__init__.py lines 73 to 74

logging.basicConfig(
    format="%(asctime)s - %(name)s %(levelname)s: %(message)s",```
tough imp
#

name is the logger's name

#

which is being set by this in each module:

log = logging.getLogger(__name__)
#

so each module has its own logger instance with its name set to the module's name, and as a result, each line in the output will contain the name of the module that made the log

keen valley
#

Okay, Thank you

sleek steppe
fervent sage
tough imp
#

or rather lets you join them with it, its not the only way to do it

#

I let myself hold the opinion that it's unnecessary, ugly, unexpected, and borderline operator abuse

fallen patrol
placid ermine
#

same

fervent sage
#

im pretty sure when laundmo first showed me it i was like "what the fuck? thats horrible...!"

fallen patrol
#

Cool because it shows you can change that behavior

placid ermine
#

it came up in pygen too, today

fallen patrol
#

Horrible because it's horrible, bad, and operator abuse

#

But it does show something I wouldn't have realized otherwise

vale ibex
#

Is anyone against me turning off auto-restart of lance and bot?

#

I'm getting frustrated whenever I start up docker desktop that I need to stop both of those before I can use postgres/redis in another container

#

since we use the same ports for each across the board

brazen charm
#

What was the initial reason for setting it to always? unless-stopped or on-failure seem more fitting depending on what it was

#

You can override it in a docker-compose.override.yml file in the meantime

vale ibex
#

Ah, yea that's a good point, I'll do that for now

#

Yea, one of those other two seem better

#

It's currently always

fallen patrol
whole forge
#

original reason was so that it restarts if api/db arent reachable but thats long since solved way better

#

i have nothing against it

vocal prairie
fallen patrol
patent pivot
#

this is for development

#

production uses different set of preferences entirely

vale ibex
#

yea docker-compose is only for dev, k8s is what's used in prod

#

I'll push PRs in a bit now then

#

I'm thinking unless-stopped is best here

whole forge
#

schould be a 1 line change

fallen patrol
#

does it not run in docker on kubers?

patent pivot
#

not with docker compose, no

fallen patrol
#

hm

fallen patrol
patent pivot
#

production uses a manifest for kubernetes

#

it's in a private repo though

fallen patrol
#

ah

patent pivot
fallen patrol
#

inb4 pythondiscord/mainifests

patent pivot
fallen patrol
#

ah

#

lol

#

that's the official installer lmao

#

ah

#

use

#

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -

#

install-poetry.py not get-poetry.py

#

lovely lol

#

1.2 is breaking

vale ibex
#

got bot#1625 and sir-lancebot#770 up for the changes to docker-compose

vocal wolf
#

@vale ibex both PRs you made can be merged now.

fervent sage
#

oh lmao i thought i finished the review on it

#

i just left the tab open without clicking the submit button

vocal wolf
#

lol

#

@fervent sage ty for review

#

I've never gotten unit tests to work this fast, I think I'm finally understanding them

fervent sage
fervent sage
#

that was a very relaxing non-code review, very nice

dry folio
fervent sage
#

yeah lol, when i only need to review (mostly) non-code stuff i dont have to checkout the branch (or worse, fork) and i can just run through and look at stuff

#

that being said I have a grudge against the current quiz system that will need a code change

dry folio
fervent sage
#

why are question answers in the format "answer1, answer2" not ["answer1", "answer2"]

dry folio
fervent sage
#

json is nice because it does have structures like lists lol

dry folio
fervent sage
#

what if i want to use a , in an answer though?

dry folio
fervent sage
#

thats not a good answer lol

dry folio
#

when i made the linear system of equations dynamic question, i changed the format to a & b instead of a, b

fervent sage
#

if the workaround to a problem that shouldnt exist is "dont do it" thats bad lol

dry folio
#

so just avoid it

dry folio
#

@fervent sage all your changes have been implemented, mind doing review time ™️ #2?

#

trivia_quiz.json is typing...

fervent sage
#

eh the trivia quiz is static questions which should be editable by pr

#

so json is good (that being said, i wouldnt mind yaml kek)

dry folio
#

@fervent sage i deleted the word "public", it seems as if when i deleted it the first time it didn't save or something

dry folio
#

@sleek steppe all your changes have been implemented :D

fervent sage
#

@patent pivot this is like one of the randomest things ive suggested so far lol, but what're the chances we (pydis) can have some sort of "Learn to API" type repo that people can just add cool features to as requested, kinda like lancebot but fastapi

This is 100% not at all related to the benedict cumberbatch discussion mmLol

patent pivot
#

hmmm, an interesting idea

#

probably one to raise as an org ticket, and one that I can also raise with core devs

fervent sage
#

time to put on my spec writing hat

patent pivot
#

I think it's a bit out of scope, and without a clear direction for an API could potentially be more harmful than educational, but I'd be open to a discussion on it

fervent sage
#

opinion

fallen patrol
#

fastapi abstracts too much away imo

fervent sage
#

not if youre making it so there's a really low bar to entry

fallen patrol
#

ig..

gritty wind
#

CI is currently running the branch for pytest-xdist

#

Hoping to see some nice performance improvements

#

Oooh it's done

#

Coverage broke, but it's down to 50 seconds from 90 which is pretty nice

#

Ah right, that makes sense

#

I didn't include the test directory in the new coverage

#

It didn't make much sense for it to be included in the first place

#

You aren't testing your tests

fallen patrol
brazen charm
#

Why not? You should make sure that every test runs, and there are helpers under the tests dir which are tested

short snow
#

the first .rcaps r

clever wraith
#

#bot-commands message

#

seems like working

short snow
#

yeah ik that, i am talking about This year 2021 is not yeat supported

clever wraith
#

oh aight!

exotic ember
short snow
#

yeah even I can't dunno how that popped up

short snow
#

do i need to have redis locally?

#

did a system reinstall due to some problems so had to make the setup again

exotic ember
#

the yellow box

short snow
#

@exotic ember regarding #dev-log message, should make a dynamic question object or should I make those class constants file constants but they don't get used anywhere else

#

another option would be to add () in each call

#

Also regarding your main comment, i think that should be mentioned in a separate PR, it isn't really related to what I am working on

exotic ember
exotic ember
short snow
#

ah didn't reach that part yet. SHould I open a issue for it? I don't think I would be able to mention it anytime soon, got units coming and already have few issues assigned

exotic ember
#

I'll open that issue, no worries

short snow
#

alright 🙂

clever wraith
#

in ttt, there is a usecase that when before all emojis are loaded, if we kinda click on any emoji, it does not play that move.

exotic ember
#

in practice, that isn't too much of a problem, simply removing and readding the reaction will work

#

trying to handle that scenario brings up some pain points to me, like what if after emojis load there are multiple reactions added by the user

clever wraith
#

makes sense

#

also i have a linting question

#

in js, eslint is good enough to enforce us to use const if we don't manipulate variable, while altho its not a headache, can some linting be done in terms of lists to enforce to convert them as tuples(if they are constant)?

exotic ember
#

I don't think that's currently possible

clever wraith
#

oh i see, so do we define the rules or we use some standards? i think we use pep8 right?

exotic ember
#

we enforce certain linters in our projects, I just don't think any of them check for unchanged mutable variables

clever wraith
#

oh i see. alright thanks.

short snow
#

kosa question about no infinte loops of fetch, earlier i did such that it will run until it has 10 questions and error responses are below 3, should i do the same?

exotic ember
#

what happens if error responses reach 3?

short snow
#

it would unload the cog and do a error log

exotic ember
#

why not disable the wikipedia topic and allow others?

short snow
#

sounds better, will do that

sharp zephyr
#

i found something that i see is going to be really great integrated into the discord . i dont want to tell anybody about it until i've looked further into how the python bots operate . id be upset if someone else got into integrating it before i could get into it . i see it is a large addition and is going to work to solve a problem for the community 🙂

patent pivot
#

if you open an issue we can reserve implementation for you

#

when you open an issue you can optionally select to add it yourself and then it's yours until you do it

sharp zephyr
#

i will create an issue thread when i have become more familiar with the bots' code and post a screenshot of this pair of messages in the issue.

vale ibex
#

hey @clever wraith just in case you didn't notice sir-lancebot#760 failed linting

dusky shoreBOT
vale ibex
#

I'll give it another look once it's passed

clever wraith
#

shit

#

should pass in a few seconds

#

yep, passed

vale ibex
#

Cool, I'll take a look after work

clever wraith
#

kay, thanks

fallen patrol
twilit juniper
stable mountainBOT
#

bot/exts/help_channels/_cog.py lines 466 to 470

if channel_utils.is_in_category(message.channel, constants.Categories.help_available):
    if not _channel.is_excluded_channel(message.channel):
        await self.claim_channel(message)
else:
    await _message.update_message_caches(message)```
vale ibex
#

update_message_caches() has a check that the message is from an in-use help channel

fervent sage
stable mountainBOT
#

bot/exts/help_channels/_message.py line 51

if is_in_category(channel, constants.Categories.help_in_use):```
twilit juniper
#

ahh ok

vale ibex
#

IG that could be moved for clarity

twilit juniper
#

We could if we wanted to

spare plaza
#

well if the redist is global, might as well be on the bot instance. right?

twilit juniper
#

^

spare plaza
#

as that represents the whole instance

vale ibex
#

IE ```py
if channel_utils.is_in_category(message.channel, constants.Categories.help_available):
if not _channel.is_excluded_channel(message.channel):
await self.claim_channel(message)
elif channel_utils.is_in_category(message.channel, constants.Categories.help_in_use):
await _message.update_message_caches(message)

#

and then we can remove the check in the func

spare plaza
vale ibex
twilit juniper
#

Yeah, should someone make an issue for that?

vale ibex
#

IE another piece of code calling that func or something

spare plaza
# vale ibex wdym? This is on the bot right?

its in the help_channels cog. pretty sure you can have event listeners on the Bot class itself.
If it only needs to cache message channel message. then it makes sense, I just assumed from the name it was all channels

twilit juniper
#

There prob is a reason for it.

#

I am just to lazy to look for it

vale ibex
spare plaza
#

mhm, it was a misunderstanding from the name. I thought it was all message caches

vale ibex
#

Nah, the caches used are specifically the help system ones

vale ibex
fervent sage
vale ibex
#

that func is only called form that listener

#

lol alec did the same as me

fervent sage
#

damnit why do you have to be faster

twilit juniper
#

Oh lol

fervent sage
#

lol

twilit juniper
#

Because chris is the computer

#

just like xith

vale ibex
#

It's because I used ripgrep

fervent sage
#

i should just keep a terminal open for all popular pydis projects ready to grep as needed

vale ibex
#

Lol Griff abusing mod power

twilit juniper
#

Nice one @spare plaza

#

LMAO

vale ibex
#

He must be dealt with

spare plaza
#

Dude, I hit "create pr" on Jake's repo

#

thinking, Oh it will make it for his repo

twilit juniper
#

This is why you don't drive

spare plaza
#

and it went to pydis repo

twilit juniper
#

👏

#

I would've done the same thing tbh

#

so

last patio
gritty wind
#

Doesn't seem like it

#

It may have been blocked at some point due to dewiki or something, but I don't realistically see a blocker now

last patio
#

excellent

patent pivot
last patio
#

the other django apps in site will still need subdomain change though, no?

patent pivot
#

which other apps

#

i'm fairly sure api & staff are the only ones

vocal wolf
#

@twilit juniper oi m8 your build failed for linting.

last patio
#

ah, i missed that staff already has an url

twilit juniper
#

unless it failed again

sleek steppe
#

it did

twilit juniper
#

fml

vocal wolf
#

it is currently failing, at this very moment

twilit juniper
#

Ok i'll fix that

#

yep

vocal wolf
#

remember to lint before you push!

#

poetry run task lint

sleek steppe
#

or you can do poetry run task precommit which won't let you commit unless lint passes

vocal wolf
#

You can do both

sleek steppe
#

true

twilit juniper
#

sorry about that.

vocal wolf
#

np

fallen patrol
twilit juniper
#

Alright should be good now

#

Once again I apologies for that.

vale ibex
#

no worries 😄

#

My only suggestion would be setting up the pre-commit hook locally

#

will save a lot of effort 😄

vocal wolf
twilit juniper
vocal wolf
#

git add the changes first though

#

tbh you should read that site if you haven't already

#

it has the good stuff

twilit juniper
#

Alright, I will.

#

Also let me know if those doc strings make sense

brazen charm
#

There's also fixups and rebases for mistakes that are older in the history

sharp zephyr
#

getting an error while executing poetry run task start , starting the python bot
server for the first time. (running in virtualbox)
#help-grapes
#help-grapes message

vale ibex
#

Hmm, I'm getting linting errors trying to do this in a function sig requested_state: allowed_strings("yes", "no")

#

undefined name 'yes' flake8(F821)

#

same on no too

#

anyone seen this before?

#

happens in vscode and when I run poetry run task lint

brazen charm
#

Use a noqa to ignore it

vale ibex
#

yea, was just confused where it's coming from lol

brazen charm
#

It interprets the strings as forward refs

vale ibex
#

ahh right

#

makes sense how it's happening now we've gone to py3.9 and wasn't before

#

since I'm assuming this is due to the string annotations added in 3.9

brazen charm
#

What do you mean? Forward refs are included in PEP 484 and all uses of that annotation should be noqa'd unless there is a coincidentally existing name in the scope

vale ibex
#

ohh right, it's my misunderstanding then

stable mountainBOT
#

bot/exts/moderation/metabase.py line 94

extension: allowed_strings("csv", "json") = "csv"```
brazen charm
#

both of them are valid names

vale ibex
#

oh, yea ofc, they're builtins

brazen charm
#

Being stdlib doesn't matter much, but they're imported at the top which defines them so the linter is happy that they could be resolved if it was an actual forward ref

gritty wind
#

Joking aside, that has fallen behind a bit, and should be updated

#

there are 9 env vars in the config, yet only 5 are documented

fallen patrol
patent pivot
#

the metabase cog

sharp zephyr
#

I wonder whether there’s a place on GitHub for issues about documentation/install process of the python bot . Documented a report of the process while installing the bot locally for the first time . Consists of issue, then comment

#

I see It’s long to post in this channel

#

I see maybe on the site project GitHub (instead of the bot)

thorny obsidian
#

Are you following our contributing guide? I know we looked into updating it a bit ago and I think had an issue open for feedback

short snow
#

question regarding modpings schedule issue, should this be implemented along side the current modpings on/off feature.

If yes, should the role be handed in even if they are on the break?

short snow
#

going afk, ping me when you answer

fallen patrol
#

But why is there a metabase cog

patent pivot
#

so we can pull data out of metabase and play with it on the bot

#

primarily for moderation stufff

fallen patrol
#

Ig

#

What is metabase?

patent pivot
#
fallen patrol
#

Python-discord/metabase?

#

Oh

patent pivot
#

not our tool

#

just something we run

fallen patrol
#

Ah

#

Oh hey

#

Discord fixed the bug that was affecting this channel finally

short snow
#

its for making those graphs joe shares in ot channels

short snow
#

@exotic ember for sir-lancebot#772, what are the commands to copy the bahviour? I think I had made a fix for it when i was testing it out for the update emojis PR.

dusky shoreBOT
short snow
#

wanted to confirm it

exotic ember
short snow
#

Yeah I did that, but didn't get any error

exotic ember
#

right, that's my bad. I've updated the reproduction steps to make it clearer

#

the implementation detail is that the user is placed in the players list before the AI, so the check always short circuits before it reaches the AI in the check if the command is called by the same user

#

with a different user, it does not short circuit and thus errors out when it reaches the AI

short snow
#

could you join my test server for a minute?

exotic ember
#

sure

#

I'd recommend creating an alt though

fallen patrol
short snow
#

that's not the issue, you need to use another user to do the second .ttt

#

commented the fix, someone can take it up if they want it now

fallen patrol
#

ah

short snow
#

@clever wraith in case you missed out, you have a few comments on sir-lancebot#699

dusky shoreBOT
fallen patrol
#

Is it intentional that the purge command doesn't avoid purging pins?

green oriole
#

What do you mean

#

If you delete a pin, it will be gone, right?

#

Oh, avoid pins

#

I see

#

I don't think it is an issue

short snow
green oriole
#

Hah

#

The on/off feature should override the schedule I feel like

short snow
#

perfect

short snow
#

is it possible to take two parameters like 10h pm and 10h?

#

Like what would the parameter format

#

take them as a full string (*, schedule: str) and write a regex expression for that?

#

whoops I had review the wrong pr, that was meant for python-discord/sir-lancebot#760

dusky shoreBOT
short snow
#

is there way to remove a review?

gritty wind
short snow
#

yeah, bot uses datetutil already

gritty wind
#

Also I’d prefer going for 24H format

short snow
#

yup

sharp zephyr
# thorny obsidian Are you following our contributing guide? I know we looked into updating it a bi...

yes i followed the contributing guide for the site and the bot . I'll look for the issue

update: i saw that the most recent issue that was most-related to the docs in the bot repo was this . https://github.com/python-discord/bot/issues/496 which opened in oct 2019 and closed feb 2020

edit:
i opened a new issue
https://github.com/python-discord/bot/issues/1631

GitHub

Not sure if it the right place, but: This page: https://pythondiscord.com/pages/contributing/bot/ could be better (although it is already pretty good) Rename #bot-commandsand #ot-offtopics to bot a...

GitHub

While setting up locally I didn’t see there are two projects that need to be cloned and initialized for the bot to initialize. Initially I thought it was one project (the bot) that would also inclu...

short snow
#

We need to add a option to make task repetitive on the scheduler so that I can work on the mod pings schedule, it would add a parameter called is_repetitive: bool = False, keyword only parameter interval: int = 0.

While deleting the task, if this is true, then it would re-add the task (or just don't delete the task) after adding interval on the time.

#

cc @tawdry vapor as you are the codeowner

green oriole
#

You have to go to the reviews at the bottom above merge, press the three dots and then dismiss

#

Lemme know if you don't have the perms to do so

sleek steppe
green oriole
#

Hmm

#

I'll wait for Jason to double check

vale ibex
#

you can possibly dismiss your own without extra perms

green oriole
#

Yeah, that was my thought, although there are some pretty tight restrictions on who can dismiss even inside an org

short snow
sleek steppe
#

what PR is this?

sleek steppe
#

Why are you sending this issue here? This channel is for python discord project discussions

vocal wolf
#

@noble hull Please read the descriptions of channels before posting. This channel is for Python Discord specific projects.

green oriole
fallen patrol
#

Although that could be changed 👀

green oriole
#

Well

#

If you have a custom integration (like our review bot) it could matter

fallen patrol
#

Yea

fallen patrol
green oriole
#

lol, Jason would need to be yellow for that

twilit juniper
#

This is from the allowed_strings function, I don't see of I could define those.

#
state: allowed_strings("on", "off") = None
sleek steppe
#

yeah that's just pycharm thinking "on" and "off" are types

#

since it's a type hint

brazen charm
#

Ignore the error

twilit juniper
#

But that's with flake

last patio
#

that's flake8 though, not pycharm, isn't it?

twilit juniper
#

Yeah

brazen charm
last patio
#

i think it's because it tries to resolve on and off to defined names because you can do annotations with quotes for e.g. forward refernces (no longer needed in newer pythons)

#

from other code, looks like noqa: F821 is the way to go

#

see e.g. bot/exts/moderation/infraction/management.py

tawdry vapor
sleek steppe
last patio
#

ah, this is some weird interaction with d.py converters, i see

twilit juniper
#

alright I will do that

gritty wind
#

This also does lowercase conversion, which a literal wouldn't I don't think

twilit juniper
#

Yeah

sleek steppe
#

oh true

twilit juniper
#

Can we force push it?

gritty wind
#

You can force push anything on your branch provided it doesn't mess with reviews

twilit juniper
#

Or is that not possible.

gritty wind
#

If it'll mess with them, then ignore it and rebase once it's approved

last patio
#

doesn't a rebase post-approval make github dismiss the reviews?

twilit juniper
#

alright, so should I just use literal or stick to allowed_strings?

gritty wind
#

it's a setting which is off by default

last patio
#

ahhh

last patio
twilit juniper
#

Alright 👍

vale ibex
#

ah sorry @twilit juniper I had an old version open while writing up my comments, missed your updates

#

also, I see now I missed this conversation on the PR

twilit juniper
#

all good lol 👍

vale ibex
#

It seems my comments are still appropriate though

twilit juniper
#

Yeah

sleek steppe
vale ibex
#

feel free to ping me if you have questions on my comments

vale ibex
#

it was reverted in your next commit

twilit juniper
#

Smh

dry folio
#

wait how many staff jakes are there

short snow
tawdry vapor
#

I'm sure there are other features that rely on this but from an implementation perspective it's much easier to do it as I described. Trying to make the Scheduler support it just complicates the interfaces and its internals, for little benefit.

short snow
#

Agreed, thanks!

#

I forgot my mobile at school and now can’t login to GitHub, jake !close isn’t the only way to close the channel.

tawdry vapor
#

It has aliases

sleek steppe
#

!help close

stable mountainBOT
#
Command Help

!close
Can also use: dormant, solved

*Make the current in-use help channel dormant.

May only be invoked by the channel's claimant or by staff.*

sleek steppe
#

ah right

#

I would use bot.get_context there

tawdry vapor
#

Also, I think there's a way to parse the message into a context and check which command was invoked

#

More robust way that wont rely on checking strings

sleek steppe
clever wraith
#

hi guys i was wondering how the python bot has a link connected to the white title when i try to do it i can only get my text to be blue

#

the thing i marked in yellow is what i mean

tawdry vapor
#

Does it have a link?

clever wraith
#

yes

stable mountainBOT
#

bot/exts/moderation/infraction/_utils.py line 180

embed.set_author(name=INFRACTION_AUTHOR_NAME, icon_url=icon_url, url=RULES_URL)```
clever wraith
#

ah i see

#

thanks

short snow
#

do we want to ping the mods when its time for their duty? i.e. their schedule start time

patent pivot
#

no, it's fine to just add/remove roles silently

short snow
#

cool 👍

short snow
#

Ok so am adding modpings schedule to modpings.py therefore it will use the same scheduler as modpings on/off. This means that once a person schedules worktime, he cannot use on/off until they remove it. So there are two possible solutions that I can see to this, use a different ID format for scheduling, currently I am using ctx.author.id as modpings on/off. The other solution to this is adding another scheduler to the Cog/Class, which one would be better?

#

ping me when you answer

green oriole
vale ibex
#

I wonder if it's worth trying to get zig's PR merged then

#

with the generic scheduler

short snow
#

which pr is that chris"?

green oriole
#

something something scheduler

short snow
#

lol

vale ibex
#

bot#1570

dusky shoreBOT
green oriole
#

as you can see, I can't remember 4 numbers more than 0.42s

vale ibex
#

!remind @green oriole 0.41s what was the number?

stable mountainBOT
#
Bad argument

0.41s is not a valid duration string.

vale ibex
green oriole
#

lol

short snow
#

I am not using redis cache for this btw, modpings schedule

green oriole
#

How is that so?

short snow
#

nvm , I thought scheduler tasks was persistent, unti l saw zig's PR

green oriole
#

Nope

#

That's why we have Zig's PR

short snow
#

Looks like WIP PR icon got updated

green oriole
#

What a format

gritty wind
#

The fock

#

<SOMETHING>

#

idk man lol

#

<LABEL NAME>: <:id/:token>

stable mountainBOT
#

.github/workflows/lint.yaml lines 18 to 19

# Configure pip to cache dependencies and do a user install
PIP_NO_CACHE_DIR: false```
empty sluice
#

Doesn't PIP_NO_CACHE_DIR=false turn off caching?

clever wraith
#

hey @green oriole ive started to notice that github turns any transparent sponsor image i upload to non transparent. any idea why?

#

lemme show you quick

#

transparent cloudflare

#

wait what

#

the devil

#

why is it only fucked up on the siite

#

heyy it works

green oriole
#

Hahaha

green oriole
#

Hey @clever wraith, why not use the old PR?

clever wraith
#

someone nuked it

short snow
#

You might wanna squash the commits btw

clever wraith
#

someone closed it sorry

sleek steppe
#

yeah kosa closed it

green oriole
#

A'ight

short snow
vale ibex
#

we do have a build cache, so when the container itself is built, that's partially cached

last patio
#

hey @mellow hare, how are you doing? i have a short question, are you available for reviews?

mellow hare
#

I can try to be.

#

What's up

empty sluice
last patio
# mellow hare What's up

nothing in particular right now, I'm just looking to refresh the group of active reviewers i had in my head :D

mellow hare
#

HA, fair enough

green oriole
mellow hare
#

I'm going to be slammed for a little while. We're migrating our email system to Outlook 365, so I'm fielding all the trouble that comes with that

green oriole
#

Oh no, not a 365 migration

mellow hare
#

No no

#

Trust me

#

This is better

green oriole
#

That was my worse 3 weeks at school, because I wasn't at school I was doing migrations for a company

#

Spent my days in team viewer calls waiting for this stupid installer to do its thing

mellow hare
fallen patrol
#

jason brought it up above

green oriole
fallen patrol
#

so this means that its enabled: PIP_NO_CACHE_DIR: false

green oriole
#

There's a linked PR that fixes it though

#

Can we actually test that?

#

I'm not sure if we even want caches in CI

mellow hare
#

Welcome to my hell

clever wraith
#

my god that looks like hell

eternal owl
vale ibex
#

RE sir-lancebot#774, here's the emoji if anyone reviewing wants to confirm the ids
IssueOpen ![IssueOpen](https://cdn.discordapp.com/emojis/852294683731165184.webp?size=128 "IssueOpen")
IssueDraft ![IssueDraft](https://cdn.discordapp.com/emojis/852294683592884284.webp?size=128 "IssueDraft")
IssueClosed ![IssueClosed](https://cdn.discordapp.com/emojis/852294683723694140.webp?size=128 "IssueClosed")
PRDraft ![PRDraft](https://cdn.discordapp.com/emojis/852294683861712916.webp?size=128 "PRDraft")
PRClosed ![PRClosed](https://cdn.discordapp.com/emojis/852294683194294304.webp?size=128 "PRClosed")

dusky shoreBOT
mellow hare
fallen patrol
#

I mean

#

Github changed the UI?

patent pivot
#

yeah

fallen patrol
#

Ah

#

They're also adding in progress prs soon too

fallen patrol
#

oh.

#

No.

short snow
#

yep looks like it remains the same

fallen patrol
#

nope

#

its slightly different

#

which is really annoying

fallen patrol
#

slightly different

#

top is current bot, bottom is current on github itself

short snow
#

umm yeah, they are a bittt different

fallen patrol
#

@exotic ember pithink

exotic ember
#

wat

fallen patrol
#

You can comment on commits?

exotic ember
#

yes

fallen patrol
#

oh dang

#

til

echo karma
#

i made a macro to level up on mee6 using python

fervent sage
#

thats client automation which is against discord's terms of service https://dis.gd/terms, which is also therefor against the rules of this community

echo karma
#

but its just a spam bot

#

its code that lets u spam in server spam channels

#

also it does not trigger the cool down

#

it does it slowly

cold island
#

@echo karma This channel is for projects developed for this server such as our bots and our website. Regardless, what you're describing is account automation and can result in your account being shut down.

vale ibex
#

I'll get it added to this PR

vale ibex
short snow
#

Is there anyway to test rediscache related code without manually injecting key value pairs during start up?

vale ibex
#

are you using docker-compose?

#

If so, you can do docker-compose up bot (or sir-lancebot if it's on there) so that when you ctrl+c out, it leaves the other containers running

short snow
#

Umm, yeah I would need to use docker-compose to test it out, it isn't possible normally (with peotry) right?

vale ibex
#

not unless you have a seperate Redis instance running

#

but no, it's not possible using fakeredis

short snow
#

👍 alright thanks

#

another question:

#

So I am adding the task again as soon as it gets over, but know the problem is I am adding it inside the function which is being called when it is time to call the task, so basically that means it that the task is still present and I am making another task which is not possible as it shows in the logs. So how should I do that?

green oriole
vale ibex
#

Yea, when the emojis are directly above/below another on the same line, they do get very close

#

They possibly do need a small border around them

#

I'll take a look tonight

#

since I've got PNGs now, I can actually work with them myself 😛

sharp zephyr
sharp zephyr
sleek steppe
green oriole
#

if the lint fails I'll murder flake8

#

aaaaaaaaaa

#

That wasn't linting lemon_unamused

#

but tests

sharp zephyr
green oriole
#

You are free to use a similar template honestly

#

We just want to give more freedom to contributors

vale ibex
green oriole
#

¯_(ツ)_/¯

#

At least they are working

vale ibex
#

hah true

clever wraith
#

could i get some review on site#527

clever wraith
#

bloody hell i still dont have codespaces

green oriole
#

My lord, those commits

#

Will you be able to squash them?

short snow
#

you can do that through UI, right?

#

before merging

vocal prairie
#

The merger can squash it (if that's permitted in settings), idk about the author

green oriole
#

True

#

Both can do that

green oriole
vocal prairie
#

Testing right now

short snow
#

that was fast

balmy sparrow
#

oops my bad

#

sorry for that one dawn

vocal prairie
#

That was very fast

balmy sparrow
#

auto-merge was enabled so after i approved it went through quick lemon_pensive

green oriole
#

Cheers

#

haha

clever wraith
#

woo first site commit, i guess

#

god seeing this is satisfying

green oriole
#

Niiiice, good job!

#

Interestingly enough commits squashed by github don't get signed

patent pivot
#

very nice

green oriole
#

Oh they do get signed, I guess it is a bug in github's patch generation

green oriole
#

It is lacking the signature

fallen patrol
green oriole
#

I mean, look at the link

#

The patch is lacking the signature

#

Which got me confused at first

#

But in the history they do actually be signed

clever wraith
#

huh

#

thats kinda wacky

fallen patrol
#

lmao

#

two prs and like 20 commits to add a logo 👀

clever wraith
#

oh for fucks sakes

fallen patrol
#

😂

clever wraith
#

Github kept fucking up my logo, making the bloody background black and shit

fallen patrol
#

site#515
site#527

clever wraith
#

blame Kosa for closing the first one

fallen patrol
#

ikr

#

it was 6 commits

#

and ended up at 10

fallen patrol
clever wraith
#

i used the same branch wdym

fallen patrol
#

o lol

sleek steppe
#

I don't think that's a good idea, ten commits that edits 2 lines

green oriole
#

You can squash and force push

clever wraith
#

yeah i shouldve done that :/

fallen patrol
sleek steppe
#

that is true

fallen patrol
vale ibex
#

Thoughts on the new emoji?

#

They've each got a border now too

#

PRClosed ![PRClosed](https://cdn.discordapp.com/emojis/852596024732286976.webp?size=128 "PRClosed")
PRDraft ![PRDraft](https://cdn.discordapp.com/emojis/852596025045680218.webp?size=128 "PRDraft")
IssueDraft ![IssueDraft](https://cdn.discordapp.com/emojis/852596025147523102.webp?size=128 "IssueDraft")
IssueClosed ![IssueClosed](https://cdn.discordapp.com/emojis/852596024739758081.webp?size=128 "IssueClosed")
IssueOpen ![IssueOpen](https://cdn.discordapp.com/emojis/852596024777506817.webp?size=128 "IssueOpen")
PRMerged ![PRMerged](https://cdn.discordapp.com/emojis/852596100301193227.webp?size=128 "PRMerged")
PROpen ![PROpen](https://cdn.discordapp.com/emojis/852596471505223781.webp?size=128 "PROpen")

fervent sage
#

They look so nice

crude gyro
#

lovely

fallen patrol
# vale ibex Ah yea, you are right

Oh God. Checking the git blame, these have been that way for over 14 months on github. It almost seems not necessary to update the icons.

#

But they do look nice.... So....

vale ibex
#

yea, the octicons have been there all this time

#

But the push to github might not have been that long ago

fallen patrol
wicked inlet
#

Just tried to copy bits of your lint and test workflow

#

It worked just fine until running flake8

#

I have 120k lines of errors

#

Looking something like this

#

So annoying cause flake8 works locally

#

Just not through the workflow

#

Please redirect me to a different channel if I should not post this here :/

vale ibex
#

It seems like you're not installing the dependancies in your workflow

#

or at least that's what it seems like from that image

#

I'd suggest opening a help channel though, since it's not related to any PyDis repo.

wicked inlet
short snow
#

how do i set level to show trace logs? running from peotry

clever wraith
#

im not sure

short snow
#

would it be possible include the scheduler name at start of the logs of scheduler?

#

here, these are two are of two different schedulers, and it is difficult to understand which is of which

#

maybe we can add <name> | <logs>

#

nvm am dumb, it is shown there already

short snow
#

Do i write unittests for it?

tawdry vapor
#

"ScheduleScheduler" is very odd name

short snow
#

lol yeah, I changed it to be ModPingsSchedule

-self._role_scheduler = Scheduler(self.__class__.__name__)
+self._role_scheduler = Scheduler("ModPingsOnOff")
+self._modpings_scheduler = Scheduler("ModPingsSchedule")
short snow
#

@vocal wolf is it possible to send two embeds in a single message?

#

nah, that won't look good lol

vocal wolf
#

Never tried.

short snow
#

There weren't any tests written for modpings earlier so do I write them for this feature?

vocal wolf
#

tests for new features aren't required

#

passing tests for enhancements with previously written tests are

short snow
#

ah, but if someone writes them will they be accepted?

vocal wolf
#

if it's within scope of a PR, yes

#

so if you wanted to for modpings and the mod schedule thingy, go ahead

#

just make sure that the content of the PR is edited to tell reviewers what's going on

short snow
#

I will keep it separate from this PR, since I am not really experienced with unittests, and may take time.

vocal wolf
short snow
#

yep looks like that sadpats

fallen patrol
fervent sage
#

because discord is very consistent 👍

full fractal
#

@gritty wind so now I'm not breaking rule 7, let's continue here

gritty wind
#

Lol

full fractal
#

I can get excited inducting a new sacrificial goat to the academy of pydis contributing
I'm concerned now

gritty wind
#

Oh no, you'll probably be fine

vocal wolf
#

triage vs triage

gritty wind
#

Is this a multiple choice question?

vocal wolf
#

500 words minimum

full fractal
#

I'm assuming that I don't need to add the black channel to guild.channels

patent pivot
#

category should be fine

gritty wind
#

I had a look at the reminders src

full fractal
#

and ....

gritty wind
#

It would require some modification to work with categories too

#

So it's fine if you add just black for now

patent pivot
#

ah

vocal wolf
#

what's being worked on?

gritty wind
#

If you want to have a go at giving it full support, that would be amazing, but not needed for this

vocal wolf
#

I see

full fractal
#

well, that requires a set up dev env for bot lol

#

Y'all using modern python btw

vocal wolf
#

ye

gritty wind
#

bumped up to 3.9(.5) recently which was

vocal wolf
#

given modern python is like 3.9+

gritty wind
#

so sweet

full fractal
#

okay, so does this looks fine (watch this break later):

diff --git a/bot/constants.py b/bot/constants.py
index ab55da48..ca9ec7c5 100644
--- a/bot/constants.py
+++ b/bot/constants.py
@@ -399,6 +399,7 @@ class Categories(metaclass=YAMLGetter):
     moderators: int
     modmail: int
     voice: int
+    open_source_projects: int
 
 
 class Channels(metaclass=YAMLGetter):
diff --git a/config-default.yml b/config-default.yml
index 55388247..83118d96 100644
--- a/config-default.yml
+++ b/config-default.yml
@@ -142,6 +142,7 @@ guild:
         moderators:         &MODS_CATEGORY  749736277464842262
         modmail:            &MODMAIL        714494672835444826
         voice:                              356013253765234688
+        open_source_projects:               846434038251782214
 
     channels:
         # Public announcement and news channels
@@ -244,6 +245,7 @@ guild:
     reminder_whitelist:
         - *BOT_CMD
         - *DEV_CONTRIB
+        - *BLACK_FORMATTER
 
     roles:
         announcements:                          463658397560995840
#

that was bigger than I had expected

gritty wind
#

oh wow, you made an actual diff lemon_hyperpleased

#

Where was BLACK_FORMATTER added

#

the category looks good though

full fractal
patent pivot
#

hahaha, yeah, I was

#

I thought we whitelisted off categories

gritty wind
#

Tfw joe isn't the smartest person in the room

#

Sky must be falling

patent pivot
#

lol

full fractal
#

I mean, I probably should've caught the fact there was no id declaration for the channel I was adding

gritty wind
#

I think the process just got muddled up due to channel vs category

patent pivot
#

wonder if there is a YAML linter that could help with things like that

full fractal
#

v2:

diff --git a/bot/constants.py b/bot/constants.py
index ab55da48..ca9ec7c5 100644
--- a/bot/constants.py
+++ b/bot/constants.py
@@ -399,6 +399,7 @@ class Categories(metaclass=YAMLGetter):
     moderators: int
     modmail: int
     voice: int
+    open_source_projects: int
 
 
 class Channels(metaclass=YAMLGetter):
diff --git a/config-default.yml b/config-default.yml
index 55388247..894b1aff 100644
--- a/config-default.yml
+++ b/config-default.yml
@@ -142,6 +142,7 @@ guild:
         moderators:         &MODS_CATEGORY  749736277464842262
         modmail:            &MODMAIL        714494672835444826
         voice:                              356013253765234688
+        open_source_projects:               846434038251782214
 
     channels:
         # Public announcement and news channels
@@ -176,6 +177,9 @@ guild:
         user_log:                           528976905546760203
         voice_log:                          640292421988646961
 
+        # Open Source Projects
+        black_formatter:                    846434317021741086
+
         # Off-topic
         off_topic_0:    291284109232308226
         off_topic_1:    463035241142026251
@@ -244,6 +248,7 @@ guild:
     reminder_whitelist:
         - *BOT_CMD
         - *DEV_CONTRIB
+        - *BLACK_FORMATTER
 
     roles:
         announcements:                          463658397560995840
patent pivot
#

we could probably write one that checks that constants.py and the config file match up

full fractal
gritty wind
#

That would also need a reference to actually mention

#

like the one after modmail

#

&BLACK_FORMATTER

full fractal
#

Uhm, wat?

#

is it case sensitive or something like that?

gritty wind
#

Haha you can declare yaml variables after the key name:

black_formatter: &VARIABLE_NAME 000000```
#

I don't actually know if it's case sensitive

#

Line 157 is an example of this

full fractal
#

I'm sad now

gritty wind
#

You can then reference the variable's value in the YAML using *VARIABLE_NAME

full fractal
#

the channel name is so long that it doesn't align with the rest of the ids

gritty wind
#

Idk if this is standard yml, because if so, it just reinforces my belief yaml is evil

#

Feel free to realign everything 👀

full fractal
#

I just assumed you guys were hacking yaml

gritty wind
#

We definitely are with the ENV tags at the top lol

full fractal
#

black_formatter: &BLACK_FORMATTER 846434317021741086

gritty wind
#

that lgtm

#

I feel bad making you do all this work, esp with no testing env

full fractal
#

oh fun

gritty wind
#

lol

full fractal
#
❯ git diff bot/constants.py
diff --git a/bot/constants.py b/bot/constants.py
index ab55da48..4cd17425 100644
--- a/bot/constants.py
+++ b/bot/constants.py
@@ -399,6 +399,7 @@ class Categories(metaclass=YAMLGetter):
     moderators: int
     modmail: int
     voice: int
+    open_source_projects: int
 
 
 class Channels(metaclass=YAMLGetter):
@@ -433,6 +434,8 @@ class Channels(metaclass=YAMLGetter):
     off_topic_1: int
     off_topic_2: int
 
+    black_formatter: int
+
     bot_commands: int
     discord_py: int
     esoteric: int
gritty wind
#

looking good

full fractal
#

it's a 8 additions change dude, not even close to an oneliner 😛

#

yes I counted

gritty wind
#

just... ;

full fractal
#

So wait, why are we adding the oss category again?

gritty wind
#

it may not be necessary at this point

full fractal
#

and that's why I'm asking you 😄

gritty wind
#

lol

full fractal
#
❯ git diff
diff --git a/bot/constants.py b/bot/constants.py
index ab55da48..3d960f22 100644
--- a/bot/constants.py
+++ b/bot/constants.py
@@ -433,6 +433,8 @@ class Channels(metaclass=YAMLGetter):
     off_topic_1: int
     off_topic_2: int
 
+    black_formatter: int
+
     bot_commands: int
     discord_py: int
     esoteric: int
diff --git a/config-default.yml b/config-default.yml
index 55388247..48fd7c47 100644
--- a/config-default.yml
+++ b/config-default.yml
@@ -176,6 +176,9 @@ guild:
         user_log:                           528976905546760203
         voice_log:                          640292421988646961
 
+        # Open Source Projects
+        black_formatter:    &BLACK_FORMATTER 846434317021741086
+
         # Off-topic
         off_topic_0:    291284109232308226
         off_topic_1:    463035241142026251
@@ -244,6 +247,7 @@ guild:
     reminder_whitelist:
         - *BOT_CMD
         - *DEV_CONTRIB
+        - *BLACK_FORMATTER
 
     roles:
         announcements:                          463658397560995840
#

or... should I add back the oss category

gritty wind
#

The category is not necessary anymore

full fractal
#

And see kids, asking a question a second time but with slightly different wording is how you get full answers to your questions

full fractal
full fractal
gritty wind
#

words me no good

full fractal
#

OK, time for my favourite part of development, writing a good commit msg /hj

gritty wind
#

I've seen some atrocious stuff. As long as you aren't filling it with gibberish you'll be fiiiine.

#

Now if your plan was to fill it with gibberish

full fractal
gritty wind
#

Did you reorganize the docs into the msg?

vocal wolf
#

holy

full fractal
#

yeah I had to write that one in a separate file + copy and paste lol

gritty wind
#

How did you lob one hashtag off all the titles

#

that must've taken some time

full fractal
#

The root title was ## not # that was causing myst-parser to emit some of 'em warnings

#

and we enforce warning free documentation builds 😄

gritty wind
#

I love that we went full circle and started going OT here with #black-formatter stuff

gritty wind
full fractal
#

I told you I have a problem

full fractal
#

honestly IDK what to put in this commit msg

gritty wind
#

Adds the black-formatter channel to the remind
command overrides to allow usage of the command
in the channel.```

Line length is probably off, but that's the best I can do eyeballing
full fractal
#

you were pretty off mate

gritty wind
#

let's pretend I get paid by the line ¯_(ツ)_/¯

full fractal
#

I totally didn't just mess up my auth for a git push

#

I see you're one of the those vigilant mode users 👀

gritty wind
#

joe converted me last week

#

Wish there would've been a way to sign, but oh well

full fractal
#

so you're taking your security advice from and I quote: "Tfw joe isn't the smartest person in the room" /j

gritty wind
#

he was last week

full fractal
#

I see how it is

gritty wind
#

Unless vigilant mode has a negative effect on brain functionality, I think he should be fine again next week

patent pivot
#

lmfao

full fractal
#

and PR created!

gritty wind
#

I wonder if I can review it

full fractal
#

ah yes, the "workflow awaiting approval"

gritty wind
#

It may not count cuz co-author

full fractal
#

oh lol

gritty wind
#

You know what I should do

clever wraith
gritty wind
#

I should go and copy your first time contributor message

clever wraith
#

Just by seeing the verified sign

#

I added my first gpg key within 10 minutes

gritty wind
#

I had keys for a long time, just didn't have the vigilant setting enabled

full fractal
#

It's a pytest plugin that parallelizes your code. I don't really have anything else to say about that. It worked really well out of the box, and I didn't run into any problems. Here are some numbers:

Us over at psf/black had a lot of issues with pytest-dev/pytest-xdist#620

clever wraith
#

I've gotta head out

#

Bye all, have a lovely weekend

full fractal
#

You too!

clever wraith
#

Thanks

gritty wind
#

ayyy it counted

gritty wind
vocal wolf
#

!source remind

stable mountainBOT
#
Command: remind

Commands for managing your reminders.

Source Code
full fractal
#

locally we didn't hit much

gritty wind
#

I wonder if there's a stable parallelization tool then

full fractal
#

I haven't looked into it

vocal wolf
#

@full fractal your PR has been merged.

full fractal
#

that is a quick turnaround time 👀

vocal wolf
#

It should start working when the bot reconnects, logged in #dev-log.

gritty wind
#

All PRs on pydis have the same turnaround period, regardless of length

#

Money back gaurnteed

full fractal
vocal wolf
#

👍

full fractal
#

You too @gritty wind and also the guidance

gritty wind
#

*disclaimer: your PR may take longer depending on length, reviewer availability, and the orientation of the sun

full fractal
#

and that's what we were waiting for lol

vocal wolf
gritty wind
#

you sleep?

full fractal
#

also how much the maintainer is bored that day

vocal wolf
gritty wind
#

lemon_thinking Interesting...

full fractal
#

Y'all seem fine with pytest-xdist, I see each CI run only runs the test suite once, not 24 times like us 😛

gritty wind
#

seems we're back

#

Now go create that reminder before you forget

full fractal
#

well, I already created it in #bot-commands but OK

gritty wind
#

lol

full fractal
#

it worked :hooray:

gritty wind
#

testing in prod 101

full fractal
#

indeed

#

Oh you guys have a "Triage Lead"

gritty wind
#

They're a fantastic machine

vocal wolf
#

Yes, it is I

gritty wind
#

We get a lot of stuff, so it's great not to have to worry about it. It also means more consistent triaging most of the time

#

dude

vocal wolf
#

oh, you've already tried it

#

nice

full fractal
gritty wind
#

Windows updates

vocal wolf
#

I run linux.

full fractal
#

Me too.

gritty wind
#

linux updates*

vocal wolf
#

I technically never have to update

#

technically

full fractal
#

well linux doesn't force you to update

vocal wolf
#

yep

#

manjaro is a great distro

full fractal
#

I say that and I have Windows dual booted on this machine and I haven't booted it in a long time, can't wait for when I boot it and have to wait out the hours of updates

vocal wolf
#

I put windows on a separate drive so I don't have to worry about it overwriting partitions and breaking my manjaro programming environment by not letting me boot.

full fractal
#

My protection method is just not booting Windows, which is shockingly easy to avoid doing

vocal wolf
#

lol

#

gotta have windows for games

#

and adobe stuff

full fractal
#

Sadly enough

#

OK, time for me to go back to my psf/black maintainer duties (i.e. derailing all the channels I'm in). In all seriousness, it was fun to contribute, I'd encourage you to maybe bump the priority of making it easier to set up a dev env but it sounds like lack of time is the main issue (which I can totally relate to)

vocal wolf
#

Improvements are occurring for users setting up dev environments, yes. Thank you for the contribution!

full fractal
#

The triager within me found this issue that should probably be closed: bot#1585

dusky shoreBOT
trim cradle
#

The bot needs to be able to look up sklearn docs.

tawdry vapor
#

Okay

#

Are you able to add it?

#

Not sure what the permissions on the command are

#

!docadd

#

!help doc

stable mountainBOT
#
Command Help

!docs [symbol_name]
Can also use: d, doc

Look up documentation for Python symbols.

Subcommands:

!docs getdoc [symbol_name]
Return a documentation embed for a given symbol.

tawdry vapor
#

Well I guess that means I can't

fallen patrol
trim cradle
stable mountainBOT
#
add

add

Adds the argument to the value.

For example:

{{ value|add:"2" }}
```  If `value` is `4`, then the output will be `6`.

This filter will first try to coerce both values to integers. If this fails, it’ll attempt to add the values together anyway. This will work on some data types (strings, list, etc.) and fail on others. If it fails, the result will be an empty string...
trim cradle
#

welp

#

!source docs

stable mountainBOT
#
Command: docs

Look up documentation for Python symbols.

Source Code
trim cradle
#

no actually

tawdry vapor
#

You want scikit image rather than scitkit learn?

#

I'm not entirely sure what the base url should be

fallen patrol
#

The objects.inv is normally located on the docs at whatever/objects.inv

#

Yeah the link that mark sent above

exotic ember
#

!d sklearn.covariance

stable mountainBOT
#

The sklearn.covariance module includes methods and algorithms to robustly estimate the covariance of features given a set of points. The precision matrix defined as the inverse of the covariance is also estimated. Covariance estimation is closely related to the theory of Gaussian Graphical Models.

User guide: See the Covariance estimation section for further details.

short snow
#

(in config.yml)

#

also should add a delete sub-command, so that you can delete your modpings schedule?

dry folio
#

hey, if anyone wants a non-code PR to review you can look at sir-lancebot#756. it has been waiting for almost 20 days :D

velvet sequoia
#

Does anybody know what the python icon next to the commenters username means in the cpython bug tracker? Does that indicate the person is a core developer?

brazen charm
#

This channel is about python discord projects, but depending on the colour it either means they are a python triager or commiter, you can see it on hover

trim cradle
#

!docs sklearn.cluster.KMeans

stable mountainBOT
#
class sklearn.cluster.KMeans(n_clusters=8, *, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='deprecated', verbose=0, random_state=None, copy_x=True, ...)```
K-Means clustering.

Read more in the [User Guide](https://scikit-learn.org/stable/modules/clustering.html#k-means).
trim cradle
vale ibex
#

!otn a k means klustering

stable mountainBOT
#

:ok_hand: Added k-means-klustering to the names list.

vocal wolf
vale ibex
#

oui

vocal wolf
#

nais

#

@twilit juniper the helpdm PR has been merged

vale ibex
#

Just had a thought after merging, would it be useful to push !helpdm invocations to statsd?

#

could be a cool stat to have

brazen charm
#

Aren't there stats already for command invocations? Or would it be for the amount of times it sent dms

vale ibex
vocal wolf
#

@vale ibex sir-lancebot#774 merged

dusky shoreBOT
vocal wolf
#

tis reconnecting, so should fix itself

#

sir-lancebot#774