#dev-contrib

1 messages ยท Page 43 of 1

eternal owl
#

Had to press shift

clever wraith
#

the upvote emoji is bugging me so much

eternal owl
#

which one would you suggest

clever wraith
#

is there a rule it needs to be white ?

molten bough
#

I guess you could use the official reddit upvote colour for it

clever wraith
#

are you only fetching the one with upvotes > 0 ?

green oriole
#

I also feel like the icons are a bit too big, but it looks pretty good!

eternal owl
#

yes it has to be grey @clever wraith

clever wraith
#

can we have a grey background that of a embed , so in light mode it doesn't feel hard to notice

eternal owl
#

and I am fetching random posts (5 posts out of top 25)

clever wraith
molten bough
#

Embed backgrounds can't be changed

#

Oh, he said he was changing that

eternal owl
#

AG i said I applied the new colour only to image emoji

molten bough
#

Only the picture icon was the example

clever wraith
#

can you pass me that emoji ?

molten bough
clever wraith
#

yeah that one is what i was talking like

eternal owl
#

And now I am having a tough time adding the same colour to other emojis ๐Ÿ˜‚

clever wraith
#

no the other one

#

its really easy

eternal owl
#

is hex code same as HTML notation?

molten bough
#

Yeah

eternal owl
#

Okay then Im having a tough time

green oriole
#

GIMP uses RGB values?

eternal owl
#

I applied the same hex code

molten bough
#

Applied using what tool?

eternal owl
#

colourize

molten bough
#

So you clicked on the colour box, entered the hex code into the relevant box, and hit enter?

eternal owl
#

yes

molten bough
#

and then what do you get

#

no change?

eternal owl
#

no

clever wraith
eternal owl
molten bough
#

yes, so you hit OK

eternal owl
#

I hit a million times

green oriole
#

Not even HSV :D

molten bough
#

But you have a white image, so I don't think it'll change anything

clever wraith
#

7e8989 is the html notation

eternal owl
#

nop it dint change a thing

molten bough
#

There's an exposure tool

#

Use that one to turn the exposure and targetted black down to minimum

#

so you get a black image

clever wraith
#

just pass it to me
i will do it for u

molten bough
#

then colourize it

green oriole
#

Can't add a HSV filter?

eternal owl
#

@clever wraith I will give you few

clever wraith
#

select
color range
invert
fill
delete layer
that all you have to do

eternal owl
#

do these two

#

same colour as that image pic

#

I will do the others

molten bough
#

I don't think we want cutout emojis

eternal owl
#

what do you mean by cutout emojis?

molten bough
#

See the one AG posted

#

It's a cutout

eternal owl
#

ooh

molten bough
#

And it won't work anyway, the emoji goes to the edge of the image

green oriole
#

Plus it is kind of sharpy

#

You could cut your finger on this emoji

molten bough
#

It's the shape of Reddit's actual upvote arrow

green oriole
#

It is? Well

molten bough
#

forgot I had this

green oriole
#

The proportions aren't the same though

molten bough
#

Yeah, they're not

#

the top is too fat

eternal owl
#

hey g, that exposure dosent work

#

Lemme try it for other emojis

clever wraith
molten bough
#

Just use the colour tools to get yourself a black image

#

@clever wraith you're doing the exact opposite of what he wants

clever wraith
#

I think i need to crop it more

green oriole
#

Or at least invert it

eternal owl
#

I have an idea

molten bough
#
  1. Don't crop it
eternal owl
#

give me 2min

molten bough
#
  1. The white should be grey
clever wraith
#

I didn't

#

where is the whit ?

molten bough
#

Well you deleted it

clever wraith
#

no i did't

molten bough
#

yeah, you did

clever wraith
#

no i did'nt

molten bough
#

you've made a cutout

#

you set the background to grey and deleted the white emote you were given

eternal owl
#

lol

molten bough
#

No, that has the same problem

clever wraith
#

ohhh so you want me to convert white to grey

molten bough
#

yes

#

(and don't crop)

clever wraith
#

ahhhh

eternal owl
#

let it be 512x512

#

I will give u the rest, i cant do it

molten bough
#

yes, it needs to be an exactly square 512

green oriole
#

It is quite big for an emoji, isn't it?

molten bough
#

Future-proofing

eternal owl
#

lol

molten bough
#

Hey man, we wired our house with cat 7, never going to need to replace that in my lifetime

clever wraith
molten bough
#

Yes, that's it

eternal owl
#

๐Ÿ‘

molten bough
#

Teamwork \o/

eternal owl
#

\o/

clever wraith
eternal owl
#

put everything in google drive folder or dropbox folder and send it

molten bough
#

Now you're getting it

eternal owl
#

yes yes thats the way

clever wraith
eternal owl
#

yep

#

what software are you using?

clever wraith
eternal owl
#

yeaa

clever wraith
#

GIMP

eternal owl
#

what!

molten bough
#

Yeah, it's perfectly doable in GIMP

#

I made the PyCraft icon in GIMP too

eternal owl
#

maybe I messed up somewhere

clever wraith
#

anything more ?

eternal owl
#

nothing else

#

lets grab them together

molten bough
#

the arrow

eternal owl
#

oh yea arrow

stable mountainBOT
#

Hey @clever wraith!

It looks like you tried to attach a file type that we do not allow. We currently allow the following file types: .3gp, .3g2, .avi, .bmp, .gif, .h264, .jpg, .jpeg, .m4v, .mkv, .mov, .mp4, .mpeg, .mpg, .png, .tiff, .wmv, .svg, .psd, .ai, .aep, .xcf, .mp3, .wav, .ogg, .md.

Feel free to ask in #community-meta if you think this is a mistake.

eternal owl
#

lol

clever wraith
#

ahhhhhh

molten bough
#

That arrow looks a bit thin

eternal owl
#

we can change it

clever wraith
#

how about this ?

molten bough
#

Try using this one

#

It's a bit more rounded

#

oh wait, this is a pro icon

clever wraith
#

we should use one by reddit , for obvious reasons

#

btw is that orange or red ?

molten bough
#

orangered

eternal owl
#

we need grey

molten bough
#

that's the name of the colour

#

but yeah, they want grey

eternal owl
molten bough
#

That could work

#

you should be able to colourise that on your own too

clever wraith
#

ewkk
no offense

#

mine one make sense actually

molten bough
#

right, but we're using font-awesome icons, so it does make sense to keep it consistent

clever wraith
#

why are we using it ?

eternal owl
#

cuz they are free

molten bough
#

Other icons and emoji use them as well

#

As does the site

green oriole
#

Because we are too lazy to make all the icons ourselves

eternal owl
#

lets decide fast

clever wraith
#

what about this one

sullen phoenix
clever wraith
#

reddit PC uses it

#

looks like a mushroom @sullen phoenix

eternal owl
#

is it too small?

molten bough
#

lol f1re

sullen phoenix
#

lol

molten bough
#

is that the caret up and the arrow base?

#

to be clear we can use pro icons

#

the problem is, they can't go on git

clever wraith
#

the mario lil enemies

eternal owl
#

they wont go on git

molten bough
#

hmm

eternal owl
#

cuz we will add them here

molten bough
#

well, we do have 100 seats I suppose

eternal owl
#

in the server

molten bough
#

they can't be uploaded here either

eternal owl
#

why

molten bough
#

they'll have to go on the emoji server

#

Licensing

clever wraith
#

make sense

#

shhh we updated them so we own them now xD

eternal owl
#

so your telling me that i cant do the following:

upvote_emoji = self.bot.get_emoji(674087977001025557)
        comment_emoji = self.bot.get_emoji(674087977453879296)
        user_emoji = self.bot.get_emoji(674087978167042121)
        text_emoji = self.bot.get_emoji(674087976875327541)
        video_emoji = self.bot.get_emoji(674087977126854659)
        image_emoji = self.bot.get_emoji(674594916655169536)
        reddit_emoji = self.bot.get_emoji(674087978628284417)```
molten bough
#

You can use the free ones

clever wraith
#

I own them ;-; actually

molten bough
#

And we can use the pro ones, but they have to be uploaded to the emoji server so that only the staff and bot can use them

eternal owl
#

@molten bough we selected all free ones, so we can upload them here, right?

molten bough
#

if that's what you want to do, I can make you a grey arrow

#

but look at alternatives first

clever wraith
#

can i get entry in emoji server ?
i wanna see all emojis used

molten bough
#

not if we're using pro icons

#

haha

eternal owl
#

lets decide the arrow emoji

#

or has it been decided

#

the short one?

molten bough
#

I think the wider one you posted would work fine

clever wraith
#

i like this one

molten bough
#

Caret up is.. interesting, but I don't think so

#

I dunno

eternal owl
#

nooo, we need a body for the arrow

molten bough
#

See how it looks I guess

clever wraith
#

reddit used it at some point

molten bough
#

reddit did use a caret, yeah

#

try it, rohan

#

can't hurt

eternal owl
#

okay send it

molten bough
#

you have it

clever wraith
molten bough
#

it's free

clever wraith
#

not that one

molten bough
#

caret-up

eternal owl
#

okay

clever wraith
#

ok @eternal owl give me the 512 one i will convert it for you

eternal owl
#

on it

clever wraith
#

and why i still don't have contributors role , Rohan have one :C

molten bough
#

Oh yeah, you did contribute a bot feature, didn't you

clever wraith
#

yeah i did

eternal owl
#

512x512

clever wraith
#
  • bug fixes ,
    new plan also
molten bough
#

I think this one actually could work okay

clever wraith
molten bough
#

noice

eternal owl
#

okay cool

#

2min

clever wraith
#

I think i did something terrible

#

look at the corners

#

@molten bough

molten bough
#

oh, you murdered the transparency

#

You need to use the colourise tool

#

it's in the colour menu, at the bottom

clever wraith
#

I think its ok
its gonna be too small to see

molten bough
#

MIght as well learn a new tool

#

:>

clever wraith
#

not at all with gimp

molten bough
#

don't make me try to start gimp on this 4GiB laptop

clever wraith
#

I use it on 8 GiB PC

molten bough
#

I'm running chrome

clever wraith
#

ahh make sense now

molten bough
#

Anyway, it's probably OK, but you should do it properly

#

Take the black one, colorize, that'll do it

clever wraith
molten bough
#

ignore the sliders, you just have to set the colour

clever wraith
#

see how it selects it

molten bough
#

the colorize tool doesn't need a selection either

clever wraith
#

I cant find colorize tool

#

i found bucket fill

eternal owl
#

guys its fine

clever wraith
#

can we allign those , by adding spaces ?

eternal owl
#

I will try using format strings

clever wraith
#

like
๐Ÿ˜„ ๐Ÿ˜ 
๐Ÿ˜„ ๐Ÿ˜ 
๐Ÿ˜„ ๐Ÿ˜ 
๐Ÿ˜„ ๐Ÿ˜ 

#

one below other

eternal owl
#

got it

woeful thorn
#

Itโ€™s not going to work, itโ€™s not a fixed width font

clever wraith
#

add fake spaces

eternal owl
#

I can do it

#

I have done it before

clever wraith
#

to mimic character

eternal owl
#

I will need to copy the code from my dev bot

woeful thorn
#

I donโ€™t see how fake spaces changes anything

clever wraith
#

make sure to lint it then

eternal owl
#

wtf u just changed ur name

clever wraith
#

xDDDD

molten bough
#

lol, rohan

clever wraith
#

seems like i need to take a dive in my old code

#

uhh why did'nt i used a function here

molten bough
#

You can do it with spaces, but as ELA says, it's not a fixed-width font, it won't work unless the spaces are the same width as all of the numbers

eternal owl
#

{:<{}s}'.format(member.name, 30) this adds dummy space

molten bough
#

and, well

#

1
0

#

they're not all the same

eternal owl
#

replace member.name with whatever variable

clever wraith
#

try it still
if it works then its <3

molten bough
#

and 2 I don't think you can just add spaces in an inline code block

eternal owl
#

it should, it worked with python3.7

molten bough
#

oh, you can

#

That could work

hardy gorge
#

I think they changed that; I wonder if it renders the same on each platform

#

It used to strip leading/trailing whitespace

molten bough
#

It doesn't work on mobile

#

just checked

clever wraith
#

there is a good issue opened on @stable mountain git by me for that

#

@hardy gorge if you talking about that

hardy gorge
#

I was only talking about Discord stripping whitespace in inline blocks of code

#

Not sure what you are talking about

clever wraith
molten bough
#

I think the best you could do is like 0020

#

but I dunno, that might be a bit messy

hardy gorge
#

Ah, that's a different issue; that's not related to Discord

clever wraith
#

I think Ela had a good point there
its not gonna work , i just tried it

#

its more of a font you use thing

#

previouse i used a blocky font that's why it worked for me previously

molten bough
#

You could put the numerical stats on the next line

#

It'd look a bit cleaner then

clever wraith
#

also @eternal owl you are missing a space after bullets
1.hello
should be

  1. hello
eternal owl
#

Im geting syntax error

#
post_stats += (
                "{:<{}s}".format(votes, 20)
                "{:<{}s}".format(comments, 20)
                '\u2002{user_emoji}\u2002{post["data"]["author"]}\n'
                          )```
#

votes = f'{upvote_emoji}{post["data"]["ups"]}' comments = f'{comment_emoji}\u2002{ post["data"]["num_comments"]}'

#

"{:<{}s}".format(comments, 20) ^ SyntaxError: invalid syntax

green oriole
#

You forgot a comma at the end of the second line

eternal owl
#

oh no

#

I think its +

clever wraith
#

or line escape

hardy gorge
#

You forgot to add () around the string

#

Implicit continuation relies it here

#

Can you share the code with proper formatting?

#

In a code block

clever wraith
#

I think we should scratch the idea here
its not gonna work either way

eternal owl
#
votes = f'{upvote_emoji}{post["data"]["ups"]}'
comments = f'{comment_emoji}\u2002{ post["data"]["num_comments"]}'
post_stats += (
"{:<{}s}".format(votes, 20) +
"{:<{}s}".format(comments, 20) +
f'\u2002{user_emoji}\u2002{post["data"]["author"]}\n'
)```
#

@hardy gorge

hardy gorge
#

Looks fine

#

!e

post_stats = ""
user_emoji = "c"
upvote_emoji = "a"
comment_emoji = "b"
post = {"data": {"ups": 100, "num_comments": 10, "author": "Ves"}}


votes = f'{upvote_emoji}{post["data"]["ups"]}'
comments = f'{comment_emoji}\u2002{ post["data"]["num_comments"]}'
post_stats += (
"{:<{}s}".format(votes, 20) +
"{:<{}s}".format(comments, 20) +
f'\u2002{user_emoji}\u2002{post["data"]["author"]}\n'
)

print(post_stats)
stable mountainBOT
#

@hardy gorge :white_check_mark: Your eval job has completed with return code 0.

a100                bโ€‚10                โ€‚cโ€‚Ves
clever wraith
#

he added + now

hardy gorge
#

!e

post_stats = ""
user_emoji = "c"
upvote_emoji = "a"
comment_emoji = "b"
post = {"data": {"ups": 100, "num_comments": 10, "author": "Ves"}}


votes = f'{upvote_emoji}{post["data"]["ups"]}'
comments = f'{comment_emoji}\u2002{ post["data"]["num_comments"]}'
post_stats += (
    f"{votes:<20s}"
    f"{comments:<20s}"
    f'\u2002{user_emoji}\u2002{post["data"]["author"]}\n'
)
print(post_stats)
stable mountainBOT
#

@hardy gorge :white_check_mark: Your eval job has completed with return code 0.

a100                bโ€‚10                โ€‚cโ€‚Ves
eternal owl
#

well actully its not working

hardy gorge
#

It will probably not line up nicely, no

eternal owl
#

I will copy ur code

#

its not working

#

I think we cant use it

clever wraith
#

for reason specified

eternal owl
#

Im out for dinner

clever wraith
#

its 7:30
who eats dinner this quick

eternal owl
#

I sleep at 10

eternal owl
#

I'm bck

#

Shall we upload the emojis to the server?

molten bough
#

What you should do is test with the emojis, get a few screenshots, and add them to your pull request comment

#

Since they're all free, you could upload them to your comment too, if that's your deal

eternal owl
#

Okay

#

AG can send the emojis zip also if needed

#

@hardy gorge is it fine if i remove that space in the bemyvalentine command?

eternal owl
#

ooh shit

#

i forgot to uninstall buttons

#

and the pipfile is commited

green oriole
#

Uninstall?

molten bough
#

just make another commit

#

pipenv uninstall buttons

green oriole
#

Ah

#

You can also revert the commit on the Pipfile and lockfile

clever wraith
#

wait you are taking everything from buttons and then removing buttons lib ?

eternal owl
#

no

#

Im using seasonalbots paginator

#

Im not using buttons anymore

#

indentation contains tabs

#

how to solve this in vs code

green oriole
#

_Bad squishy _

#

You can just use the search and replace

eternal owl
#

search what and replace with?

green oriole
#

Replace a tab with four spaces

eternal owl
#

how to enter a tab in the find bar, cuz when i press tab, it jumps to the next field

green oriole
#

Copy paste it

#

Or use \t if it supports it

eternal owl
#

okay

#

my linting failed because of this
Flake8 failed to load plugin "TYP" due to No module named 'typed_ast'.

green oriole
#

Have you tried to sync your pipenv environment?

eternal owl
#

It think its been quite a while I have synced with the master branch itself ๐Ÿ˜…

#

should I click on update branch?

woeful thorn
#

You canโ€™t use 3.8 with an old lock

#

And you shouldnโ€™t be relocking with 3.8 if the project is still on 3.7

eternal owl
#

shit

green oriole
#

_English Language Arts? _

eternal owl
#

what to do now

hardy gorge
#

The lockfile is missing a lot of dependencies we normally use

#

Did you relock?

eternal owl
#

it said locking when i uninstalled buttons

green oriole
#

You can do pipenv update directly too

eternal owl
#

should I update my branch?

green oriole
#

Yes

eternal owl
#

okay

green oriole
#

Since reviewers shouldn't have to re-lock the environment themselves

eternal owl
#

okay now, tell me what should I do

#

i updated branch

#

should i get 3.7?

#

I do have 3.7.5

hardy gorge
#

I think you should be able to checkout the lockfile from master to have a version that's equal to the one that we're using. Make sure your master is up to date, though. I'm not sure about the Python version; doesn't the pipfile state that we're using 3.7 for the repo?

eternal owl
#

yes it does

hardy gorge
#

How did you create it with 3.8?

eternal owl
#

but i used 3.8 ๐Ÿ˜…

#

i forced it to ๐Ÿ˜…

#

cuz i dint have 3.7 that time

#

I can delete the env and make new one

#

locked with 3.7 and pushed

#

omg it passed

#

it passed in github but Im geting Flake8 failed to load plugin "TYP" due to No module named 'typed_ast' in my local machine when I run pipenv run lint

molten bough
#

pipenv install --dev

#

make sure you used --dev

eternal owl
#

oki

hardy gorge
#

@eternal owl We can't merge this lockfile

molten bough
#

Isn't it locked using ~=?

hardy gorge
#

You shouldn't have to commit a different lockfile than the old one, since you did not change any of the dependencies

#

Not sure, @molten bough, I need to look into it

eternal owl
#

i had installed buttons

hardy gorge
#

but no longer, right?

eternal owl
#

nop

molten bough
#

The implication is that updates are compatible, but I know discord.py as a project is weird

eternal owl
#

I uninstalled it

#

idk how d.py got updated

hardy gorge
#

because you relocked

eternal owl
#

there is only 1 way now

#

that is to re fork

molten bough
#

copy it from master

#

yep

#

no

#

copy it from master

eternal owl
#

okay

hardy gorge
#

Ah, it's pinned "incorrectly" to the minor version

green oriole
#

git checkout --force master -- Pipfile Pipfile.lock do the trick

molten bough
#

Ah okay

hardy gorge
#

make sure master is updated

molten bough
#

Oh right, yeah, you can do that I guess

eternal owl
#

slow slow slow

#

tell me what to do first

molten bough
#

git fetch --all

#

then what Akarys said

eternal owl
#

should i be on master?

molten bough
#

No

#

on your fork

eternal owl
#

okay

#

I mean i am on a branch on my fork which is not master

molten bough
#

good

hardy gorge
#

Is the master of your fork up to date?

eternal owl
#

nop

molten bough
#

When'd you make the fork?

eternal owl
#

but i clicked on update branch in the github page and pulled

molten bough
#

yeah, that'd do it

eternal owl
#

okay

#

after git fetch --all

molten bough
#

after that, do what akarys said

eternal owl
#

btw

#

should i add upstream?

#

remote upstream thing

#

for it to work?

#

nvn

molten bough
#

You shouldn't need to

eternal owl
#

i ran ak cmd, looks like it worked

#

i saw the pipfile.lock flash

molten bough
#

you know what to do, then

eternal owl
#

its changed

#

yea commiting

#

pushed

hardy gorge
#

When you create your environment from the Pipfile, how do you do it?

eternal owl
#

the very first time i did pipenv --python 3.8

#

but now im using 3.7

#

i deleted the env and made a new one

hardy gorge
#

How did you make your environment?

#

Which command did you run for the last one?

eternal owl
#

for the 3.7 one?

hardy gorge
#

yeah

eternal owl
#

i simply did pipenv shell as now i had install python3.7

#

and it recognised it

hardy gorge
#

Okay, for the next time, use pipenv sync --dev

eternal owl
#

okay

hardy gorge
#

It will install the environment according to what's in the Pipfile.lock instead of installing/locking from the Pipfile

eternal owl
#

okay cool

tawdry vapor
#

I know it's kind of scary

woeful thorn
#

I don't know what any of these words mean ๐Ÿ˜ฆ

tawdry vapor
#

Thanks for taking a look anyway

crude gyro
#

I did try to review it but it's completely chinese to me

hardy gorge
#

I'm having a look now.

#

I'm not really an expert either

crude gyro
#

at the same time, if nobody here is capable of reviewing this and the only risk of a bad merge is that !eval might break, then we should just merge it. the point of a review process is to increase code quality and for us to learn from one another, and if snekbox reviews can't accomplish those goals then snekbox reviews are pointless.

#

letting them sit and cause frustration for months for no real gain just seems silly to me

green oriole
#

I understand more or less the PR, but I mean, what can I say about it, mark have a way higher understanding of what's going on here than probably everyone here

#

I had the silly idea of looping through all the mount point and remounting them in RO, so if we ever add a new mount point, it will be in RO, is it a silly idea, or it is feasible?

tawdry vapor
#

I don't think going that far is necessary

green oriole
#

There is also an pseudo issue with /tmp being writable, but it cleared after each eval, is it really a problem?

molten bough
#

Could someone fill up the memory or something by writing to it?

green oriole
#

No, it is emptied after each eval

molten bough
#

Couldn't they fill it during the eval?

green oriole
#

I tried, the process just exit and empty the directory

tawdry vapor
#

tmp isn't mounted anymore pretty sure

#

in the PR I mean

hardy gorge
#

I'm getting a few of these:

pdsnk_1  | /snekbox/.venv/lib/python3.8/os.py:1021: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
pdsnk_1  |   return io.open(fd, *args, **kwargs)
pdsnk_1  | /snekbox/.venv/lib/python3.8/os.py:1021: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
pdsnk_1  |   return io.open(fd, *args, **kwargs)
pdsnk_1  | 2020-02-05 19:35:01,065 |    14 |                 snekbox.nsjail |  WARNING | Failed to set the memory swap limit for the cgroup. This is probably because CONFIG_MEMCG_SWAP or CONFIG_MEMCG_SWAP_ENABLED is unset. Please ensure swap memory is disabled on the system.
pdsnk_1  | 2020-02-05 19:35:01,147 |    15 |                 snekbox.nsjail |  WARNING | Failed to set the memory swap limit for the cgroup. This is probably because CONFIG_MEMCG_SWAP or CONFIG_MEMCG_SWAP_ENABLED is unset. Please ensure swap memory is disabled on the system

am I doing something wrong? can I ignore it?

tawdry vapor
#

You will have to comment it out to ignore it

#

But if mem swap isn't disabled then the memory limits will not work properly so keep that in mind

hardy gorge
#

Right

#

So this depends on the host (my own machine)

tawdry vapor
#

Yes

hardy gorge
#

Yeah, I've been googling a bit. Okay, thanks. I'll keep it in mind.

tawdry vapor
#

ONFIG_MEMCG_SWAP or CONFIG_MEMCG_SWAP_ENABLED are kernel config options

#

If they are disabled then then the cgroup can't be set

#

so the warning basically says "well I tried to do it but I can't so you have to ensure this on your own"

tawdry vapor
hardy gorge
#

Okay, I just did some naive tests locally (like trying to write to each and every mount/directory I could find) and I couldn't find anything

#

If I run that against the live version, I get two writeable directories in /tmp that obviously don't exist in the PR version

tawdry vapor
#

Thanks for testing it

tranquil topaz
#

you can personally ping me for any review you have @tawdry vapor and ill do my very best to get it done

tawdry vapor
#

Thank you

#

I have something cooking at the moment but it's not ready yet

tawdry vapor
#

It's annoying that the field in the DB is called "avatar_hash" but discord.py calls it "avatar"

tawdry vapor
hardy gorge
#

I'm not quite sure. All of the original update functions were complete PUT replacements originally I think.

tawdry vapor
#

I'll try to rewrite it and see if it still works

gusty sonnet
green oriole
#

Reviewing in progress ^^

#

What on earth should I put in the json entry of the tag?

#

I tried null and {}

green oriole
gusty sonnet
#

I just add it via command lol

green oriole
#

Is there an add command?

gusty sonnet
#

Yes there is

#

try !tag add it should show the help embed for it

green oriole
#

Oh, didnโ€™t noticed it, thanks!

#

Done!

gusty sonnet
#

tyty

#

Time to blindly merge it

hardy gorge
#

The json format is just a very simple structure with only a "description" field, by the way

#

This is the pep8 tag's embed field:

#
{"description": "**PEP 8** is the official style guide for Python. It includes comprehensive guidelines for code formatting, variable naming, and making your code easy to read. Professional Python developers are usually required to follow the guidelines, and will often use code-linters like `flake8` to verify that the code they\\'re writing complies with the style guide.\n\nYou can find the PEP 8 document [here](https://www.python.org/dev/peps/pep-0008)."}
gusty sonnet
#

Okay, I merged it

#

Let's see if !fstr can pull f-strings

#

Finally codeblock and codeblocks will both work

molten bough
#

Why is there a json object for tags, by the way?

hardy gorge
#

Because, in principle, it supports storing the entire json-representation of an embed in a flexible manner; not just the description

molten bough
#

Oh, I see

#

That makes more sense than separate fields for that, yeah

crude gyro
#

@gusty sonnet oh man, fuzzy tags is amazing

#

thank you for making that

#

you're my favorite contrib today

gusty sonnet
#

Totally not because I keep forgetting it's codeblock or codeblocks lol

crude gyro
#

everyone forgets that

#

now everyone will think they remembered it no matter what they type

hardy gorge
#

yes

#

shira is our ego booster

#

I've got a great memory, the greatest! In fact, as far as I can remember, I've got the greatest memory of everyone!

green oriole
#

Same with f-strings, is there a s? is there a dash? Nobody know

molten bough
#

We've got memory, we've got the best memory

#

That is a super handy feature though, gg

hardy gorge
#

It does have some funny effects

#

!functions-are-lemons

stable mountainBOT
#

Calling vs. Referencing functions

When assigning a new name to a function, storing it in a container, or passing it as an argument, a common mistake made is to call the function. Instead of getting the actual function, you'll get its return value.

In Python you can treat function names just like any other variable. Assume there was a function called now that returns the current time. If you did x = now(), the current time would be assigned to x, but if you did x = now, the function now itself would be assigned to x. x and now would both equally reference the function.

Examples

# assigning new name

def foo():
    return 'bar'

def spam():
    return 'eggs'

baz = foo
baz() # returns 'bar'

ham = spam
ham() # returns 'eggs'
# storing in container

import math
functions = [math.sqrt, math.factorial, math.log]
functions[0](25) # returns 5.0
# the above equivalent to math.sqrt(25)
# passing as argument

class C:
    builtin_open = staticmethod(open)

# open function is passed
# to the staticmethod class
molten bough
#

haha

gusty sonnet
#

No one would ever know that!

molten bough
#

!no-dm-in-my-christian-server

#

:(

gusty sonnet
#

I should raise the bar up to 70 instead of leaving it hanging at 60 lol

#

!no dm please

stable mountainBOT
#

Can I send you a private message?

No. We do not provide one-on-one tutoring - you can hire someone locally if you really need that. We also prefer that questions are answered in a public channel as it means that everyone else present is able to learn from them. If you're working with code that you are unable to disclose for any reason, you should try to make your question more general and write a separate, small piece of code to illustrate your problem.

gusty sonnet
#

This will work though, so, I guess it's a positive effect?

molten bough
#

oh nice

gusty sonnet
#

!please no dm

#

Oh come on

molten bough
#

:>

green oriole
#

!no dm have mercy

stable mountainBOT
#

Can I send you a private message?

No. We do not provide one-on-one tutoring - you can hire someone locally if you really need that. We also prefer that questions are answered in a public channel as it means that everyone else present is able to learn from them. If you're working with code that you are unable to disclose for any reason, you should try to make your question more general and write a separate, small piece of code to illustrate your problem.

green oriole
#

Haha

hardy gorge
#

@gusty sonnet adding text to the end of tags always worked

#

!resources has a list of resources you could use to learn Python

stable mountainBOT
#
Resources

The Resources page on our website contains a list of hand-selected learning resources that we regularly recommend to both beginners and experts.

green oriole
#

Strangely, !hepl doesnโ€™t match !repl

gusty sonnet
#

Ah ha! So that's how

#

But now you dont have to do -? ๐Ÿ˜„

hardy gorge
#

So, the !no in Akarys message was enough for no-dm

#

!no

stable mountainBOT
#

Can I send you a private message?

No. We do not provide one-on-one tutoring - you can hire someone locally if you really need that. We also prefer that questions are answered in a public channel as it means that everyone else present is able to learn from them. If you're working with code that you are unable to disclose for any reason, you should try to make your question more general and write a separate, small piece of code to illustrate your problem.

molten bough
#

haha

green oriole
#

Aaah

molten bough
#

that's a great response

gusty sonnet
#

It starts from the start, it assumes you shorthand starting from the start of each words

molten bough
#

"Can I DM you?" "!no"

gusty sonnet
#

so rep for repl works, hepl for repl nope

molten bough
#

I feel like hepl would be more likely to be corrected to help

gusty sonnet
#

if name main, you can do inama I believe

#

!inama

stable mountainBOT
#

if __name__ == '__main__'

This is a statement that is only true if the module (your source code) it appears in is being run directly, as opposed to being imported into another module. When you run your module, the __name__ special variable is automatically set to the string '__main__'. Conversely, when you import that same module into a different one, and run that, __name__ is instead set to the filename of your module minus the .py extension.

Example

# foo.py

print('spam')

if __name__ == '__main__':
    print('eggs')

If you run the above module foo.py directly, both 'spam'and 'eggs' will be printed. Now consider this next example:

# bar.py

import foo

If you run this module named bar.py, it will execute the code in foo.py. First it will print 'spam', and then the if statement will fail, because __name__ will now be the string 'foo'.

Why would I do this?

โ€ข Your module is a library, but also has a special case where it can be run directly
โ€ข Your module is a library and you want to safeguard it against people running it directly (like what pip does)
โ€ข Your module is the main program, but has unit tests and the testing framework works by importing your module, and you want to avoid having your main code run during the test

gusty sonnet
#

There we go

molten bough
#

inama

#

nice

green oriole
#

It doesnโ€™t correct command names

gusty sonnet
#

It doesnt yet, I mean, I can do a quick check for that via the actual fuzzy lib

#

And do some serious guess work

green oriole
#

I was testing if typos can trigeger tags instead of command

molten bough
#

That might actually be useful

#

I do make typos a lot, as you may have noticed..

gusty sonnet
#

haha, well yes I can make an issue for that for now, I'll work on it later

crude gyro
#

hang on, I'm not following

#

what's the suggestion?

green oriole
#

Remind me of ves and the .aoc leaderbaord

#

Autocorrect command names

molten bough
#

Fuzzy matching for commands, yeah

crude gyro
#

hmm.

#

not entirely sure I want fuzzy moderation commands.

molten bough
#

Probably shouldn't fuzzy match those, yeah

#

was just thinking that

crude gyro
#

feels like certain commands should require precision

#

@hardy gorge what do you think

hardy gorge
#

I don't want to have that

#

Not on @stable mountain at least

#

Maybe for an help embed "did you mean?"

green oriole
#

Yeah, we should ignore certain commands, or it can be quite dangerous, but what is the chance of you typing a command that could be interpreted as a moderation command followed by a valid user id? (Plus the reason is mandatory, isnโ€™t it?)

hardy gorge
#

but not for automatic invocation

crude gyro
#

I could live with did you mean

molten bough
#

I could live with that provided it gave you a quick way to confirm

gusty sonnet
#

No, I will only do it for tags

#

A small enhancement for the fuzzy tag searching when there is absolutely no hits whatsoever

crude gyro
#

fuzzy tags is okay, but for any other command it should just say "!bna not recognized as valid command, did you mean !ban?"

hardy gorge
#

I'd rather have to type out the same command 20 times than to have it go horribly wrong once with core features

#

So, a suggestion is fine, but I don't want auto-invocation/auto-correction

gusty sonnet
#

Hmm, that's actually a nice idea to suggest commands when typos

crude gyro
#

maybe even a copypaste friendly suggestion?

hardy gorge
#

yes, that would be the best of both worlds

molten bough
#

That'd be nice, yeah

green oriole
#

Actually we donโ€™t even have an error embed when the function isnโ€™t recognized for now

gusty sonnet
crude gyro
#

!muet not recognized as a valid command. Did you mean to type !mute @gdude 72H please stop talking about your feet?

gusty sonnet
#

Either it's a command or note

molten bough
#

hahaha

gusty sonnet
#

But since we're watching on_message it is possible to check if it's a valid command

#

And boy that gonna be fun

#

generating random arguments to make it looks real basing on the arguments?

#

I'm in

crude gyro
#

no random arguments, what do you mean

green oriole
#

Canโ€™t you just suggest the command if the fuzzy search failed?

#

You could just invoke !help <command> wouldnโ€™t work with a custom message

gusty sonnet
#

Like when we do !muet it goes Hmm, something is wrong, are you, by any chances, trying to, uhm, !mute @lemon forever y u beard

crude gyro
#

no no no

#

it should match the args you used for !muet

gusty sonnet
#

But then again I guess this happens when we are actually trying to use the command

#

Yep, that's what I figured, so it's a simple fixing the command really quick so you can copy paste

crude gyro
#

yes

gusty sonnet
#

There will be more work involved, since it needs to check the permissions

green oriole
#

Maybe even an emoji reaction to run it without copy pasting?

gusty sonnet
#

That's possible, yes, a wait for and invoke_command if reaction is hit within 60s

#

since all args are present

green oriole
#

Like, did you mean !ban some random person? :white_check_mark: to confirm, :x: to cancel

hardy gorge
#

No, I'd rather have it copy-paste ready

#

Not a reaction

#

Too easy to mess up

molten bough
#

It's probably better to just copy-paste in case there are other typos, yeah

grand robin
#

Accidently clicks the reaction ... oops banned the guy

gusty sonnet
#

Hmm, I wonder if there is a gramma checking lib so i can throw it in as a bonus

molten bough
#

It also probably shouldn't suggest commands the user doesn't have access to

gusty sonnet
#

Did you mean "thus" instead of "this"

#

I will murder it in 0.2s

hardy gorge
#

Oh no

green oriole
#

Iโ€™d probably break the cog at some point haha

#

Btw, I want some stats about #message-change-log, Iโ€™m pretty sure Iโ€™m the member that did the most edits haha

hardy gorge
#

There's a built-in way of checking whether or not someone can run a command, right?

#

something like can_run

green oriole
#

I think so

hardy gorge
#

!docs get discord.ext.commands.Command.can_run

green oriole
#

Like

stable mountainBOT
#
await can_run(ctx)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Checks if the command can be executed by checking all the predicates inside the [`checks`](#discord.ext.commands.Command.checks "discord.ext.commands.Command.checks") attribute. This also checks whether the command is disabled.

Changed in version 1.3: Checks whether the command is disabled or not

Parameters **ctx** ([`Context`](#discord.ext.commands.Context "discord.ext.commands.Context")) โ€“ The ctx of the command currently being invoked.

Raises [`CommandError`](#discord.ext.commands.CommandError "discord.ext.commands.CommandError") โ€“ Any command error that was raised during a check call will be propagated by this function.

Returns A boolean indicating if the command can be invoked.

Return type [`bool`](https://docs.python.org/3/library/functions.html#bool "(in Python v3.8)")
hardy gorge
#

nice. I got that right

crude gyro
#

yeah, no emoji should have the power to ban a person

molten bough
#

I have to admit I would find it amusing to see people banned with a thanos fist

crude gyro
#

there must be sufficient friction between the moderator and their weapons.

hardy gorge
#

That's why lemon types his bans with his beard

molten bough
#

haha

crude gyro
#

I accidentally banned the wrong person just the other day, so I should know what I'm talking about.

molten bough
#

Pretty sure I managed to do that a couple times as well

crude gyro
#

still feel stupid about that

#

I remember lucy accidentally banned a moderator once. I forget which one.

molten bough
#

Oh yeah, I remember that

hardy gorge
#

Well, I've muted/warned myself multiple times and some people have started giving @stable mountain notes lately

green oriole
#

You arenโ€™t supposed to be above the moderative actions? ๐Ÿ˜„

molten bough
#

Well lucy was admin, so she could have done that manually anyway if she wanted

hardy gorge
#

Warnings and mutes do not check the role hierarchy

green oriole
#

I mean, about the ban

molten bough
#

I think it does check now

hardy gorge
#

An admin/owner can still ban a moderator

#

You can't kick/ban members with an equal or higher role

green oriole
#

Okay right

#

But manual bans still works?

hardy gorge
#

Although I guess we've moved the moderators role to above the Admin Bots role in the Discord Role hierarchy so maybe it can't do it now anyway

molten bough
#

That matches Discord's behaviour

#

Ah, yep, then the bot can't

hardy gorge
#

@green oriole Manual bans are restricted by the actual role hierachy on Discord; we have no control over that except for reshuffling the roles.

green oriole
#

Oh I didnโ€™t know that

hardy gorge
#

The bot, with a lower top role than owners/admins/moderators can no longer even ban/kick mods now

#

but, still, it's neat to have that check in place since moving a role up or down is easy

green oriole
#

Thatโ€™s how the name color is determinated, isnโ€™t it?

hardy gorge
#

That's just the role color; you can assign that manually

#

but yeah, your top role determines your color

molten bough
#

That is how role colour is decided, yeah

green oriole
#

wrong button, stupid new UI

#

Thatโ€™s pretty cool,

#

But you could like, if you want to ban lemon, you could remove his owner role and ban it or something will block you?

molten bough
#

Only joseph can remove the owner role

#

(or set it)

#

but anyone below rank can be demoted by an owner, yeah

hardy gorge
#

We did shuffle a couple of roles around last week

molten bough
#

well, unless someone else has the overall owner now, but I haven't heard anything

hardy gorge
#

<@&587606783669829632> is now above Helpers

molten bough
#

I saw that, yeah

green oriole
#

Like, only him can because it was decided like that or he has some additional persmissions?

#

yeah, markโ€™s color changed

molten bough
#

Each Discord server has exactly one owner

#

regardless of roles

#

You can't modify your top role, regardless of your permissions, unless you're the server owner

green oriole
#

Donโ€™t you have the little crown in the user tab when youโ€™re the owner?

molten bough
#

Only if there isn't a role that is named something similar

#

like owner, admin, etc

green oriole
#

Oh okay

molten bough
#

That's why you don't see it on any of my servers that you joined haha

green oriole
#

Wrong sir

#

I see it in the d.py server ๐Ÿ˜„

molten bough
#

Oh yeah, it's on TA isn't it

green oriole
#

And yeah you have the little crown on TA

molten bough
#

it's because I don't pluralize

#

anyway

green oriole
#

It is smaller with the new UI now

hardy gorge
#

Formally, it's:

Don't worry your crown is not lost! If you want to reclaim your crown as the almighty server owner you just need to disable the "Display role members separately from online members" option in Role Settings of your Server for any roles with the "Administrator" permissions!

molten bough
#

Aha

#

Yeah, there are servers where I don't use that

green oriole
#

Hmm

#

I started to read the snekbox source code

hardy gorge
#

It's Falcon

green oriole
#

The falcon part is easy

#

The Unix madness is.. complicated haha

#

Mark is a really good dev

hardy gorge
#

Do you mean the NSJail config? Or the docker set-up?

green oriole
#

NsJail

#

cgroups, RLIMITs, mount points and stuff

#

Thatโ€™s crazy how a little program like this can be that complicated and powerful

#

The docker part is kind of easy compared to nsjail

#

You use built from source nsjail?

#

Oh well, there is no binary release haha

tawdry vapor
#

Oh, the build failed

#

Great

#

yeah... I don't know why

#

ah Your Pipfile.lock (6d33bd) is out of date. Expected: (677910).

hardy gorge
#

I will! But Tomorrow.

tawdry vapor
#

Everything is going wrong. I can't commit cause gpg is failing.

molten bough
#

I had that problen too a couple days ago

#

I had to wipe my entire .gnupg to fix it, but I am on windows

tawdry vapor
#

I just ran an update and restarted

#

But now my mouse acceleration got enabled again GWczeAngryCry

molten bough
#

Not a fan of heccin zoomies?

tawdry vapor
#

No. I disabled it when I got into Counter-Strike like a decade ago and its been that way since.

#

@tranquil topaz quick one for you linked above

tranquil topaz
#

sure..

#

I already looked at it, but it had checks that did not pass for some reason

tawdry vapor
#

Thank you. I had just forgotten to re-lock earlier.

jade tiger
#

My !help pr is stalled because of this and is getting a lil stale ๐Ÿ˜ƒ

green oriole
#

And BTW your closing keyword isn't functioning, you have to say Closes #297, closes #514

tawdry vapor
#

Kosa isn't available so I took care of it.

green oriole
#

Guys, I only have a 98% coverage on snekbox because of this error, the first wait_for does get a TimeoutError many times during the run, so I wonder what's the issue

#

Any idea?

tawdry vapor
#

Does an HTML report show the same thing?

green oriole
#

99% coverage on terminal report, how do you generate html again?

tawdry vapor
#

coverage html

green oriole
#
E:\PyDis\bot>pipenv run report html
Loading .env environment variablesโ€ฆ
html   NoSource: No source for code: 'C:\Users\Akarys\AppData\Local\Programs\Python\Python37-32\Lib\html': [Errno 13] Permission denied: 'C:\\Users\\Akarys\\AppData\\Local\\Programs\\Python\\Python37-32\\Lib\\html'
Name    Stmts   Miss Branch BrPart  Cover
-----------------------------------------
No data to report.```
molten bough
#

you're testing both with and without the exception right?

green oriole
#

Yes

molten bough
#

have you tried it with an exception that isn't caught?

tawdry vapor
#

That's the wrong command

green oriole
#

Well actually the double run finish by raising an exception

tawdry vapor
#

pipenv run coverage html

green oriole
#

Ah yes

#

An uncaught exception?

tawdry vapor
#

You should not need to test for uncaught exceptions

green oriole
#

Apparently it is because I didn't run the lambda

#

Do I really need to?

#

I guess it would make the test more robust

#

Time to write a custom wait_for mock

tawdry vapor
#

You're thinking about it the wrong way

green oriole
#

Am I?

tawdry vapor
#

Just write a unit test for the predicate

#

So, define the predicate separately.

green oriole
#

So I need to change the code inside the snekbox cog?

#

to move the lambda outside of the function call, and put just a reference here?

tawdry vapor
#

Yes, I think that is more appropriate.

#

And you can later assert that wait_for is called with the correct check function passed.

green oriole
#

Okay

#

I should define them as script constants, do I?

tawdry vapor
#

Just define it as a regular function

green oriole
#

No more lambda, okay

tawdry vapor
#

It seems to me lambdas are not really compatible with the notion of unit tests

#

Unless one chooses to forego testing the code inside the lambda.

green oriole
#

I could also extract the lambda from the function call

#

Because I'm maybe not thinking properly but how do I pass the ctx argument to the predicate function, since d.py only pass the old and new messages to the callback

tawdry vapor
#

Could use a partial function

green oriole
#

Oh yeah, didn't know it existed

#

Thanks!

hollow lichen
#

Hey, how did Meta do to break the interpreter of the bot? (If this is fixed)

molten bough
#

I think that info is in the PR

tawdry vapor
#

Yeah, it is explained in broad terms.

#

Specifically I think he wrote to /dev/shm and made it run out of memory or something.

eternal owl
#

who is GhostofGoes on discord

tawdry vapor
#

KnownError

eternal owl
#

the very first comment in the issues talks about that

simple peak
#

@eternal owl Was there a discussion on the wording of the message? I see the discussion on blocked reddits, but didn't see anything about wording.

#

To be clear, that's what my comment is about

#

The wording

#

not the check itself

eternal owl
#

Ooooh

#

Gotcha

#

btw guys

#

what about the emojis

#

when shall we add em here

gusty sonnet
#

Hmm I think I jumped the gun and merged it before we have the emojis

#

So there are 7 emojis you want to add right @eternal owl - Do you have any fall back emojis in case they got removed?

#

I will revert the merge for now

#

Or actually hmm, I can open a new issue to fix it

simple peak
#

Command isn't working

#

Didn't notice the emojis were missing, sorry

#

Probably jumped the gun on approving it

cold moon
#

Is there currently any easier issue in bot, that would good for first solve?

long garnet
#

you should be able to filter by good first issue, we do tag with that sometimes

#

or I could think of an issue easy to fix right now, @cold moon

#

I never posted it

#

!user

stable mountainBOT
#
manusaurio#5249

User Information
Created: 1 year, 10 months and 15 days ago
Profile: @long garnet
ID: 427194066216681474

Member Information
Joined: 7 months and 5 days ago
Roles: <@&542431903886606399>, <@&463658397560995840>, <@&352427296948486144>, <@&267630620367257601>, <@&267629731250176001>

Infractions
Total: 0
Active: 0

long garnet
#

hm, someone fixed it?

gusty sonnet
#

Yep it is emoji error py Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/discord/ext/commands/core.py", line 79, in wrapped ret = await coro(*args, **kwargs) File "/bot/bot/seasons/evergreen/reddit.py", line 123, in get_reddit embed.set_author(name=f"r/{posts[0]['data']['subreddit']} - {sort}", icon_url=reddit_emoji.url) seasonalbot | AttributeError: 'NoneType' object has no attribute 'url'

#

Should I revert the merge for now?

simple peak
#

yeah revert it

gusty sonnet
#

Yeah Imma revert it for now

simple peak
#

where are you seeing the logs?

#

did you run locally against the test server?

gusty sonnet
#

I run it locally

#

It shows up in the log, not in discord

#

owait, there is a test server

simple peak
#

...where are you testing it against?

gusty sonnet
#

I was testing it in my local server, since I set all of it up and ready for the python bot

simple peak
#

Yeah, we have a test server ๐Ÿ˜›

long garnet
#

is that for core devs?

gusty sonnet
#

Please giv invite!

simple peak
#

Yes, but moderators also have access IIRC

long garnet
#

I'm the pleb mod with no contributor role

eternal owl
#

I haven't yet thought of fall back emojis @gusty sonnet

#

I have posted the emojis in a comment

#

And need to update code

gusty sonnet
#

Yes I saw it, I was trigger happy and merged the PR lol

eternal owl
#

Lol

#

Are they added?

cold moon
#

My current only problem is setting up testing env

#

This is hard

hardy gorge
#

Which emojis need to be added where?

gusty sonnet
hardy gorge
#

Okay, didn't we already have some reddit emojis? We have different versions for three of the five in that PR already.

#

The new emoji server is already getting a bit crowded, so adding multiple versions of basically the same emoji doesn't sound like the best option to me

#

We already have these

#

@eternal owl Can we maybe unify the old and the new emojis so that there's only a single emoji for each Reddit icon? I think the ones we currently have for user, upvote, and comment are good enough (and not changing them means that we don't have to PR in changes to @stable mountain as well), so we basically need three additional emojis for the other three reddit icons we currently don't have emojis for.

clever wraith
#

the upvote emoji given in the PR does match the place it is . we can keep the other two @hardy gorge mentioned the other one containing upvote is neede โ˜บ

molten bough
#

Is it? The upvote one Ves used looks very like the Reddit upvote arrow

hardy gorge
#

I'd rather have us keep these three, @clever wraith. They are based on the actual Reddit icons and they are already in use by our bot.

clever wraith
#

the upvote given in PR is also used by reddit and really looks better

hardy gorge
#

I'm not sure I agree and this one is already in use so I see no pressing need to change it

#
user:     :user:     id=638729835442602003
upvotes:  :upvotes:  id=638729835245731840
comments: :comments: id=638729835073765387
hardy gorge
#

It's now functional:

#

.reddit

dusky shoreBOT
#
r/Python - hot
molten bough
#

Is that double edit necessary?

#

seems to be getting rate limited or something

hardy gorge
#

Not sure

#

I haven't looked at the code

#

I'm not home

molten bough
#

Also, those paging emoji are unreadable on the AMOLED theme on android

eternal owl
#

whats up

#

cool its working

#

thank you @hardy gorge

#

and sorry that I was not available the time you pinged me ๐Ÿ˜…

crude gyro
#

our paging emoji are kinda ugly anyway

#

maybe we should make some custom ones.

#

I mean they're used in a dozen functions

eternal owl
#

yea, and maybe change the color

crude gyro
#

blue blue blue blue red

#

not a great palette

eternal owl
#

we need green

hardy gorge
#

It never bothered me before, but now...

#

Thanks lemon for ruining it hyperlemon

crude gyro
#

FA has some

#

so it might be fairly easy to make a set.

#

I'd do it myself but a fucking tree fell in the road due to extreme storm

#

and I am cut off

#

can't get home.

#

waiting for them to remove it.

eternal owl
#

ur waiting there legit?

#

like theres no other path?

woeful thorn
#

Jet pack

crude gyro
#

at my mother in laws house. yeah it's the only way out

eternal owl
#

dirt road?

crude gyro
#

nope

#

just a rickety paved one

#

not exactly a superhighway, she lives very rurally

eternal owl
#

oki

crude gyro
#

anyway, off topic.

#

sorry

eternal owl
#

ty in adv

clever wraith
#

you vuys have blue keys ?

#

guys*

#

yeah gdude have the same issue

molten bough
#

lol they're not even consistent

eternal owl
#

they are blue?

#

why are they black

clever wraith
#

old android

#

@molten bough android version ?

molten bough
#

yup

#

android 10

clever wraith
#

wtf

#

6 here still

eternal owl
#

I dont seem to find the approved label in the bot repo, so how will I know if I work on an issue or not

woeful thorn
#

Before you do that the Reddit cog needs to be changed to use Reddit's API

#

And not "Iceman" as a user agent

eternal owl
#

what should i change it to

#

user agent means the person who is requesting ?

glass pecan
#

no it doesn't, it refers to the app or client

eternal owl
#

oh shoot

glass pecan
#

if you were unsure, why didn't you ask about it or look it up

woeful thorn
eternal owl
#

I was confident on my english ๐Ÿ˜… @glass pecan

glass pecan
#

yes, but this is to do with programming which usually involves particular concepts that you should be double checking details on if you haven't came across it before

eternal owl
#

okay, will do next time

#

python3:python-discord/seasonalbot:1.0.0 (by /u/PythonDiscord)
do the numbers in between indicate the d.py version?

tawdry vapor
#

No they mean nothing since we don't version most of our projects

eternal owl
#

so I can leave it as it is or remove them?

glass pecan
#

pretty much that. it's meant to indicate app version

tawdry vapor
#

But Reddit wants there to be a version so it's just a dummy number

glass pecan
#

it's sorta the wrong agent format tbh

eternal owl
#

I wonder how Iceman worked

tawdry vapor
#

I'm pretty sure it follows exactly what Reddit wanted

eternal owl
#

before I make any changes, the reddit command sometimes dosent show the full embed

#

can this be fixed?

clever wraith
#

I faced same issue with my bot.

#

faces*

glass pecan
#

@eternal owl make an issue ticket on it

eternal owl
#

Will do!

clever wraith
#

happens when you spam it

#

but edit are awaited . so maybe not the case

woeful thorn
#

Awaiting doesn't do anything to affect Discord's rate limits

eternal owl
glass pecan
#

@eternal owl there's a few problems with your issue mate, do you mind if we go through it and get it up to scratch?

eternal owl
#

oki @glass pecan

glass pecan
#

first minor things is the title. we'll want to address correct titling at the minimum

eternal owl
#

like to directly mention the issue?

glass pecan
#

the title is currently problems with reddit command.

#

It should have a capital at least

eternal owl
#

shit, i missed that this time

#

all my other issue titles start with caps

glass pecan
#

You'll want to make sure you re-read your issue tickets then before submitting them to avoid missing things

eternal owl
#

okay

glass pecan
#

Next is you'll want to clearly outline the reason for the issue ticket in a clear introduction or description

#

assume the reader has no idea of any context at all

eternal owl
#

ooh

#

can i reference another issue for that?

glass pecan
#

yes absolutely

eternal owl
#

okay

glass pecan
#

but in this case, you'll want to reference the relevant PR instead

#

as that's where the issues originated

eternal owl
#

okay

glass pecan
#

so something like:

Recently, the Reddit command PR (#346) was merged with a number of problems being overlooked. This issue is to outline the required fixes and any additional enhancements to the feature.

#

The following problems we are aware of so far:

#

and then you'd make a list of each issue

eternal owl
#

with a number is problems

#

?

glass pecan
#

lol i altered halfway through

#

there

eternal owl
#

okay

glass pecan
#

but you get the idea, it introduces the context

#

the message link is unnecessary

eternal owl
#

Okay

#

but i want to show the image

#

of the problem

glass pecan
#

then copy the image url

eternal owl
#

okay

glass pecan
#

and embed it as an image in markdown

eternal owl
#

okay

glass pecan
#

btw Reddit has a capital

eternal owl
#

shouldn't it have?

#

grammerly pointed it out

glass pecan
#

the capital is required, yes

#

it's not in the title still lol

eternal owl
#

ahh yea

#

I will para-phrase your sentence a lil bit and update the issue

green oriole
eternal owl
#

@glass pecan is this good? and also should I say that we have to figure out a way to solve the double embed thing?

#

I couldn't para-phrase it

glass pecan
#

save the edit on the issue ticket, i'll read it there

#

don't want you losing your edits because you took too long to save

eternal owl
glass pecan
#

i have the ticket open, i've been waiting for the edit lol

eternal owl
#

lol

#

why do you call it ticket

molten bough
#

that's what it's called almost everywhere but github