#dev-contrib

1 messages ยท Page 104 of 1

vale ibex
#

Try doing git add . then pipenv run pre-commit

#

make sure your pipenv shell is active though

clever wraith
#

how do i activate it?

vale ibex
#

py -m pipenv shell

clever wraith
#

ok ty

#
C:\Users\VIncas\Desktop\sir-lancebot>py -m pipenv shell
Loading .env environment variables...
Launching subshell in virtual environment...
Microsoft Windows [Version 10.0.19042.928]
(c) Microsoft Corporation. All rights reserved.

(sir-lancebot-1zef5-9i) C:\Users\VIncas\Desktop\sir-lancebot>git add .

(sir-lancebot-1zef5-9i) C:\Users\VIncas\Desktop\sir-lancebot>pipenv run pre-commit
'pipenv' is not recognized as an internal or external command,
operable program or batch file.``` still unrecognized
vale ibex
#

oh, look like pipenv deps weren't installed on your pipenv shell

#

ok, so with your pipenv she;l active run these commands:
python -m pip install pipenv
pipenv sync --dev
pipenv run precommit

clever wraith
#

ok

vale ibex
#

that will setup your pipenv shell

clever wraith
#

thanks for helping

#

ok so all those commands worked

#

no errors

#

should i do git add . and then commit?

vale ibex
#

so you've already done git add .

#

so its in the staging area

clever wraith
#

oh ok

vale ibex
#

you should be able to do pipenv run pre-commit

clever wraith
#

yeah i did it

vale ibex
#

There's two precommit is for setting it up pre-commit is for running

#

you only need to do precommit once

clever wraith
#

oh

#

ok im running the pipenv run pre-commit now

vale ibex
#

cool

#

it'll give you any linting errors

clever wraith
#

i got some errors from my cog

#

but they're not really errors

#

its like D204 1 blank line required after class docstring

#

should i patch them all up right now?

vale ibex
#

Yea, those are our styling requirements

clever wraith
#

ok

vale ibex
#

fix them all up, run git add . and then run the pre-commit again

clever wraith
#

after the -> its the return type?

#
def join_images(imgs: list) -> Image:```
#

this func returns Image so i put that, dont know if its correct tho

vale ibex
#

Yup, that's exactly right

#

(as long as you have Image imported)

clever wraith
#

ye ye

#

ok fixed all those up

#

and no styling errors occurred this time

vale ibex
#

Nice, everything passed?

clever wraith
#

yep

#
Loading .env environment variables...
Check for merge conflicts................................................Passed
Check Toml...........................................(no files to check)Skipped
Check Yaml...........................................(no files to check)Skipped
Fix End of Files.........................................................Passed
Trim Trailing Whitespace.................................................Passed
check blanket noqa.......................................................Passed
Flake8...................................................................Passed```
vale ibex
#

Cool! now you can commit your local code to your branch

clever wraith
#

ok

#

git commit -m "Your commit message" like that?

vale ibex
#

If you do ```
git commit -m "commit title here

commit summary here
over some lines if needed"

#

Yea, the title should be limited to 72 characters

#

the summary can be as long as you like

clever wraith
#

is it enough to just say: Adding new cog - splitify?

vale ibex
#

We usually prefer a little more information that than in the commit

clever wraith
#

oh ok

vale ibex
#

The commit title could be that, but the commit should have a summary

#

We also link to Chris Beam's How to Write a Git Commit Message blog post too, which is some good reading

clever wraith
#

yeah im looking at it right now

#

i-

#

i think i messed it up a bit

#

i was trying to write from new line and i think i accidentally commited

sleek steppe
#

You can always do git reset HEAD^

clever wraith
#

oh then i add the rest of the message?

#

nvm im prob wrong

sleek steppe
#

It just takes away the last commit

clever wraith
#

ok

#

so how do i do newline?

clever wraith
sleek steppe
#

Just don't end the quote

clever wraith
#

yeah i didnt

#
Check for merge conflicts................................................Passed
Check Toml...........................................(no files to check)Skipped
Check Yaml...........................................(no files to check)Skipped
Fix End of Files.........................................................Passed
Trim Trailing Whitespace.................................................Passed
check blanket noqa.......................................................Passed
Flake8...................................................................Passed
[splitify b76aef0] Adding new cog - splitify
 1 file changed, 131 insertions(+)
 create mode 100644 bot/exts/evergreen/splitify.py```
#

you see i didnt there and it still did all of this

sleek steppe
#

Hmm

clever wraith
#

i could just do git commit -m "Adding new cog - splitify. Summary: Merged splitifer and a discord command for it together, added neat descriptions for each function and the discord command, fixed all the styling errors."

#

in 1 line i mean

sleek steppe
#

That's too long for the commit title

clever wraith
#

oh is a title an actual thing?

#

i thought its just what you guys call it

green oriole
#

You should try without the -m option

clever wraith
#

ok

green oriole
#

It will open your editor for you to type a message

clever wraith
#
``` got this now
green oriole
#

On the first line you have to put a summary (less than 50 chars), and empty line and then the extended description

clever wraith
#

ok

#
Check for merge conflicts............................(no files to check)Skipped
Check Toml...........................................(no files to check)Skipped
Check Yaml...........................................(no files to check)Skipped
Fix End of Files.....................................(no files to check)Skipped
Trim Trailing Whitespace.............................(no files to check)Skipped
check blanket noqa...................................(no files to check)Skipped
Flake8...............................................(no files to check)Skipped
On branch splitify
nothing to commit, working tree clean```
#

it still ran, didnt let me write anything

clever wraith
green oriole
#

Ah, you didn't select anything to commit

#

You can run git status to see what you modified

clever wraith
#
On branch splitify
nothing to commit, working tree clean```
green oriole
#

Then git add [path] to add the file in [path]

#

Hmm

#

Did you modified anything yet?

clever wraith
#

its cuz i already committed accidentally

#

when i was trying to do new line

#

and then toxic told me to run some command, i did it, but i guess it didnt help me here

sleek steppe
clever wraith
#

yes i did that

#

what am i suppose to put here?

green oriole
#

Right

#

If you want to modify the last commit message you should run git commit --amend

clever wraith
#

oh it worked

#

im kinda stuck here, i cant remove that first line there and dont know how to finish this off

green oriole
#

That looks like vim, do you know how to use it?

#

Hey @short snow, I mentioned that those were still not addressed because you rerequested our reviews, I assumed that you missed it

clever wraith
green oriole
#

Hmm that was probably the default

#

I don't know git on windows enough to help you change it though, sorry

clever wraith
#

could i maybe commit with just the title and add the summary somewhere else then?

green oriole
#

Hmm you can do git commit -m "First line" -m "extended description"

clever wraith
#

ok

#

it says that im working on a clean tree

#

i tried git reset HEAD^

#

and it then says: More? and i dont know what to put there

#

i tried putting the whole commit there but an error occurred

wise oriole
#

I'm confused.

#

gimme a min lemme send one thing.

#

look at that?

#

I just typed it

#

did you mean is suggesting the same thing I sent.
!help reason

#

whats it supposed to show btw

subtle kraken
#

pretty sure its !remind edit reason command that you got suggested

#

currently suggestion takes whatever name matches regardless if its top level command or not which results in recommending subcommands without telling what the top command is

sleek steppe
#

!source ErrorHandler

stable mountainBOT
#
Cog: ErrorHandler

Handles errors emitted from commands.

Source Code
sleek steppe
#

Ah it just replaces the misspelled command with the command's name

patent pivot
#

I have just the document for you

#

where is it

gritty wind
#

Yeah hemlock and Akarys wrote one

#

it's on the main contrib page

patent pivot
green oriole
gritty wind
#

yup

tawdry vapor
#

Yes, you don't need any permission to leave reviews.

#

Just pick something you're comfortable with and have at it.

#

Yes

gritty wind
#

Yeah that's valid

sleek steppe
#

lol

green oriole
#

haha

#

do you want a suggestion?

#

Alright, any favorite project?

clever wraith
#

@green oriole dont want to annoy you, but are you able to help me now?

sleek steppe
#

What do you need help with?

clever wraith
#

the same thing with commiting

sleek steppe
#

ah

clever wraith
#

i think i already committed it, but i didnt include the summary

#

its kind of a mess ngl

sleek steppe
#

Hmm. Is it really worth putting a summary? Can't you just write it in the PR description?

clever wraith
#

not me to ask

#

i actually even offered to do that

#

or something alike that

brazen charm
#

Don't need to write anything

sleek steppe
#

yep โœ…

clever wraith
#

btw what happens after i commit

#

like does the code get sent somewhere or..

sleek steppe
#

You need to push

fallen patrol
#

not staff i think

clever wraith
#

oh...

brazen charm
#

When you commit it, it gets locally saved into the git history of the project. Then you can push it to the remote where it does the same thing but also goes to the PR etc.

sleek steppe
#

Because the approval doesn't actually count for the checks

fallen patrol
#

there's before you do anything

sleek steppe
#

same xd

clever wraith
fallen patrol
#

there's before you do anything
then working tree edits
then index/staged changes
then commit to local repo
then push to remote

fallen patrol
brazen charm
#

It does count towards the checks afaik, but you're not a member of the repo so github doesn't regard them as of the same level of importance. For example if you disapproved then a member disapproval would block the PR while a non member disapproval is more of a comment

brazen charm
#

sorry, organization

fallen patrol
#

i have the contributor tag on python because i made a permission change to defcon

#

added connect=False to disable voice channels when defcon is turned on

#

and connect=True when its turned off

patent pivot
#

anyone with the contributors role can leave an approving review, though github may not always green tick it

fallen patrol
#

which is set in the organization defaults

patent pivot
fallen patrol
#

.github#1

dusky shoreBOT
fallen patrol
fallen patrol
patent pivot
#

I just linked it lol

fallen patrol
clever wraith
#

if i have committed smth already but i didnt put the summary in the commit, can i still push now and put it in pr description?

patent pivot
#

does anyone want to add an is deleted channel attribute to metricity channels

brazen charm
brazen charm
clever wraith
#

i tried so many ways and everything failed

patent pivot
clever wraith
#

and summary i dont think is necessary or that important since im just adding something for the first time

#

so there's no changes

sleek steppe
#

If no one is assigned

tawdry vapor
#

If it's taken then someone would have commented or it would've been assigned to some user (listed at the right column)

#

I'm not sure there's a consensus yet on that issue

brazen charm
patent pivot
#

I'm not sure I follow, the groups that can leave an approving review are those with the discord contributors role and those in the staff team, additionally there must be at least one core developer review on top of that.

tawdry vapor
#

Yes. Do you want me to assign you to it?

#

What's your username on GitHub

#

Yeah, please. It seems I can't assign you to it through GH. Probably cause you've not contributed anything yet.

#

Yeah, your comment made your name show up in the list.

clever wraith
#

@brazen charm i pushed it

sleek steppe
#

Now you can write up a PR

clever wraith
#

oh shit i pushed from the wrong github account

#

my god...

#

this was not meant for me

#

too many signs ive missed... ๐Ÿ˜ญ

#

can i still continue right now

brazen charm
patent pivot
#

ahh right, yeah that was just a pure count of how many reviews there were on the PR, the new one now will only mark the check as green when the full policies are met (hence why we disabled the github feature and now go purely off the check status)

clever wraith
#

ok so i made the pr and somehow it was successful

brazen charm
#

Can the bot be overridden if you had for example 1 missing contrib/member review but multiple approvals from people outside of that?

patent pivot
#

Bypasses can be made by owners, yep

sleek steppe
#

They should already be filled out if you copied the config-default.yml. The guide shows what parts need to change in order for the bot to actually be ran, like for example the site domain.

fallen patrol
#

e

clever wraith
#

how long does it usually take for a pr to be checked

fallen patrol
#

sir-lancebot#688

dusky shoreBOT
fallen patrol
#

e

#

there's a template for the explanation

clever wraith
#

oh thats me

fallen patrol
# fallen patrol there's a template for the explanation
## Relevant Issues
<!-- List relevant issue tickets here. -->
<!-- Say "Closes #0" for issues that the PR resolves, replacing 0 with the issue number. -->


## Description
<!-- Describe how you've implemented your changes. -->


## Reasoning
<!-- Outline the reasoning for how it's been implemented. -->


## Screenshots
<!-- Remove this section if the changes don't impact anything user-facing. -->
<!-- You can add images by just copy pasting them directly in the editor. -->


## Additional Details
<!-- Delete this section if not applicable. -->


## Did you:
<!-- These are required when contributing. -->
<!-- Replace [ ] with [x] to mark items as done. -->

- [ ] Join the [**Python Discord Community**](https://discord.gg/python)?
- [ ] If dependencies have been added or updated, run `pipenv lock`?
- [ ] **Lint your code** (`pipenv run lint`)?
brazen charm
#

You don't really need anything except the trashcan in most cases

fallen patrol
sleek steppe
#

Unless the PR has something to do with emojis

clever wraith
#

there are no issues, no changes or anything really

#

its just a description and i title that i put there

fallen patrol
#

reference to a previous set thing

#

so it can reference those variables later down

sleek steppe
fallen patrol
clever wraith
#

so what will i put there?

sleek steppe
#

And it would be useful to see screenshots for that command

clever wraith
#

oh well that i could

patent pivot
#

It should be up to date, which bits do you think are missing?

#

We have merged a few channels together, such as merging logs into one channel

brazen charm
#

What are you implementing? I doubt you'll need to set the modmail category

clever wraith
brazen charm
#

If the bot never uses them then it'll work fine, there are only a few channels/categories that it'll have to fetch without you explicitly doing something to create the request

sleek steppe
#

You don't

#

Not really. Maybe just a log message

#

You could set up the config file, but a lot of it you wouldn't need at this point

brazen charm
#

Can't go wrong with filling it out all, but I'd probably just run the bot and add values that it errors out on

clever wraith
#

how long does it usually take for a pr to be checked

gritty wind
#

It depends on the length of the PR, and who's available

clever wraith
#

ok

gritty wind
#

usually triaged pretty quickly, then review depends significantly

vocal prairie
#

triaged?

gritty wind
#

Triage in programming refers to getting things where they need to be. We do that by assigning tags and priorities

vocal prairie
#

Got it. Ty

gritty wind
#

Xith is our master triager

sleek steppe
#

Why were my review comments duplicated ๐Ÿ˜ฉ

gritty wind
#

lol you should be to resolve the duplicates

clever wraith
#

@sleek steppe i cant respond to u on that pr for some reason so can i do it here?

sleek steppe
#

I accidentally reloaded the page and lost all of my comments, but they reappeared.

clever wraith
#

cuz i have a lot to say

brazen charm
#

You should be able to comment on all of the review comments if you're logged in

clever wraith
#

it only says resolve convo

#

it let me before but didnt let me then send the reply

#

and after i refreshed the reply button was gone

#

and im logged in

#

@brazen charm

#

oh i see the reply again

brazen charm
#

No idea what it could be but responding here would lead to confusion around the discussion

clever wraith
#

ok i responded

#

ill do some changes now

sleek steppe
#

A lot of PRs have only one commit when the PR is opened

#

The current implementation won't work

#

You'll need to use typing.Optional

#

There's a difference between default arguments and Optional

#

So, basically, you have multiple default arguments. So if I were to do !superstar @user breaking the rules, breaking would be the duration argument and the command will fail

#

The second reason it wouldn't work, is because the Expiry converter returns a datetime object, and you're defaulting to a str.

clever wraith
#

@sleek steppe are you able to add my cog to the lancebot?

#

hypothetically speaking

sleek steppe
#

What do you mean?

#

Nope.

#

You can keep it as Optional, like this ^, and if it's None, make the duration datetime.datetime.now() + datetime.timedelta(hours=1)

clever wraith
sleek steppe
#

You want me to approve the PR?

clever wraith
#

and yes

sleek steppe
#

You didn't check if it was None

clever wraith
#

i reflected on your comments and made changes

sleek steppe
clever wraith
#

can you?

sleek steppe
#

yep

#

sure

fallen patrol
sleek steppe
#

Ah that's what they were asking

fallen patrol
#

wut

short snow
fallen patrol
#

hey

#

i found both an issue and a solution

#

basically, not every embed on the bots are colored and this was previous pointed out

fallen patrol
#

sorry got distracted

#

basically we replace the embed class

#
class Embed(discord.Embed):
    def __init__(self, color=default_color_variable, **attrs):
        attrs["color"] = color
        super().__init__(**attrs)

discord.Embed = Embed
vocal prairie
#

Can't you just search for all the embeds?

#

And manually recolor them?

fallen patrol
#

which makes more sense, lol

vocal prairie
#

It can't be that hard to do a local search.

vocal prairie
fallen patrol
#

its not overcomplicated?

#

it makes all embeds have a default color of the bots specific color or they need to all be changed individually

short snow
#

there is already a issue open for embed helper, it somewhat does this part

fallen patrol
#

which bot?

short snow
#

bot

#

by vester

#

don't remember the number

fallen patrol
#

wait hold on a moment

short snow
#

https://github.com/python-discord/bot/pull/1446#pullrequestreview-638324182 Am not exactly sure how I would go upon doing this? Could someone help me out with this, maybe summarizing the process and then I could go ahead.

Like how I can check webhook embed descriptions, how can i form a message link.

short snow
stable mountainBOT
brazen charm
#

I'd guess through the site as it still isn't restricted

#

The names shouldn't be there in the first place so I don't believe so

tawdry vapor
#

No don't continue

#

In fact the site pr can be merged

#

I guess we just forgot about it

#

Well, not yet cause the migration would fail if GitPython is currently stored like that

#

It may be possible to write a migration that automatically fixes that

#

Strictly speaking that would be the most correct approach

glass pecan
#

@tawdry vapor do you want me to lowercase it?

tawdry vapor
glass pecan
#

ok

tawdry vapor
#

The base url had to end in a slash too

stable mountainBOT
glass pecan
tawdry vapor
#

Okay then that pr on site should be good to go

glass pecan
#

this is correct, it's based on character index, i.e. the codepoint value iirc

#

str.casefold is best to use for case normalisation

#

because a lot of people only have to deal with english, probably

#

i suspect anyone who's had to process something like greek or such knows of casefold well

#

thanks @tawdry vapor for that

#

it's still based on codepoint value, but on the normalised strings. So for all the standard english letters, it's as if they're all lowered

#

403 Forbidden
wat

tawdry vapor
#

Yeah good luck with that one

glass pecan
#

This is a common issue (#127) with the deprecated GitHub Packages Docker Registry (aka docker.pkg.github.com). I suggest to migrate to GitHub Container Registry instead.

#

i thought we already were

#

@tawdry vapor guess what i changed

tawdry vapor
#

Nothing

glass pecan
#

exactly

#

ยฏ_(ใƒ„)_/ยฏ

tawdry vapor
#

Guess it's an upstream issue

patent pivot
#

Someone had that the other day yeah

#

I think it's a ghcr blip

glass pecan
#

i think it might be caused from ghcr possibly just letting our connection go halfway through pushing a layer

#

maybe

real steeple
#

!voiceverify

vocal prairie
clever wraith
#

how do i get links to certain site pages

#

.roles

vocal prairie
stable mountainBOT
#
Command Help

!site
Can also use: s

Commands for getting info about our website.

Subcommands:

!site faq
Info about the site's FAQ page.
!site help
Info about the site's Getting Help page.
!site home
Info about the website itself.
!site resources
Info about the site's Resources page.
!site rules [rules]...
Provides a link to all rules or, if specified, displays specific rule(s).
!site tools
Info about the site's Tools page.

clever wraith
#

ty

#

!site roles

#

am i missing something

#

@vocal prairie is this not how im suppose to do it?

brazen charm
#

It only has some predefined things, it can't fetch urls from the site itself

vocal prairie
#

There's nothing for the roles page.

clever wraith
#

thats a shame

vocal prairie
#

You can open an issue on the bot repository if you wish.

clever wraith
#

i already have 1 open

#

about smth different tho

green oriole
#

We have a bunch of short links like that

clever wraith
#

@green oriole can i get it with a command tho?

green oriole
#

Nope, I just memorised them personally ๐Ÿ‘€

clever wraith
#

that wouldnt be hard to make if the links are as simple as that

#

just website + page name

#

and doing !site roles would be nice to get a link to that

green oriole
#

I guess we could have a command to look up the short code but I wouldn't find that very useful

clever wraith
#

convenience, no?

clever wraith
#

i clicked...

green oriole
#

I mean, I was here when Joe added it haha

fallen patrol
#

damnit

vocal prairie
#

That's smart.

green oriole
sleek steppe
#

clicked but recognized the link, so didn't get rickrolled

fallen patrol
green oriole
#

I don't even know if we have an admin dashboard haha

vocal prairie
#

Really? I thought that was how you guys viewed stats and stuff.

#

Internal stats.

vale ibex
#

Nah that's all on grafana

#

and metabase for other things

brazen charm
sleek steppe
#

Also what's stopping sir-lancebot#597 from being merged ๐Ÿค”

dusky shoreBOT
sleek steppe
#

Ah

vale ibex
clever wraith
#

@sleek steppe idk if u know but i made changes to my command if u wanna check it out

sleek steppe
#

Will test later, gonna test #597 first

vale ibex
# sleek steppe Ah

yea, all PRs need to be approved by at least 2 staff, with at least one of which being a core dev

sleek steppe
#

Yeah I know about that part, I just thought there was a reason not much people have reviewed it thonk

vale ibex
#

ahhh, probably the large diff lol

short snow
#

I have approved your pr, or I have review still pending, lemme see

thorny obsidian
#

I'm not sure how many people are comfortable with executors and the like

short snow
brazen charm
vale ibex
stable mountainBOT
#
Sure.

Your reminder will arrive in 1 hour and 30 minutes!

clever wraith
clever wraith
sleek steppe
clever wraith
#

oh

vale ibex
short snow
#

Ah nvm, toxic said

clever wraith
#

.duckify

short snow
#

Ok yeah I have finished

clever wraith
short snow
#

Also a quackstack or needs another approval

#

Lemme get the link

fervent sage
#

yep

#

lol

short snow
#

Lol, Alec lost his powers on the pr

fervent sage
#

for no reason too, my commit was unneeded blob_pain

sleek steppe
#

Is there a way to test quackstack ๐Ÿค”

fervent sage
#

clone the repo and docker-compose up

sleek steppe
#

oh lol

short snow
#

Or uvicorn main:app โ€”reload

#

If I typed correctly

fervent sage
#

yeah that's probably the easier way

short snow
#

Docker, slower than ๐Ÿข

fervent sage
#

i've just got alias ucr="uvicorn main:app --port 1337 --reload" in my zshrc for convenience

short snow
#

Lol, same

#

uvistart

clever wraith
#

i wanted to know if other people can change my code without my approval in my issue

short snow
#

Instead

dry folio
#

@thorny obsidian i'm here now!

sleek steppe
#

People with write access should be able to make changes to your branxh

fervent sage
#

pydis org members can push commits to your pr branches if you enable that option yes

clever wraith
thorny obsidian
dry folio
short snow
dry folio
short snow
#

Without consulting him first

fervent sage
#

short answer: yes

thorny obsidian
#

You can navigate to the issues tab which is where we track feature requests and all that goodness

thorny obsidian
#

You can click the "new issue" button and there should be a template you can follow to fill out

#

In this case the "feature" template

wide elm
#

Can anyone just PR sir lancelot?

thorny obsidian
dry folio
sleek steppe
#

Sure anyone can at any time; doesn't mean it'll get approved mmLul

thorny obsidian
short snow
#

Someone already made a issue

clever wraith
#

Mighta been me ๐Ÿฅด

short snow
#

#dev-log message donโ€™t agree here, I think it should be put after there nickname

wide elm
#

pfft

short snow
#

And we can multiple versions of the cat

#

Like mine is one

#

Should edit the userโ€™s nickname

clever wraith
#

I like that better

short snow
#

As it is weere this is being used as of now

#

โ€œThatโ€ is yours or what I just said?

clever wraith
#

prob his

sleek steppe
#

@vale ibex you messed up somewhere lol

vocal prairie
#

I like it where you stick it between words

vale ibex
#

ummm wtf

#

lol

short snow
#

Lemme get the link

vale ibex
#

I think this is usually caused when the file names of the attachments don't match between whats in ctx.send and the embed

#

!remind 90M Also, this

stable mountainBOT
#
ROGER THAT

Your reminder will arrive in 1 hour and 30 minutes!

short snow
#

ok, idk why that happens

fallen patrol
#

wait what pr is that

sleek steppe
fallen patrol
vocal prairie
#

RIP me

sleek steppe
#

It needs to be M

vocal prairie
#

I figured that out after.

thorny obsidian
#

@clever wraith in case you miss it in the issue, you are assigned to it and it's approved. Have fun~

clever wraith
#

Thanks!

#

Speedy approval

thorny obsidian
#

I have to take training that is dreadfully boring, so I'm catching up on some PyDis tasks ยฏ_(ใƒ„)_/ยฏ

vocal prairie
#

Good luck getting through that training

sleek steppe
#

bot#1531 needs a speedy approval too CatJam (/s)

clever wraith
sleek steppe
#

Oh. Thanks for the invite, it's a really cool server

clever wraith
#

i might have been there once

short snow
#

The best airlines on the planet โœˆ๏ธ indeed

clever wraith
#

its not about snakes?

short snow
#

Snakified plane

stable mountainBOT
#

@vale ibex

It has arrived!

Here's your reminder: https://github.com/python-discord/bot/issues/1473.
[Jump back to when you created the reminder](#dev-contrib message)

stable mountainBOT
#

@vale ibex

It has arrived!

Here's your reminder: Also, ![this](https://cdn.discordapp.com/emojis/470903994118832130.webp?size=128 "this").
[Jump back to when you created the reminder](#dev-contrib message)

dusky shoreBOT
clever wraith
#

are dbs available to use for our own features?

green oriole
#

Are you asking if our bots have access to a database?

clever wraith
#

basically

#

im asking if i could make a feature that would use them

#

hypothetically though

fallen patrol
#

yesn't

vocal prairie
#

Yes, you could.

fallen patrol
fervent sage
#

iirc lancebot doesnt currently have a db so eh

vocal prairie
#

But only Python, Modmail, and Metricity use a proper db, Sir Lancebot uses Redis I think.

clever wraith
#

damn rip

fallen patrol
#

a volatile redis*

green oriole
#

Lancebot has access to a Redis cache

fervent sage
#

lance uses redis entirely as cache rather than any sort of persistent storage

fallen patrol
#

and @slow bone isn't even developed by this server

green oriole
#

Do you have anything in mind?

fallen patrol
#

however you can actually add a feature to @slow bone if you want by creating a plugin hehe

vocal prairie
#

@slow bone uses Mongo, right?

fervent sage
#

sqlite i think

#

no

#

mongo

clever wraith
#

also has there ever been a thought of making a level-like system? smth like MEE6 has

fervent sage
#

yes (context: mongo)

vocal prairie
fallen patrol
#

and a good reason to not add it either

fervent sage
#

I can list 10 reasons not to add levelling kek

vocal prairie
#

Same

fallen patrol
clever wraith
#

is it like spam inducing?

fallen patrol
fervent sage
#
  1. Incentivises spam
  2. Low quality conversation is encouraged
  3. Causes people to act 'elitist' about their roles/xp
    <more>
vocal prairie
clever wraith
#

yeah i get it

fervent sage
#

? (context: deleted)

clever wraith
#

also is there a topic limit, like how far from python could a feature be about

fallen patrol
#

what feature do you have in mind as a baseline?

thorny obsidian
vale ibex
#

Hah sorry @eternal owl commited before I saw your comment

thorny obsidian
#

@fallen patrol If you have an issue with staff behavior then contact modmail.

vale ibex
#

FWIW I copied the paginator from !otn l

eternal owl
#

btw, # This is so that output can be sorted on [0] before passed it's to the paginator, the [0] means the first index, i.e, UtcPosixTimestamp @vale ibex

#

line 189

vale ibex
#

Yea, that's what we sort on ๐Ÿ˜„

eternal owl
#

maybe we can replace [0] with UtcPosixTimestamp?

#

in the comment

vale ibex
#

What do you think of So that the list can be sorted on the UtcPosixTimestamp before the message is passed to the paginator.

eternal owl
#

so that the output ..

vale ibex
#

Updated

eternal owl
#

๐Ÿ‘

vale ibex
#

Done

eternal owl
#

thoughts on my comment?

#

do you have any other methods to suspend stream?

vale ibex
eternal owl
#

alright ๐Ÿ‘

#

guess thats the only way rn

#

maybe discord will add a feature in the future to disable stream

#

like server mute, etc

vale ibex
#

Yea that would be useful

fallen patrol
eternal owl
#

we are not counting on it

fallen patrol
eternal owl
#

nothing wrong with speculating

vale ibex
fallen patrol
#

ah

dry folio
#

@thorny obsidian we've worked out the code, could you please tell us where to submit?
code (only first prototype, probably gonna change):

    @commands.command(aliases=["แ“šแ˜แ—ข", "แ“šแ˜แ—ขify"])
    async def catify(self, ctx, *string: Optional[str]) -> None:
        if string == ():
            if len(ctx.author.name) > 28:
                await ctx.send("Your name exceeds character limits after catification. Please change your name!")
                return
            else:
                try:
                    await ctx.author.edit(nick=ctx.author.nick + " | แ“šแ˜แ—ข")
                except:
                    await ctx.author.edit(nick=ctx.author.name + " | แ“šแ˜แ—ข")
                return
        string = " ".join(string)
        print(string)

        string_list = string.split()
        for index, name in enumerate(string_list):
            if "cat" in name:
                string_list[index] = string_list[index].replace("cat", 'แ“šแ˜แ—ข')

        for i in range(random.randint(1, len(string_list)//3)):
            # insert cat at random index
            string_list.insert(random.randint(0, len(string_list)-1), "แ“šแ˜แ—ข")

        await ctx.channel.send(" ".join(string_list))
thorny obsidian
dry folio
sleek steppe
#

Yep, you'll need to create a pull request

dry folio
#

alright, got it

#

this is going to be r e v o l u t i o n a r y

sleek steppe
#

Does @dusky shore have permissions to change nicknames?

vale ibex
#

let me check

#

Yea, it does

thorny obsidian
#

I generally wouldn't want us to have the command change the nickname. I'd rather it just provide the text so someone can copy it to their nickname if they want.

sleek steppe
#

Yeah, like the *duckify command

clever wraith
#

Hey could someone take a look at sir-lancebot#691

dusky shoreBOT
clever wraith
#

oop

#

meant sir-lancebot#694

dusky shoreBOT
sleek steppe
#

Looking

fervent sage
#

time to go bother a core dev to look at my feature proposal /s

clever wraith
#

hey @fervent sage congrats on helper

fervent sage
#

lol thanks although about 4 weeks later than expected :P

clever wraith
#

sorry :/

sleek steppe
#

aaaaAAAA there were commits before I finished the review

clever wraith
#

lol sorry

fervent sage
#

no lol nothing to be sorry about

#

toxic enjoys the pain mmLol
well maybe not
but anyways
mmLol

sleek steppe
#

I hit refresh but the comment was still there lemon_pensive

patent pivot
#

I think changing the nickname on a command invoke is pretty fine imo

#

UX sucks to have to manually copy, especially since on iOS you can't copy text out of embeds

thorny obsidian
#

It won't be in an embed though, right?

patent pivot
#

Almost all Lancebot commands use embeds, so I assumed, I guess it's better if not, though still quite annoying on mobile since you can't selectively copy

#

Though I guess it's fine if we have no additional text

#

but yeah, I just think that for this it's totally fine to change nickname if we want to do that

patent pivot
#

that's just my personal take btw, not approval

dry folio
#

so we merge now @clever wraith?

patent pivot
#

my opinion doesn't override anyone

thorny obsidian
#

If you think it's fine then it's probably fine. I'm just a bit weird about potentially unexpectedly changing nicknames when it's not moderation actions. It's always jarring and generally "wtf" if you don't expect it from that command

dry folio
patent pivot
dry folio
thorny obsidian
#

For a PR to get merged at least one core dev needs to review and accept it and then one other staff/contributor

dry folio
clever wraith
#

yeah

dry folio
#

is joe a core dev?

patent pivot
#

There might be some surprise, I guess, but a) it's a command invoke so it's intentional user action b) nicknames are very easy to restore

thorny obsidian
#

mhm, if there aren't any blocking changes requested then it can get merged in.

patent pivot
#

I am a core dev, yeah

dry folio
#

so joe's approval + kutiekat's approval = good!

thorny obsidian
#

I think a bunch of the core devs are busy right now, but I'm sure one might find time to review in the next day or two

patent pivot
#

Although Toxic's comment about using display name has merit, what do we think on that?

thorny obsidian
#

I'll have to properly test it before I sign off on it, which I can only do on my home computer

patent pivot
#

I'm going to do a code/doc review now

clever wraith
dry folio
#

i understand. thank you @patent pivot and @thorny obsidian immensely for your time!

clever wraith
#

okay, sounds good!

#

!remind 1h check on sir-lancebot#294

stable mountainBOT
#
Can do!

Your reminder will arrive in 1 hour!

thorny obsidian
#

I think you meant 694 =P

patent pivot
#

that wasn't the feedback item that toxic meant I don't think

clever wraith
sleek steppe
#

There's one more bug

patent pivot
#

the argument shouldn't be a type of string list

clever wraith
#

fixed display name thing

clever wraith
patent pivot
#

review left

dusky shoreBOT
thorny obsidian
#

oooh, thank you for taking up that issue

#

Maybe I do set up Python to review that...

#

... in my.... *checks calendar* no spare time available

#

But I'll see if I can get something spun up and contribute a review there.

sleek steppe
#

Even though kutie said in the issue that the default should be something like 5 or 10

thorny obsidian
#

Oh I have no idea. I was suggesting maybe 5 or 10 minutes but there's also logic for the default time to match the tempmute implementation

#

You just need 1 core dev + 1 staff/contrib approval. It just sends out the review request wide.

sleek steppe
#

That isn't a lot

thorny obsidian
#

Are you looking to tackle more issues? =P

sleek steppe
#

@clever wraith what error are you getting ๐Ÿค”? I'm curious

sleek steppe
patent pivot
#

@clever wraith you'll need to pull the new changes locally to fix up linting

sleek steppe
#

I have a PR fixing one line I think

#

multiple

thorny obsidian
#

That is not at all a bad thing. At this point with Python's complexity we should be giving out cookies to people who can remove lines without impacting functionality or readability

fervent sage
cold island
#

I'll review that one now

clever wraith
#

i want the cookies

patent pivot
#

oh you have

#

nice

sleek steppe
#

Is it really optimizing anything

patent pivot
#

spot laundmo + vco

#

database queries per second

thorny obsidian
#

stress testing a system for an upcoming event

fervent sage
#

me and laundmo dosing stress testing a thing

sleek steppe
#

lol

fervent sage
#

i'm gonna start up my client again mmLol

patent pivot
#

tbf we peaked at 2.46k per second so I'll take it

sleek steppe
fervent sage
#

ic we have gone up again

patent pivot
#

worst case scenario event mmLul

thorny obsidian
clever wraith
#

alright joe, that one fix you suggested has been made

sleek steppe
sleek steppe
patent pivot
#

stop

#

collaborate and listen

fervent sage
sleek steppe
#

Probably not

patent pivot
#

so

#

yeah

#

I'd recommend working on a fork

sleek steppe
#

Fine my fork it is

fervent sage
#

joe am i beating laundmo again?

eternal owl
#

which PR is urs @clever wraith ?

dusky shoreBOT
eternal owl
#

alright

fervent sage
fallen patrol
fallen patrol
fervent sage
#

no we're the spikes at the end lol

patent pivot
#

laund is the first bump iirc

#

laund + vco combined is the second

fallen patrol
#

is that a prod db?

clever wraith
#

alright joe fixed that small change let me know how it is locally

fallen patrol
eternal owl
#

requested a small change @clever wraith

fervent sage
#

@sleek steppe which branch?

sleek steppe
#

I think we could just split the seasons in half and work on them

fervent sage
#

sure, I'll make a start on evergreen if you want

sleek steppe
#

Sounds good

fervent sage
#

actually what's on the agenda for being fixed up, it's just general improvements right?

eternal owl
#

make sure to read the new comments @clever wraith

fervent sage
#

so missing/wrong typehints, any weird spelling, simplifying functions that are needlessly complex, that sorta thing

fallen patrol
eternal owl
sleek steppe
#

I'll start with halloween

#

@fervent sage Do you think it'd be a good idea to change commands.Bot type hints to bot.Bot?

fervent sage
#

yes

#

means we get useful suggestions like bot.http_session

#

which i'd have quite liked earlier

eternal owl
whole forge
patent pivot
#

lol

#

@fallen patrol yeah, it's a prod db, it isn't a prod service

thorny obsidian
#

๐Ÿงน back to the proper event organizing channel!! ๐Ÿงน

patent pivot
#

they're just running queries on a db in our postgres

fallen patrol
#

how did you make it take a lot of concurrent requests?

patent pivot
#

lol

clever wraith
#

just added a bunch of cats

patent pivot
#

it just took them ยฏ_(ใƒ„)_/ยฏ

#

it's a pretty efficient service and database

sleek steppe
#

Hmm, is it preferred to use with ctx.typing() or async with ctx.typing()

fervent sage
patent pivot
#

they're back at it ๐Ÿ˜”

sleek steppe
fervent sage
#

smh now that laundmo's doing it again half my requests error

patent pivot
#

lmfao

thorny obsidian
#

at least we know we'll be able to handle the event even if it gets popular

patent pivot
#

which error are you even getting at this point because all i see is 200

fallen patrol
#

hey joe, which cog authenicates github requests again?

thorny obsidian
#

gah! boring training finally done! I can now accomplish some real work!

fervent sage
#

i'm not sure, i dont get the error content because it's getting a json decode error because its returning content type text/html for whatever reason

patent pivot
fallen patrol
#

trying to find the code that makes github requests with a token

fervent sage
#

p sure its in .src Issues

fallen patrol
#

in either @stable mountain or @dusky shore

patent pivot
#

uhhh

fervent sage
#

l...lmao

fallen patrol
#

no that edit was never needed

patent pivot
#

I don't think we have authenticated requests yet do we

#

well, all issue stuff is handled on lancebot

#

I know that much

fallen patrol
#

smh ur the guy who said they were

fervent sage
#

i love how this lancebot cleanup is basically me and toxic for some reason willingly volunteering to review all of the source lmao

fallen patrol
#

okay yes

thorny obsidian
#

listen I'm just gonna happily accept the work and provide virtual cookies

fallen patrol
#

which imo should be merged lmfao

sleek steppe
fallen patrol
#

search for logging

sleek steppe
#

logging is the module and log is the Logger object

fallen patrol
#

if its logging.INFO that's fine

sleek steppe
#

No the function

fallen patrol
#

but as a property not a method

fallen patrol
stable mountainBOT
#

@clever wraith

It has arrived!

Here's your reminder: check on sir-lancebot#294.
[Jump back to when you created the reminder](#dev-contrib message)

clever wraith
#

Okay

patent pivot
fervent sage
#

I'm counting this as a success

whole forge
#

and what we see here is cloudflare kicking me and vco out because "oh noe a DDoS"

patent pivot
#

lmfao

fervent sage
#

actually they only kicked you out

#

it still worked fine for me

whole forge
#

ah, idiots

clever wraith
#

@vale ibex fixed the changes!

fervent sage
#

@sleek steppe do you think we should be fixing punctuation inconsistencies, for example a load of messages end with . and many dont, seemingly at random

fallen patrol
#

bruh

#

where on github does one get one of those tokens?

fervent sage
eternal owl
#

ye

#

go through the conversations

fervent sage
eternal owl
#

no, just define it below the import statements in the superstarify.py file

#

it should

#

mb, did not include it in the 2nd suggestion

#

looks like you have been mistaken, lol @clever wraith

#

in the function signature, it stays t.Optional[Expiry]

#

duration: t.Optional[Duration]
this should be duration: t.Optional[Expiry]

#

we want to user to either specify the duration or the datetime in ISO format or if they don't specify anything, the default will be duration of 1 hour

#

we need 2 approvals

dusky shoreBOT
clever wraith
#

hey @patent pivot have you had time to test the .catify locally?

patent pivot
#

I've not, I probably won't be able to anytime soon

#

Kat said she'd get around to it

#

but don't stress over it, the feature is done from your point of view for now so you can leave it in our hands and we'll review

clever wraith
clever wraith
#

lol

patent pivot
#

I'm sure she will at some point or someone else on the Core team will, we are just volunteers at the end of the day

#

actually I can spin up a codespace for catify

#

@clever wraith getting errors locally

#

yeah

#

so

#

single words break it

#

e.g. .catify hello results in ```
04/19/21 22:00:45 - root DEBUG: Error Encountered: ValueError - empty range for randrange() (1, 1, 0), Command: catify, Author: joe#6000, Channel: bot-commands
04/19/21 22:00:45 - bot.exts.evergreen.error_handler ERROR: Unhandled command error: empty range for randrange() (1, 1, 0)
Traceback (most recent call last):
File "/workspaces/sir-lancebot/.venv/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "/workspaces/sir-lancebot/bot/exts/evergreen/catify.py", line 36, in catify
for _i in range(random.randint(1, len(string_list) // 2)):
File "/opt/python/3.8.6/lib/python3.8/random.py", line 248, in randint
return self.randrange(a, b+1)
File "/opt/python/3.8.6/lib/python3.8/random.py", line 226, in randrange
raise ValueError("empty range for randrange() (%d, %d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (1, 1, 0)

sleek steppe
#

Smart idea

patent pivot
#

@clever wraith another review left

sleek steppe
#

For bot#1540, maybe a !redo command?

patent pivot
#

yeah, as well as inserting a cat at a random index, or altering the nickname

sleek steppe
#

are we fine with editing the nickname?

patent pivot
#

yep

#

I think that for a command which is invoked by a user knowingly and providing it is documented, nickname altering is fine

#

a nickname is very easy to reset

sleek steppe
#

It hurts when I see the unused self variable

#

line 121 actually

#

staticmethods solve that

patent pivot
#

you can't use staticmethods with discord.py since the context argument must be passed

#

or

#

wait

#

no you can

#

yeah why does no one do that lol

#

I think it's fine without, it's really just a QoL thing and I'd rather keep things standard

#

it's not even QoL really

thorny obsidian
#

eeey nice!

sleek steppe
#

I finished cleaning up halloween

#

only 14 files changed, 216 insertions(+), 230 deletions(-)

fallen patrol
#

!guild

stable mountainBOT
#
Server Information

Created: 4 years, 3 months and 11 days ago
Voice region: europe
Features: ANIMATED_ICON, PREVIEW_ENABLED, INVITE_SPLASH, PARTNERED, VIP_REGIONS, NEWS, WELCOME_SCREEN_ENABLED, DISCOVERABLE, RELAY_ENABLED, COMMUNITY, BANNER, MEMBER_VERIFICATION_GATE_ENABLED, VANITY_URL
Roles: 79
Member status: status_online 38951 status_offline 140956

Members: 179907

Helpers: 101
Moderation Team: 29
Admins: 15
Owners: 3
Contributors: 37

Channels: 212

Category: 27
News: 11
Staff: 58
Text: 106
Voice: 10

fallen patrol
#

odd.โ€ฆ

#

no additional features...

patent pivot
#

which additional features are you looking for

fallen patrol
#

red banner and such, even after relaunching discord

#

no other channels in here were affected of what i looked at

patent pivot
#

ah

fallen patrol
#

this is the only channel where i can view the features

#

figured it was worth a check since some of them mess up typing events

fallen patrol
#

fyi i have not forgotten about the color command

#

i just

#

i have too many projects but i will get to the command anyhow

sleek steppe
#

How close are you to finishing it lol

vocal prairie
#

I'll do the same for the about command

#

Eventually

#

Soon

fallen patrol
#

I have around 6 projects plus school

#

fwiw i have the logic pretty much done just haven't cloned sir-lancebot since i need to do that on an x86 server

#

or well

#

i have an x86 server i just

#

don't wanna go through the pain of trying on ARM

#

and i haven't been doing much with that server for the past week

gritty wind
#

@wide elm any reason you're commenting code instead of committing it to Kronifer's fork? Just a bit unusual is all

gritty wind
#

Kronifer can give you permission to commit to that branch

wide elm
#

oh lol

#

Thanks :D

gritty wind
#

You wouldn't be able to review, but you probably shouldn't be reviewing your own code anyway

wide elm
#

yeah

clever wraith
#

@wide elm you should be invited to be a collaborator now

eternal owl
#

@short snow

short snow
#

cool, i will have a look, i think i had got a fix for that locally

gritty bolt
#

If I have constants inside a class, should they moved outside of the class, to the top of the file?

gritty bolt
#

Okay, thanks

short snow
#

bot#1541 , messages already stored in metricity, so should there be another table for help channel messages?

dusky shoreBOT
vale ibex
#

iirc message meta data is stored. This is going to be the actual content of the message, so that we can do some NLP on it

#

There's some privacy implementation detail that I left out of the issue, which I should add.

vale ibex
#

Added that to the issue now

patent pivot
#

hello

#

i have commented on the issue

#

metricity will not be used for this I don't think, if anything we'll put it in bot

short snow
patent pivot
#

we'll make one

short snow
#

like metricity?

patent pivot
#

I'm just saying we shouldn't try integrate this into metricity

#

no

short snow
#

ok

patent pivot
#

it'll be a brand new service, or if not then integrated into bot

vale ibex
#

maybe a basic fastapi microservice, with a psql db

#

the bot helpchannel system just posts to this api

patent pivot
#

that was what I was thinking

#

yeah

vale ibex
#

๐Ÿ‘

patent pivot
#

and we could even handle compliance at that API

#

so we post all data and the microservice drops it

vale ibex
#

Yea, agreed

#

I'm wondering if we should also store opt-out status in this other service then too

patent pivot
#

yeah, we should

vale ibex
#

Cool, I'll setup a new repo after work and get some issues together

patent pivot
#

nice

short snow
#

yeah a fastapi microservice would be good, would it be integrated into the site, to see the information

patent pivot
#

nah

vale ibex
#

!remind 6h fastapi fun times

stable mountainBOT
#
Affirmative!

Your reminder will arrive in 6 hours!

patent pivot
#

we won't build a frontend for it, since we have the internal tooling to view it and export datasets for those who need access to it

#

it'll be all administrators and a subset of moderators+helpers who want to work with NLP

short snow
#

nice, another command for working with it, or just using int e

patent pivot
#

no commands on bot should be added other than the necessary opt-in/out commands

#

but no, not int e

#

I mean internal tooling as in off discord

short snow
#

oh like that

#

how would you do some NLP on it, if you can't get it through any command?

patent pivot
#

I'll export from postgres

#

it doesn't need to be pulled into discord (nor do I really think it should)

short snow
#

won't it be easier if we pull it into discord

patent pivot
#

I don't see why

#

I'd much rather have fine grained control over access rather than dumping ZIP files

#

there is potential for this dataset to be very large

short snow
#

dumping zip files? i didn't get you

#

we could access it through an api

#

hmm, yeah it is gonna be fairly a big one

#

i get it know, keeping it off discord would be better ๐Ÿ‘

green oriole
#

as well as the fact that other communities use metricity
I didn't know it was infrastructure agnostic ๐Ÿ‘€

patent pivot
green oriole
#

My thoughts with making the dataset public is that anybody could technically scrap the help channels using a self bot, although I didn't think about it privacy wise lemon_sweat

clever wraith
#

cant you not make a new commit if u only change doscstring?

#

its saying im working on a clean tree

short snow
#

you can ammend to the earlier commit

#

but there is no way to push some change without commiting

clever wraith
#

when i try to push it says im working on a clean tree

#

even tho i changed the docstring

#

and i did do all the . git add, all those precommits and so on

vale ibex
#

did you git add and git commit before pushing?

clever wraith
#

ye ye

vale ibex
#

do git log

#

is your commit there?

clever wraith
#

i dont think so

#

i did all this yesterday

#

ill just try again

short snow
#

which editor are you working on?

clever wraith
#

pycharm?

#

is that what ur asking

short snow
#

ok then you can press the push button on the cross, and check if you have any commits to push

#

and there is a commit button where you can check which files you have added but not commited

clever wraith
#

wait how do i see my full code on github

#

in the issue

#

cuz i only see changes and conversations

short snow
#

the files section on the pr tab

clever wraith
#

found it

#

wait

#

can i just change it from github?

#

cuz its just docstrings

#

i have an option to edit this file

#

@short snow

short snow
#

you could, but you can't lint on github

#

sometimes, the extra whitespaces are left out

#

which are not seen on the diff

#

so i would recommend doing it locally

clever wraith
#

ok

#

just said everything is up to date

short snow
#

do git status

clever wraith
#

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   bot/exts/evergreen/splitify.py```
short snow
#

you didn't do git add <file path>

clever wraith
#

i just do git add .

#

and i do it after i activate shell

short snow
#

ok yeah

#

you forgot git commit -m "good commit message here"

#

Changes to be committed:

clever wraith
#

im doing it now, but yeah

#

ok now its all good

short snow
clever wraith
#

if no one asks for anymore changes i think it could get approved

short snow
#

yeah, if no one has any changes, they would approve your pr

#

and once you get 2 approvals from staff, it can get merged

whole forge
#

it also helps if you mention the PR in here when talking about it, so that people looking at this channel have a easy time finding it

fervent sage
#

@clever wraith since github is being a dick rn, there's `193,000` :nerd: with a space and `perfect square`:exclamation: without one

#

same with the `positive number`:exclamation: one

whole forge
#

seems fine to me to have this emoji without a spaceโ—

fervent sage
#

its still inconsistent

#

also there's a 400% chance that android's markdown rendering will break at some point soon with something like a codeblock directly next to an emoji

#

since it always does that stuff

whole forge
#

consider:
193,000 ๐Ÿค“
193,000 ๐Ÿค“
perfect squareโ—
perfect square โ—

fervent sage
#

tbh i dont see why the perfect square needs to be in a codeblock

clever wraith
#

because discord is being a dick on how it displays emojis

short snow
#

lol

fervent sage
#

?

#

how does that make it need to be in a codeblock?