#dev-contrib

1 messages ยท Page 63 of 1

obsidian patio
#

Thanks @green mesa ๐Ÿ˜„

eternal owl
#

oh yea, grats @obsidian patio

green mesa
#

congo for core dev akrays

green oriole
#

The callback isnโ€™t valid anymore

#

You can just open a new webpage, and it should work again

#

Thanks, guys!

obsidian patio
#

Alright. I tried to reload the page a couple of times before and it didnโ€™t do anything @green oriole

#

Btw, that blue role actually looks good on you

green mesa
#

yeh

green oriole
#

thanks!

obsidian patio
#

Got it working by opening a new tab, but is there anything that could be done about this issue?

green oriole
#

Maybe we could redirect onto the main page, assuming it is supported by the library, Iโ€™ll take a look at it lemon_pleased

obsidian patio
#

Alright, thanks

cold moon
#

@green oriole Woah, you are now Core Dev... Congratulations! ๐ŸŽ‰ ||I want to be too core dev and staff||

green oriole
#

Thanks!

green mesa
#

ks|| I wnt to be contributor and core dev no need of staff role||

eternal owl
#

@green oriole Woah, you are now Core Dev... Congratulations! ๐ŸŽ‰ ||I want to be too core dev and staff||
@cold moon me2 haha

#

@green mesa i commented a few more changes on ur PR

green mesa
#

Ty buddy

#

I will try to make appropriate changes tomorrow

eternal owl
#

no hurry ๐Ÿ‘

vocal wolf
#

@green oriole I see. Thank you for this info!

obsidian patio
#

I don't quite understand what you mean

polar path
#

hey can anyone help me with setting up the modmail

#

i asked in it's orginal server but no resonse

#

and what is meant by py dis core developers?

short snow
#

the people who contributed alllot to pydis projects

#

and now handle core parts of it

patent pivot
#

hey can anyone help me with setting up the modmail
@polar path not really, we just run the docker image, we don't maintain the application

polar path
#

ohh, ok

#

thx though

sullen phoenix
obsidian patio
#

Alright. I may not be able to fix it toady, then (time zones, you know), but we'll see

sullen phoenix
#

that's all good

#

okay actually, i have a few minutes now

obsidian patio
#

Aah, perfect

sullen phoenix
#

basically, all you need to do is move the extensions util file contents to the __init__.py

#

and replace the walk_extensions func

#

it should be relatively simple

obsidian patio
#

So the walk_extensions should be removed completely? (old one)

sullen phoenix
#

yeah, the new one should work with the extension loading

obsidian patio
#

And the ext utils file should be deleted?

sullen phoenix
#

yeah exactly

obsidian patio
#

Alright. I'll have a look at it now

sullen phoenix
#

awesome, thanks

obsidian patio
#

Seems like we have a from bot import exts statement that's causing some trouble

#

That will import the file itself

mellow hare
#

Someone doing a fix for it?

obsidian patio
#

@mellow hare For what?

mellow hare
#

The import issue you just mentioned

obsidian patio
#

Aah

#

It's not a commit yet

mellow hare
#

Ah, I missed that, sorry

obsidian patio
#

F1re asked me to the contents of a file in a pr review

mellow hare
#

Ah I see it now

#

Bleh, so many different usernames

obsidian patio
#

Yep. Not sure about the reasoning behind it

mellow hare
#

I have a hard time keeping tabs on whose Github name goes with which Discord person

#

I need to make a like... print out or something

patent pivot
#

we could probably handle it through site

obsidian patio
#

Aah, yeah. Mine is linked in my discord fyi

mellow hare
#

Yeah I just don't want to have to keep going elsewhere to figure it out

patent pivot
#

yeah

obsidian patio
#

Yeah, reasonable

mellow hare
#

Would be easier to just have a piece of paper in front of me where I can go "Oh, that's f1re"

obsidian patio
#

Hahah yeah. You could always make a terminal command

green mesa
#

.pr 453

mellow hare
#

True

#

Or a bot command

green mesa
#

Hemlock this pr is waiting for your review

obsidian patio
#

ghuser gustavwilliam -> @obsidian patio

green mesa
#

I have changed 1 thing only

mellow hare
#

I'll check it out

green mesa
#

Ok tnx

#

we could probably handle it through site
Yeh we can have option same as discord for GitHub

eternal owl
#

maybe we should use our github names as nick?

mellow hare
#

Eh, I don't want to force everyone to change just because I'm grumpy

green mesa
#

That will be good but some has 2 id

eternal owl
#

in my case, the names are different but the profile pic is the same

green mesa
#

That will cause issue

mellow hare
#

Yeah, and that helps me out a lot, Ice

green mesa
#

And all dont agree to change his/her name

#

Same with me

mellow hare
#

I think it's mainly that a lot of people just have the default

green mesa
#

Mine profile pic is also same

eternal owl
green mesa
#

Due to bad weather ss is not loading my net eh๐Ÿ˜

mellow hare
#

Spooky

obsidian patio
#

@sullen phoenix this is giving me an issue. Since the __init__ file is part of the ext module, it'll be run when importing ext. Moving the code would result in the __init__ file trying to import itself in an endless loop, I believe. Is there anything in particular that you're trying to solve by moving it, or would it be fine to let it be in the original file? That didn't give me any issues

green mesa
#

Ty for approving hemlock๐Ÿ˜

eternal owl
#

thank you @mellow hare for taking up the review for my PR ๐Ÿ˜

mellow hare
#

No problem, might take me a little bit to go through it

eternal owl
#

np, lemme know if u need any help understanding

obsidian patio
#

I really felt like continuing the "thank you hem... ๐Ÿ˜" chain

cold moon
#

Next part of Dewikification PR opened

eternal owl
#

btw, do u need the test file i use?

#

or test code

mellow hare
#

Not at the moment

eternal owl
#

okay

green mesa
#

Now I am waiting for my pr to get merged๐Ÿ˜

mellow hare
#

I'll spin it up on my local machine and go from there. Does it rely on any changes to site?

sullen phoenix
#

oh i see, i didn't realize it imported the module, interesting

mellow hare
#

@green mesa Yep, just waiting on it to finish doing its checks

green mesa
#

Ok

eternal owl
#

I'll spin it up on my local machine and go from there. Does it rely on any changes to site?
@mellow hare what do you mean?

mellow hare
#

Like were there any API changes that were made on the site to make this work

green oriole
#

@cold moon that'd be nice if you could include more infos in your PR description, it is a pretty important change, and you don't say what are the changes and how the new setup work

obsidian patio
#

Yeah hahah. We could probably solve it some other way, while getting the logic into the __init__, but I think leaving it in the original sounds best

green oriole
#

@mellow hare for seasonal? No, you don't need the site

obsidian patio
#

At least if it isn't causing any issues

mellow hare
#

No no no

#

Oh my god I'm an idiot

#

This is a Site pr

#

I thought it was a bot one

#

Doy

green oriole
#

Oh haha

sullen phoenix
#

wait no, it shouldn't be a circular import

#

because it shouldn't try to import itself

#

hm wait

#

nvm

#

confusing myself lol

eternal owl
#

There is a new endpoint, its bot/users/bulk_patch to patch users in bulk
and my PR removes the drf-bulk package and implements bulk-create too (independent of the drf-bulk package)

mellow hare
#

@eternal owl Ignore me, I'm speaking the crazy talk

#

Yeah I see that now

#

I was confused as to which repo this was on

obsidian patio
#

Importing a module should run its __init__.py file, from what I'm aware

mellow hare
#

@obsidian patio Not necessarily

eternal owl
mellow hare
#

Oh well yes it'll do that

sullen phoenix
#

no, it runs it once in the beginning

obsidian patio
#

Hmm, alright

green oriole
#

Well, yeah, modules are cached

mellow hare
#

But in it's __all__ it's just loading the two functions within the __init__ file

#

So there's no worries there

#

Or am I misunderstanding?

obsidian patio
#

Why wouldn't we just keep it in the separate file?

sullen phoenix
#

that's probably fine too

obsidian patio
#

That's what we do on the Python bot

green mesa
#

Ty Akarys

green oriole
#

Hem apparently didn't want to merge it

mellow hare
#

We really should overhaul Seasonal to conform more to @stable mountain's style

#

Dude...

#

I'm easily distracted

#

Blame the ADHD

sullen phoenix
#

@dusky shore has a lot of technical debt

green oriole
#

That's fiiiiine

mellow hare
#

technical debt
Huh, first time I've heard that phrase

green oriole
#

Personally I don't like putting actual code in __init__ files, it feels pretty unorganized

#

Each file should have its own purpose

mellow hare
#

I'm not opposed to making it a utility

obsidian patio
#

Let's keep it in utils

sullen phoenix
#

fine with me

#

should get rid of the stuff in __init__.py then

green oriole
#

Although, I have to admit, no idea what we are talking about lemon_sweat

cold moon
#

@green oriole Is this now better? I'm not very good writer in english.

sullen phoenix
#

and move the other function over to utils

sullen phoenix
#

but anyways, my brain is all jumbled up now lol, back to class

green oriole
#

Right

mellow hare
#

Study hard, study well

green oriole
#

That's really ugly imo

#

Haha

mellow hare
#

I'm curious how we handle it in @stable mountain

green oriole
#

Utils everywhere

mellow hare
#

Oh right, and we have a separate cog loader anyway

green oriole
#

Is this now better? I'm not very good writer in english.
@cold moon yeah much better, don't worry, as long as you do your best to speak English, you're fine lemon_pleased

obsidian patio
#

I think the code currently in __init__.py should be fine

mellow hare
#

Most of our staff are non-native English speakers

#

So don't sweat it

obsidian patio
#

And we can merge the pr instead

eternal owl
obsidian patio
#

@mellow hare True. We are surprisingly many Swedes and Norwegians

green oriole
#

We only have two functions, so for now I'm guessing that it is fine, although if we add more, we should definitely move to an utils file I think

#

Told you, we are being invaded by the north of Europe haha

obsidian patio
#

I agree

#

Hhaha didn't quite understand the extent of it

green mesa
#

Don't know what happen to bot

mellow hare
#

.wiki bacon

dusky shoreBOT
green mesa
#

When I tested the code locally by tagging channel it worked

dusky shoreBOT
#

Enter number to choose

mellow hare
#

.wiki @mellow hare

dusky shoreBOT
#

Sorry, we could not find a wikipedia article using that search term

mellow hare
#

Seems fine to me

green mesa
#

Ohk

obsidian patio
#

It's probably searching for this: @mellow hare. How often would there be results for that?

green oriole
#

Isn't that a perm issue?

green mesa
green oriole
#

No, definitely not the right one haha

green mesa
#

It's not reading error

green oriole
dusky shoreBOT
#

Sorry, we could not find a wikipedia article using that search term

green mesa
#

Wow

green oriole
#

Yeah, that's a perm issue

green mesa
#

It worked for u

mellow hare
#

Staff have special permission

green mesa
#

Lol and i thought I made u merged broken or๐Ÿ˜…

#

Pr*

dusky shoreBOT
#

Sorry, we could not find a wikipedia article using that search term

green oriole
#

Yeah, everything's fine, nothing in sentry

cold moon
#

@eternal owl No, currently I try to migrate resources (guides, books etc.). But these wait for both of my current PRs

eternal owl
#

okay

obsidian patio
#

.issue 449

dusky shoreBOT
obsidian patio
#

This should be fully ready to merge whenever ready

vocal wolf
#

watch this shit

#

!ping

cold moon
#

Nice ping command

stable mountainBOT
#
Pong!
Command processing time

0.000 ms

Python Discord website latency

12.276 ms

Discord API latency

101.374 ms

green mesa
#

Noice

cold moon
#

0.000

vocal wolf
#

very fast lol

green mesa
obsidian patio
#

Nice @vocal wolf

green mesa
#

Y this lol

#

Discord mobile๐Ÿ˜‚๐Ÿ˜‚

green oriole
#

Ah yes, thanks discord

vocal wolf
#

Thanks, it took much longer than it should have

obsidian patio
#

Things generally do

#

Especially in programming

vocal wolf
#

aioping didn't want to work

green mesa
vocal wolf
#

alright next issue

obsidian patio
#

This issue tracker will be empty soon with that attitude hahah

green mesa
#

Yeh tomorrow I will try to complete 2 pr

#

Source is same

green oriole
#

and reviewing will pile up

obsidian patio
#

True

green mesa
#

And 1 partnerzodiac needs some updation

mellow hare
#

I need to kick some rears to get more reviews going

#

I know people don't like to do them but they're vital

green oriole
#

Once codespaces is setup, I'll try to do more reviews as I won't have to be in on my computer to launch the bot lemon_pleased

mellow hare
#

Fair point

#

Hadn't thought about that

#

I mean honestly even if I manage to get people just looking for syntax, logic or efficiency stuff I'll be happy

eternal owl
#

very small one

#

I just now updated my branch

#

and im geting redis error

#

socket.gaierror: [Errno -3] Temporary failure in name resolution

#

seems to be working with docker tho

#

i went back to my last commit when the bot was working
I get the same error even now but the bot doesn't stop the execution there, and continues

#

but when i update the branch with the latest changes, and run, it stops at that error and exits

mellow hare
#

@eternal owl Have you made sure to set the use_fakeredis flag to true in the config.yml?

#

Or are you running redis locally

obsidian patio
#

@sullen phoenix whenever youโ€™re free, Iโ€™d love to see the extensions command merged into master

sullen phoenix
#

yeah, sure

#

did you remove the old walk_extensions function?

obsidian patio
#

Nope. Isnโ€™t that one supposed to be there any longer?

#

@sullen phoenix if this is the last thing needed before we merge, I could get up and do that as the last thing before going to bed

brazen charm
#

There's really no rush for anything that's not critical

obsidian patio
#

Yeah. Would still be nice to get it merged. Just feels good to have it done, instead of waiting another day or two

sullen phoenix
#

no no, you should go to bed instead. like Numerlor said, no rush

#

well, you'd need 2 approvals anyway

obsidian patio
#

Hahah yeah, fair enough

green mesa
#

.pr 456

green mesa
#

I have updated d.py to 1.4.1 and added voice as extra

#

It's just a lib update pr๐Ÿ˜…

green mesa
#

@eternal owl in subcommand for date of partnerzodiac i am only taking date and month from user so it's hard to map with zodiac sign ,I can't touch the zodiac_explantion json file it will not help in this scenario I think

#

Any recommendations how should I tackle

#

๐Ÿ˜…

#

I am taking this 2 input only

#

And have json like this

eternal owl
#

as I said, have a dict to store all the information about the zodiac signs

#

in the json file, also include and starting date and ending date for each zodiac sign

#

then when u load the json, convert that to a datetime object

green oriole
green mesa
#

.pr 456

green mesa
#

what i need to change in docker file?

#

i dont have much experience with docker ๐Ÿ˜…

obsidian patio
#

Aah, alright. Thanks for showing me Akarys. I donโ€™t quite understand how it happens, but Iโ€™m glad you found the issue. Maybe move the issue from low to normal?

green oriole
#

Was about to do that, but I ran out of time lemon_sweat

obsidian patio
#

Hahah, no worries

nocturne hare
#

You shouldn't need to change anything in docker for the installation at least

#

but you probably need to add ffmpeg to the environment with docker

green oriole
#

About?

#

Right

green mesa
#

ffmpeg violates Youtube TOS right ๐Ÿ˜…

green oriole
#

No

nocturne hare
#

No

green oriole
#

yt-dl does

green mesa
#

ooo

nocturne hare
#

ffmpeg is an audio driver

#

youtube-dl is what downloads content from youtube, and uses ffmpeg to stream it to discord.

green mesa
#

oo

green oriole
#

yt-dl also relies on ffmpeg internally I think

green mesa
#

thats it

#

i have to remove git only

#

and add ffmpeg in pipfile?

green oriole
#

No, in the apt command

#

Simply replace git by ffmpeg

green mesa
#

ok

green oriole
#

I don't think it is available on pypi

green mesa
#
RUN apt-get -y update \
    && apt-get install -y \
        ffmpeg \
    && rm -rf /var/lib/apt/lists/*

this way

green oriole
#

Looks like it

green mesa
#

ok

late wolf
#

IDK if this is the right channel but i am trying to add the python bot to mi server as well, but if i need help setting it up should I ask here.

#

pls ping me

green mesa
#

just follow steps and u r set

late wolf
#

oh ok thx

late wolf
#

well when following that I already get an error from the code

Unable to import 'discord.ext'
Unable to import 'coloredlogs'
green mesa
#

yeh and for contributing we first run the bot on our test server

#

just dont contribute

glass pecan
#

If you mean to invite the bot like a public bot to your server, it's not possible.

#

It's only possible to selfhost it

#

And even then, it's created quite strictly to our requirements and community structure, so it may not suit what you want.

brazen charm
#

If you need something from the bot it'd be abetter idea to extract that part of it instead of trying to set it up whole

late wolf
#

ohh could u help me do that

#

that's exactly what i was looking for

glass pecan
#

We are unable to support third party usage really on a formal level, but if you have troubles with things you could probably ask questions when needed.

#

If it's generally about discord.py, #discord-bots will be able to help. If it's specific to something about our bot, it's likely the above contributor guide has info on it.

late wolf
#

wdym by 3rd party usage

glass pecan
#

outside of our own community

late wolf
#

i see, very well i will try to see what i can do with the existing ode

#

code

glass pecan
#

hope it goes well!

late wolf
#

thx

#

@glass pecan i can ask questions about the bot here right?

queen dawn
#
            interval: 5
            max: 3_000```

What the hell does 3_000 mean?
Found this in `config-default.yml`
glass pecan
#

@late wolf sure can, but i can't promise solutions

#

@queen dawn it means 3000

#

the _ is a thousands seperator format

#

it's supported in both yml and newer versions of python

queen dawn
#

oh really

glass pecan
#

!eval print(3_000)

dry turret
#

Python lets you place them anywhere within a numbers.

stable mountainBOT
#

@glass pecan :white_check_mark: Your eval job has completed with return code 0.

3000
queen dawn
#

didn't know thjat

#

ty !

glass pecan
#

np

queen dawn
#

so if I understood correctly

#

!e print(3_000_000)

stable mountainBOT
#

You are not allowed to use that command here. Please use the #bot-commands channel instead.

queen dawn
#

oh sec

glass pecan
#

that would work, yep

#

in python, like grote mentioned, it'll just ignore any underscores you use no matter where

queen dawn
#
If running the webserver in Docker, set it to "web:8000".
If the site container is running separately (i.e. started from a clone of the site repository), then COMPOSE_PROJECT_NAME has to be set to use this domain. If you choose not to set it, the domain in the following step can be used instead.
If running the webserver locally and the hosts file has been configured, set it to "pythondiscord.local:8000".
Otherwise, use whatever domain corresponds to the server where the site is being hosted.```
Can someone help me understand this?
#

I do not know to specifics what is a docker

#

and I don't know what to use

green oriole
#

Well, how are you running the bot, using docker or pipenv?

queen dawn
#

pipenv I believe

#

On my PC

green oriole
#

Okay

#

Are you on windows or linux/macos?

queen dawn
#

Windows

late wolf
#

what deos filtering lists do

green oriole
#

Have you added the entry in C:\Windows\System32\Drivers\etc\hosts?

#

what deos filtering lists do
@late wolf where?

late wolf
#

in github

queen dawn
#

What entry?

green oriole
#
127.0.0.1   pythondiscord.local
127.0.0.1   api.pythondiscord.local
127.0.0.1   staff.pythondiscord.local
127.0.0.1   admin.pythondiscord.local```this
queen dawn
#

How do I add this?

green oriole
#

@late wolf I mean, in which file?

#

@queen dawn open notepad as admin, open the file, and add those lines at the bottom

late wolf
#

bot folder fileters folder

queen dawn
#

notepad++ workls too?

green oriole
#

Yeah, sure

late wolf
#

inside the bot folders and inside the filters folders

queen dawn
green oriole
#

At the bottom of the file

queen dawn
green oriole
#

@late wolf well, as written in the docstring, it is used to manage the whitelists and blacklists of the bot, such as the watchlist trigger or the invite list

#

@queen dawn no, no # before those lines

queen dawn
#

Oh

#

only on the ones you told me to add right?

#

and what about the spaces? I should remove them too?

#

(talking about the spaces between hashtag and the ip address

late wolf
#

idk what whitelists and black lists are @green oriole

green oriole
#

@queen dawn you can but it isnโ€™t mandatory

queen dawn
#

Okay I added these

green oriole
#

@late wolf a whitelist is a list of autorized stuff, a blacklist is a list of forbidden stuff

queen dawn
#

so if I understand corretly now I need to use pythondiscord.local:"8000

#

ofc without the typing mistakes

late wolf
#

i see, so incase of python bot what are some white lists and black lists could u give me an example

green oriole
#

exactly!

queen dawn
#

Great! Thank you so much Akarys! I would have never even got close to do this

green oriole
#

@late wolf well, as I said, thereโ€™s the watchlist triggers (list of forbidden words/regexes which ping mods when used), and the server list (the servers you are allowed to post invites to)

#

@queen dawn any time! lemon_pleased

late wolf
#

thx

queen dawn
#

I got to creating the .env file, just a quick question, when they mean the project root they mean the folder that contains the config-default.yml the config.yml, the readme.md and such right?

green oriole
#

Thatโ€™s the one, yeah

queen dawn
#

Great

#

it doesn't matter if I use touch .env or type nul > \path\to\project\.env if I launch Git Bash in the project root

#

right?

green oriole
#

Yeah, thatโ€™s totally fine

#

Do what work best for you lemon_pleased

queen dawn
#

Ilove that emoji !

green oriole
#

Haha, we have quite a few of those lemon_pika

queen dawn
#

did I do the syntax correct?

#

and what do I need in the BOT_API_KEY

green oriole
#

badbot13m0n8f570f942013fc818f234916ca531

#

Thatโ€™s the default key

queen dawn
#

wait what

#

that's what I need to put?

green oriole
#

Yeah

queen dawn
#

I'm dying

#

do I need to run the .env file? I've always changed env variables through cmd...

green oriole
#

The .env file is just here to add more env vars, you donโ€™t have to explicitly run it

#

pipenv will load it for you

queen dawn
#

Great!

#

because i'm not using docker I need to use this "PostgreSQL"?

#

What is "The site" and why do I need it?>

green oriole
#

Yeah, you need postgres and our website to run on your machine

#

The bot communicates with the site in order to store data

queen dawn
#

so just follow this tutorial too?

green oriole
#

Yup

hardy gorge
#

I'd recommend using Docker, if you can. It even works well on Windows 10 Home now, assuming that you're on a fairly up to date version

green oriole
#

You have to be on a preview though, donโ€™t you?

hardy gorge
#

No

#

Not any more

#

You just need to meet the requirements: For x64 systems: Version 1903 or higher, with Build 18362 or higher.

#

For WSL2

#

And then you can install Docker with a WSL2 back-end

#

It's easy and works out of the box

late wolf
#

hey it says this in the tutorial what does this mean??

config-default.yml
eternal owl
#

there should be a file with that name when u clone the repo

#

u need to create a new file called config.yml and paste its contents in it

late wolf
#

do u have any idea which folder that might be in?

eternal owl
#

at the project root

#

where the pipfile, pipefile.lock exist

late wolf
eternal owl
#

look closely, there is a file called config-default

#

9th from the top

late wolf
#

yes there is what about it

#

oh thats the on

#

right?

eternal owl
#

now create a new file called config.yml

#

do u have git bash or wsl?

late wolf
#

idk what that is

eternal owl
#

nvm

#

create a config.yml file and copy the contents of config-default.yml into it

late wolf
#

ok thx

#

there isnt a guild ID there thgouh

#

or it's just that i couldnt find it

eternal owl
#

line 136

late wolf
#

oh i found it thx bro

#

what is meant by categories?

#

and what is the change log channel?

eternal owl
#

here Development is the category

#

and channel below it come under that category

late wolf
#

ohh i see thx but when we add a topic then why is it yellow but otheres are red?

eternal owl
#

the server has many categories- Bot Commands, Events, Help, etc

#

ohh i see thx but when we add a topic then why is it yellow but otheres are red?
@late wolf ?

#

also, check the pins, there is a server template u can use

queen dawn
#

I'd recommend using Docker, if you can. It even works well on Windows 10 Home now, assuming that you're on a fairly up to date version
@hardy gorge Why?

mellow hare
#

It makes life a lot easier. Normally you'd have to set up the individual services like the database and the server hosting. Docker handles all of that for you

#

Okay not server hosting

#

But in general it's as simple as docker-compose up and you're up and running

green mesa
#

@eternal owl

@staticmethod
def zodiac_date() -> List[dict]:
    zodiac_date = {"Aries": (datetime(year, 3, 21), datetime(year, 4, 19)),
                   "Taurus": (datetime(year, 4, 20), datetime(year, 5, 20)),
                   "Gemini": (datetime(year, 5, 21), datetime(year, 6, 20)),
                   "Cancer": (datetime(year, 6, 21), datetime(year, 7, 22)),
                   "Leo": (datetime(year, 7, 23), datetime(year, 8, 22)),
                   "Virgo": (datetime(year, 8, 23), datetime(year, 9, 22)),
                   "Libra": (datetime(year, 9, 23), datetime(year, 10, 22)),
                   "Scorpio": (datetime(year, 10, 23), datetime(year, 11, 21)),
                   "Sagittarius": (datetime(year, 11, 22), datetime(year, 12, 21)),
                   "Capricorn": (datetime(year, 12, 22), datetime(year, 1, 19)),
                   "Aquarius": (datetime(year, 1, 20), datetime(year, 2, 18)),
                   "Pisces": (datetime(year, 2, 19), datetime(year, 3, 20))
                   }
      return zodiac_date
#

i have converted this into static method

#

is it right

#

bcz in json its getting messy

#

๐Ÿ˜…

eternal owl
#

u don't need a method for this

#

have that variable outside the class

#

i meant to have the loading of json date for zodiac info inside

#

like the description, etc

green mesa
#

hmmm

eternal owl
#

have u included the starting and ending date for each zodiac in the json?

#

as induvidual keys

green mesa
#

nope

#

adding those

#

in main script i use

eternal owl
#

add the dates in the json

#

then in the Cog, write a script to extract all the data including those dates

#

lemme show u

green mesa
#

i use json to extract other info

#

will i create 4 key

eternal owl
#

add the dates in zodiac_explanation.json

green mesa
#

in json we can keep tuples right

eternal owl
#
"Aries":{
  "start": "iso date format for aries starting date",
  "end": "iso date format for aries ending date",
  ...
},```
green mesa
#

and 2 for month

eternal owl
#

or u can use a list to keep them under 1 key

#

no

green mesa
#

(datetime(year, 3, 21), datetime(year, 4, 19))?

#

this way

eternal owl
#

start will be for example: 2020-01-1

#

u cant store datetime in json

green mesa
#

actually i have defined year like this -> year = datetime.now().year

#

so we dont need to change again and again every year

eternal owl
#

year dosent matter

#

just hard code it

#

i dont think zodiac signs change with year

green mesa
#

for leap year?

#

feb

eternal owl
#

still comes under Aquarius

#

29th feb is between 15th and 14th march

green mesa
#

ok then i will put leap year as year

eternal owl
#

2020 is leap year :p

green mesa
#

so others can check for 29 also

#

noice

#

then i will hardcode it

#

json accept tuples?

eternal owl
#

no

#

use list

green mesa
#

looks like json dont like ๐Ÿ˜‚

eternal owl
#

[]

green mesa
#

ok list done

eternal owl
#

okay so

#

once u have added the dates in the json

#

it will be loaded here in ur script

#
with open(Path("bot/resources/valentines/zodiac_explanation.json"), "r", encoding="utf8") as file:
    """Load zodiac zodiac explanation from static JSON resource."""
    zodiac_fact = load(file)```
#

so zodiac_fact will hold all that data

#

as we saved the dates in JSON as string, we want to convert them into datetime objects, so loop over zodiac_facts and convert the string representation to datetime objects

#

u can do that by using fromisoformat() method

green mesa
#

ty

#

i have made this static method

    @staticmethod
    def load_exp_json() -> dict:
        p = Path("bot/resources/valentines/zodiac_explanation.json")
        with p.open(encoding="utf8") as json_data:
            zodiac_fact = load(json_data)
            return zodiac_fact
eternal owl
#

perform the creation of datetime objects in that itself

#

can u show me the way u stored the dates in ur json

green mesa
#

yeh sure

#
{
    "Aries":{
            "start_at": "2020-03-21",
            "end_at": "2020-04-19",
            "About":"Amazing people born between **March 21** to **April 19**. Aries loves to be number one, so itโ€™s no surprise that these audacious rams are the first sign of the zodiac. Bold and ambitious, Aries dives headfirst into even the most challenging situations.",
            "Motto":"***โ€œWhen you know yourself, you're empowered. When you accept yourself, you're invincible.โ€***",
            "Strengths":"courageous, determined, confident, enthusiastic, optimistic, honest, passionate.",
            "Weaknesses":"impatient, moody, short-tempered, impulsive, aggressive.",
            "full_form":"**A** for assertive\n**R** for refreshing\n **I** for independent\n**E** for energetic\n**S** for sexy",
            "url":"https://www.horoscope.com/images-US/signs/profile-aries.png"
        },
eternal owl
#

okay

#

so

for fact in zodiac_fact:
  fact["start_at"] = datetime.fromisoformat(fact["start_at"])
  fact["end_at"] = datetime.fromisoformat(fact["end_at"])```
#

nd dont forget to import datetime
from datetime import datetime

green mesa
#

its already imported

#

like this

eternal owl
#

okay

green mesa
#

in static method i have add this right

eternal owl
#

i have made this static method

    @staticmethod
    def load_exp_json() -> dict:
        p = Path("bot/resources/valentines/zodiac_explanation.json")
        with p.open(encoding="utf8") as json_data:
            zodiac_fact = load(json_data)
            return zodiac_fact

@green mesa in this

green mesa
#

yeh saying for this only

eternal owl
#

also

green mesa
#

return

eternal owl
#

we dont need 2 methods to load json, u can merge the 2 methods

green mesa
#

ok

neon garnet
#

Setting up the test server sure is tedious

eternal owl
#

yep

#

the server template in the pins does simplify it

obsidian patio
#

Yeah. It really is

green oriole
#

Soonโ„ข

obsidian patio
#

Are you working on a setup script?

eternal owl
#

i tried to make a setup script once, but the &ENV and other things stopped me

mellow hare
#

@eternal owl I haven't forgotten your PR, I just got caught up in work. I'll have it done by the end of the day. I need to see who else I can rope into checking it over

eternal owl
#

no hurry, and thanks @mellow hare ๐Ÿ˜„

green oriole
#

Are you working on a setup script?
@obsidian patio something like that lemon_thinking

#

Still at the design stage though

cold moon
#

Is there issue about dewikification of Contributing pages, FAQ page, Rules, Code of Conduct, Privacy?

neon garnet
#

iirc there were talks about a bot that allows for bootstrapping that process

queen dawn
#

Okay after some break I got back to working on the code, and I don't know if to use the site with a docker or not... what's the quickest and easiest way

green oriole
#

Pff, no fun pure

queen dawn
#

Wait if I did the bot without a docker does it mean I have to do the site also in a docker?

green oriole
#

The easiest way is to setup the bot with docker

#

You won't even need a local copy of the site

obsidian patio
#

Thatโ€™s awesome Akarys. The current setup is... monstrous

#

Btw, is there anything shorter I can call you? Like โ€œAkโ€ or something

queen dawn
#

@green oriole Wait so you think I should do the bot again but using a docker?

#

and then what should I do the site in?

green oriole
#

Btw, is there anything shorter I can call you? Like โ€œAkโ€ or something
@obsidian patio I'm fine with "ak", yeah lemon_pleased

#

@queen dawn forgot to ask you something, are you on windows home or pro

queen dawn
#

I believe pro

#

let me check

#

does it matter???

#

Windows 10 enterprise lemon_thinking

green oriole
#

Yeah it does

#

Well, docker will be faster then

#

You don't really have to change a lot of things on your already setup bot

#

The only thing is that the site url is now web:8000

queen dawn
#

I haven't set up the site yet

#

Only the bot I set up using your help previously

green oriole
#

You won't need to, that's the magic of docker

queen dawn
#

OOOO

#

So just follow the guide of the bot again and just change the things that are related to the docker?]

green oriole
#

Well, the only thing you need to change is the url

queen dawn
#

Great!

#

So just install Docker Hub?

obsidian patio
#

Alright, nice

green oriole
#

The docker engine, yeah

green mesa
#

for fact in zodiac_fact:
fact["start_at"] = datetime.fromisoformat(fact["start_at"])
fact["end_at"] = datetime.fromisoformat(fact["end_at"])
@eternal owl its raising error

eternal owl
#

What error

green mesa
#
    fact["start_at"] = datetime.fromisoformat(fact["start_at"])
TypeError: tuple indices must be integers or slices, not str
#

i dont know y its taking as tuple

tough imp
#

can you link me the PR?

eternal owl
#

oh

#

my bad, i thought i was a list of dicts

green mesa
#

.pr 456

green mesa
#

oops

eternal owl
#
for val in zodiac_fact.values():
  val["start_at"] = datetime.fromisoformat(val["start_at"])
  val["end_at"] = datetime.fromisoformat(val["end_at"])```
green mesa
#

.pr 455

dusky shoreBOT
green mesa
#

this one kwzrd

eternal owl
#

try that code

tough imp
#

cheers

eternal owl
#

i should check the format again

#

yep, i got it right this time

#

what happened before is that it was looping for the keys and expects an index instead of a string

cold moon
obsidian patio
#

@sullen phoenix It's fixed now. I really hope this is ready to merge this time around

queen dawn
#

Okay I don't know if it's connected but after restarting fo rtthe download of the Docker I was asked to download a linux something and now I can't launch discord on my PC and I get an error form the docker installer (auto opens on startup)

green oriole
#

Unh

#

That's really weird

#

What is the error about?

queen dawn
#

I can send the crash report from the docker installer

neon garnet
#

I assume you're on Windows?

queen dawn
#

and form discord I can take a screen shot

#

Yep WIndows

#

Discord:

A fatal Javascript error occured Error: Cannot find module 'discord_desktop_core' Require Stack: and then a lot of paths that go to appdata\local

neon garnet
#

What error does Docker say exactly?

stable mountainBOT
#

Hey @queen dawn!

Uh-oh! It looks like your message got zapped by our spam filter. We currently don't allow .txt attachments, so here are some tips to help you travel safely:

โ€ข If you attempted to send a message longer than 2000 characters, try shortening your message to fit within the character limit or use a pasting service (see below)

โ€ข If you tried to show someone your code, you can use codeblocks
(run !code-blocks in #bot-commands for more information) or use a pasting service like:

https://paste.pythondiscord.com

queen dawn
#

Let me get a pastebin

neon garnet
#

Do you have WSL2 enabled/installed?

green oriole
#

You don't need WSL2 on pro edition

#

At least you're not supposed to

neon garnet
#

Right, just checking an edge case as well

green oriole
#

Maybe hyperv isn't enabled though

queen dawn
#

I think I have WSL2?

#

Pretty sure it asked to download that lemon_thinking

thorny obsidian
#

I know I had to disable a setting in my bios to allow docker to use hyperv

queen dawn
#

What setting?

green oriole
thorny obsidian
#

it was something about virtualization under advanced settings

#

let me see if I can find the SO for it

queen dawn
#

Oh I know that

#

Let me try a sec

#

I think it worked lemon_glass

#

Oh

#

Nope

#

But discord is fixed if it's sopme how related

green mesa
#

Don't know y I got this

#

For windows pro and windows home u have to enable visualisation differently

#

in windows pro when u boot pc just press 2-3 time F2 and in setting enable visualisation

#

And then boot the pc

#

Yesterday I enabled visualisation of my windows pro for docker

#

With this method

queen dawn
#

I did

#

I enabled the Virtulaziation in the BIOS

green mesa
#

Ok then where r u stuck in installing docker?

queen dawn
#

wym

#

I started the installer

#

then restarted when askled

#

then it wanted me to seperatly install linux something something

#

then I installed

#

restarted

#

and now when ever I start the PC I get the error message linked above

green mesa
#

I don't have experience with docker, sorry ๐Ÿ˜”

eternal owl
#

u need 03 instead of 3 @green mesa

green mesa
#

I tried with that also

eternal owl
#

its not taking that 0

green mesa
#

Don't know why it's happening

eternal owl
#

also, take it as a string instead of an int

green mesa
#

Thinking of doing this way

eternal owl
#

u can actully use date directly

#

from datetime import date

green mesa
#

Ok

neon garnet
#

First time set up sure does take a while

obsidian patio
#

stop being so pure

short snow
#

lol

#

:failmail: ?

green oriole
#

Pure's bot doesn't have access to the emoji apparently

subtle kraken
#

emote used to say that bot failed to send the DM with infraction

short snow
#

but the emoji uses id right?

#

and there is no need for that

#

someone had told me this earlier

green mesa
#

I like that reason ๐Ÿ˜…

subtle kraken
#

the bot must be in same server as the emoji to be able to use it

#

pretty sure majority if not all mod emojis are used in <:name:ID> format so they can be used cacheless

short snow
#

ok

queen dawn
#

Can someone help me?

#

and jsut nothing f***ing works

thorny obsidian
#

What windows version are you on?

queen dawn
#

10 enterprise

thorny obsidian
#

To confirm, virtualization in the BIOS is turned on and HyperV is also enabled?

queen dawn
#

HyperV and SVM

thorny obsidian
#

Do you have a fresh download of the docker desktop to install?

queen dawn
#

Yep

#

Want me to try to reinstall it?

thorny obsidian
#

Yeah let's go for it

queen dawn
#

Okay

#

Let me just recheck in the BIOPS

#

Im now checking the bios

#

And I don't see hyperV

#

Only see SVM Mode

thorny obsidian
#

HyperV won't be in the BIOS settings, it's a windows feature

queen dawn
#

Oh

#

How do I enable that?

#

Wakt

#

Let me Google

queen dawn
#

Okay after a couple of times trying to install hyper V it always gets stuck in the same place

#

what can I do?

thorny obsidian
#

What is it getting stuck on?

queen dawn
#

on the download

#

at about 20%?

#

I used power shell

#

not trying on cmd

#

but I don't see it getting any better...

thorny obsidian
#

do you mean enabling hyperV? It shouldn't be a download

queen dawn
#

Download?

thorny obsidian
#

well, you can try enabling it through the settings and see if that works

mellow hare
#

Don't you have to do something special....

#

Hold on

queen dawn
#

?

#

Let me try

mellow hare
#

Yeah I think you have to do it via the Windows Features thing

queen dawn
#

Could it be because the docker installer is running

mellow hare
#

Possibly

queen dawn
#

okay I pressed quit should I try now?

mellow hare
#

Go to your Programs and Features Window (where you would go to uninstall stuff)

#

Then on the left hand side you'll select Turn Windows Features on or off

#

And then you'll click the check next to Hyper-V. It'll start downloading stuff and probably ask you to restart your machine

queen dawn
#

I think it finally worked
!

#

It's asking to restart

#

Should I restart?

mellow hare
#

Yeppers

#

I had to go through the same process when I tried to get Docker up and running

queen dawn
#

Still doesn't work lemon_enraged

#

I'll try top reinstall

#

but even since I downloaded the docker I've had a problem with my PC

#

sometimes it just doesn't boot to windows

#

Anyone? I'm really tried of this.. been on this for a few hours with no progress

queen dawn
#

I've been told it's not a good idea to use a docker on Windows

#

so I should go back to not use a docker?

thorny obsidian
#

I haven't had any issue with docker on Windows. Honestly I would start from scratch and delete and of the docker files you have so far and double check your settings for both HyperV and WSL 2 and go through the install instructions again.

queen dawn
#

Okay

#

Thank you

thorny obsidian
#

That error messages suggest something funky with the WSL 2 engine, so maybe disabling wsl2 and just using hyperV might be the way to go?

sullen phoenix
#

approved! @obsidian patio

obsidian patio
#

Aah awesome! Thanks ๐Ÿ˜„

sullen phoenix
#

no problem

obsidian patio
#

Could someone else review it as well?

dusky shoreBOT
queen dawn
#

That error messages suggest something funky with the WSL 2 engine, so maybe disabling wsl2 and just using hyperV might be the way to go?
@thorny obsidian how do I do that

#

now found some windows files were corruped

#

Trying again

green mesa
#

.issue 432

dusky shoreBOT
green mesa
#

I have changed git to ffmpeg in docker file

#

Now it's ready for review

neon garnet
#

Is installing ffmpeg necessary here for the Dockerfile? I don't really see it on the blame for said file.

#

Either way, I'll launch it after I grab lunch.

green mesa
#

For spooky sound command we need

#

Ok pure

eternal owl
neon garnet
#

Building containers does sure take a while

#

@green mesa I've successfully built your PR using Docker but discord.py seems to error out with the following traceback:

seasonalbot    | 09/24/20 04:41:12 - bot.exts.evergreen.error_handler ERROR: Unhandled command error: 'NoneType' object has no attribute 'connect'
seasonalbot    | Traceback (most recent call last):
seasonalbot    |   File "/usr/local/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrapped
seasonalbot    |     ret = await coro(*args, **kwargs)
seasonalbot    |   File "/bot/bot/exts/halloween/spookysound.py", line 37, in spookysound
seasonalbot    |     voice = await self.channel.connect()
seasonalbot    | AttributeError: 'NoneType' object has no attribute 'connect'
#

Might have something to do with my test server

hardy gorge
#

It probably "gets" a channel somewhere based on an ID. If a channel with that ID is not found on your guild, that get channel function will return None

#

Good example of the dangers of None

neon garnet
#

It obtains a channel ID from constants.py which I assume is tightly coupled with this server

hardy gorge
#

Most likely, yeah. There are some IDs in there that get their value from an environment variable so you can configure it to a test server. I'm not intimately familiar with Seasonal Bot's constant system, though; not sure if the design is to just create a lot of environment variables for all these channel constants.

green mesa
#

@neon garnet have u mentioned voice channel id in constants.py?

neon garnet
#

Yes, currently building w/o installing ffmpeg now

obsidian patio
#

If anyone has time to review this as well, it would be awesome

dusky shoreBOT
green mesa
#

When good first issue tag gets added to any issue?

neon garnet
#

Not quite sure what you mean

green mesa
#

This good first issue tag

#

I mean label sorry

neon garnet
#

Typically that's added for issues that can easily be resolved by first-time contributors or beginners

green mesa
#

Ohk

#

We use postgres for both bot?

obsidian patio
#

At least for @stable mountain

exotic ember
#

@dusky shore does not use a database

subtle kraken
#

To be fair Python doesn't use Postgres so to say
It interacts with it through the site

neon phoenix
#

That's why commands like kick, ban, etc are really quick

#

Because instead of manipulating the db directly, it sends a request to the server, which manipulates the db

green mesa
#

Hmm then @neon garnet how r u planning to make emoji count command without db๐Ÿ˜…

#

R u planning to write to file or something

neon garnet
#

You can easily obtain the emojis that a guild has

#

!doc discord.Guild.emojis

green mesa
#

I wnt to get number of uses of particular emoji ๐Ÿ˜…

stable mountainBOT
#
emojis```
All emojis that the guild owns.

Type Tuple[[`Emoji`](#discord.Emoji "discord.Emoji"), โ€ฆ]
neon garnet
#

@green mesa Well, that's not really possible

green mesa
#

This only gives the list of emoji that guild has

neon garnet
#

and that's out of scope for my feature

green mesa
#

Ok

#

Let me read the issue again then๐Ÿ˜…

#

I think I have missed something

#

Or misunderstood

neon garnet
#

.issue 1170 bot

neon garnet
#

Currently waiting for approvals/suggestions on this feature although I have a rudimentary implementation set up

green oriole
#

It looks pretty good, although I canโ€™t judge if this feature is needed

#

The implementation and the UI seems to be pretty straightforward

#

I think you can just go for it, we donโ€™t really approve issues on @stable mountain

hardy gorge
#

I guess what they are after is suggestions from the moderation team

#

Staff should be able to self-assign issues anyway

cold island
#

commented

green oriole
#

Might as well ask #mods then lemon_pleased

glass pecan
#

sure i'll send a ping, why not

#

annoyed a few tens of people

#

if there's nothing after a while, i think we can trust it's a sane implementation

cold island
#

annoyed a few tens of people
we're used to it

green mesa
#

๐Ÿ˜…

green oriole
#

Donโ€™t forget to assign yourself on the issue @neon garnet lemon_pleased

neon garnet
#

Thanks for the heads up

green oriole
#

np

obsidian patio
#

What role do you need to assign yourself issues?

glass pecan
#

you need to be part of the github staff group

#

if you're not in there, ask an owner for privs

obsidian patio
#

Aah, alright. I should be able to, then. How is it with adding labels?

cold island
#

You mean who can edit labels? Should be the same

glass pecan
#

same deal yep

obsidian patio
#

So I can add WIP, importance level and such labels?

cold island
#

Yeah

#

Are you asking if you technically can, or if you're allowed to?

glass pecan
#

you're allowed to, just understand a core dev may change it lol

#

i doubt you'll have issues though, they're pretty self explanatory

obsidian patio
#

Perfect, thanks

green oriole
#

I am a bit clueless about how to make codespaces throwaway, since you need a config file for the bots

#

The only thing I can think of is using dotfiles to store configs, and maybe encrypt them

obsidian patio
#

Wait, could (should) I approve on SeasonalBot as well?

#

The label

glass pecan
#

yes you're allowed to approve if you're reasonably sure it's a useful feature

#

if its a bit iffy, it's better to not make the jump and just ask in here

obsidian patio
#

Alright. Thanks @glass pecan ๐Ÿ˜„

green mesa
#

@eternal owl now my pr is ready for review

#

.pr 455

dusky shoreBOT
green mesa
#

now u can type month as str or int UwU

gusty sonnet
#

You can do
__C__onfident
__A__nalytical
...

#

It will be easier to read imo

green mesa
#

ok

#

changing rn

gusty sonnet
#

Also consider linting your json as well, the spaces in there are inconsistent

green mesa
#

ok

#

ok

balmy sparrow
#

That's why commands like kick, ban, etc are really quick
I donโ€™t really contribute here, but was curious how this is faster?
#dev-contrib message

eternal owl
#

I will review the pr in about an hour @green mesa

green mesa
#

ok

#

@gusty sonnet i just linted and i didnt get any error from json

#

i used pipenv run lint command

gusty sonnet
#

Hmm, you probably aren't using ESlint right? ๐Ÿ˜„

#

Well, try to format it then

#

like adding space between :{ / keep spacing consistent at 2 or 4, etc

green mesa
#

done

#

Soon I will be ready to work on my 4th issue๐Ÿ˜

green mesa
#

On Android last letter is not getting underlined ๐Ÿ˜”

#

It's again discord bug

#

Any recommendations what should I do

tough imp
#

what does your markdown look like?

#

sadly Discord markdown is not very consistent across platforms

cold moon
#

Discord should really make this look exactly same in every platform.

obsidian patio
#

Especially mobile

cold moon
#

Should I open issue in site repo about (Dewikification) creating app for serving contributing guides?

green oriole
#

I think you should focus on your already open PRs first

eternal owl
#

lot of typos @green mesa , lol

green mesa
#

@eternal owl where๐Ÿ˜…

eternal owl
green mesa
#

Lol

#

๐Ÿ˜…

#

Tnx

#

Btw is command working

#

Or I need to change something๐Ÿ˜…

#

I am fixing my typo rn๐Ÿ˜

green oriole
#

Thereโ€™s a PC extension for spellchecking, it is pretty great, I use it personally

green mesa
#

For vsc?

green oriole
#

Ah, I donโ€™t know

green mesa
#

Ok let me check

#

I don't know y my pc got hanged ๐Ÿ˜”

eternal owl
#

when someone enters an invalid zodiac name, can we display the list fo zodiac signs instead of the error message? what do you guys say?

green mesa
#

I like the idea

eternal owl
#

cuz people like me might not know the spelling of some zodiac signs, lol

green mesa
#

Yeh

eternal owl
#

lemme make a comment on the PR about this

green mesa
#

We can give them 3 chances to type out right zodiac name

eternal owl
#

no

#

just sending a list of zodiac names will be good enough

#

then they can re-invoke the command

green mesa
#

Hmm ok

eternal owl
#

sorry for being slow, its going to take a lil longer @green mesa

green mesa
#

Np I will edit by code tomorrow ๐Ÿ˜

eternal owl
#

๐Ÿ‘

green mesa
#

U can take your time

eternal owl
#

now u did this cuz the regular checks werent working?

#

the reason it fails, is
the end value is 2020-01-19

#

instead it should be 2021

#

capricorn goes from 2020-12-22 to 2021-12-19

#

but in ur code, it goes from 2020-12-22 to 2020-12-19

cold moon
#

Why I'm getting:

docker.errors.APIError: 500 Server Error: Internal Server Error ("b'Mounts denied: \r\nThe paths /opt/pythondiscord/seasonalbot/data and /opt/pythondiscord/seasonalbot/log\r\nare not shared from OS X and are not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'")

when running SeasonalBot with Docker

green mesa
#

@eternal owl if I make any change it start sending Capricorn only

#

That's y I hard-coded for Capricorn only

#

Others are dynamic

#

It fetches value from json and make datetime obj

#

And then bot compares

green oriole
#

@cold moon your docker isn't properly configured to accept volumes

#

Maybe not running as root? (or whatever is the macos equivalent)

eternal owl
#

i found the fix @green mesa , i will include it in the review

green mesa
#

Ty

cold moon
timid sentinel
#

I think a blank/empty character and then a newline works

brazen charm
#

Discord won't strip out zero width spaces

cold moon
#

@brazen charm Thanks, this worked

cold moon
#

But this give another thing: Emojis will be too small in Cozy mode.

#

So should this have really small icons, but format well in compact or don't format that well in compact mode and have good sized emojis

green mesa
#

Looks nice

cold moon
#

This is how this was

short snow
#

tic tac toe?

green mesa
#

Yeh

sharp timber
#

Should I re-request review once I've committed something that implements requested changes, or should I allow the auto-request from pushing a new commit do that?

green oriole
#

Hey @obsidian patio I'll be doing some changes on the permissions tomorrow, mind if I change the !role permissions in the same go?

obsidian patio
#

Aah, sounds great. I'll assign you

subtle kraken
#

I'd say you don't need to re-request but I wouldn't be opposed to it so we don't forget about the PR @sharp timber

green oriole
#

@sharp timber you can ask for review again, yeah, although I'm not sure what you mean by auto-request Damn, sorry for the second ping

obsidian patio
#

Now someone just has to press the magic button with the extensions command

sharp timber
#

"Changes requested" has one person, and "2 pending reviews" has two other people added by the github bot (?)

subtle kraken
#

I think mark will get to it regardless

#

as for lemon and Hem, it doesn't have to be them to review it

green oriole
#

Right, you'll have to re-request to review the person who requested changes again, anyway

sharp timber
#

Gotcha

#

I thought it was like that but wasn't sure

#

Should be all ready to go now then

brazen charm
#

The repos are set to request 2 reviews from the core devs when opened, after that it only notifies the subscribed people

green oriole
#

magic button pressed vest

obsidian patio
#

@dusky shore development will be much smoother now, I'd say

brazen charm
#

So the manual request will pop up even when not subscribed, but most of the time I'd say people who reviewed will take a look later when addressed

green oriole
#

Yes, seasonal is waaayyy faster

subtle kraken
#

Im looking at your PR currently, Bast

green mesa
#

@subtle kraken can u also have a look at my pr for partnerzodiac sub command ๐Ÿ™‚

#

.pr 455

dusky shoreBOT
subtle kraken
#

bit later

#

fwiw am mainly available sat-sun for reviews

eternal owl
#

@green mesa review submitted, quite a lot of requested changes.

#

for the JSON, I said we could use iso-date format strings instead of a list to store month and date numbers, to save u the time to replace all that, I have already done it (sent the json file in DM)

sharp timber
mellow hare
green oriole
eternal owl
neon garnet
#

Off-topic names are chosen randomly right?

green oriole
#

Well, yes

neon garnet
green oriole
#

If they have been already used once in this rotation

#

So yeah, it is random, but not fully random, we make sure they all appear at least once

neon garnet
#

Right right

green mesa
#

@eternal owl y u wnt to take date in isoformat only?

neon garnet
#

It's much more pragmatic than just an array of numbers

green mesa
#

discord.ext.commands.errors.ExtensionFailed: Extension 'bot.exts.valentines.valentine_zodiac' raised an error: TypeError: descriptor 'isoformat' for 'datetime.datetime' objects doesn't apply to a 'str' object

#

i think again i need to make list

hardy gorge
#

Uh, what did you do?

green mesa
#
            for zodiac_name, zodiac_data in zodiac_fact.items():
                zodiac_start = zodiac_data["start_at"].split("-")
                zodiac_fact["start_at"] = datetime.isoformat(zodiac_start[0],zodiac_start[1],zodiac_start[2])```
#
{
  "Aries": {
    "start_at": "2020-03-21",```
#

i think i need to use %Y-%m-%d to split

tough imp
#

isoformat is used to serialize a datetime object into a string, I think you want to do the opposite?

#

fromisoformat takes the whole string and parses it, you don't need to split it yourself

#
>>> from datetime import datetime
>>> 
>>> datetime.fromisoformat("2020-03-21")
datetime.datetime(2020, 3, 21, 0, 0)
eternal owl
mellow hare
#

Ice I'll look at the one you linked me today

eternal owl
#

thanks ๐Ÿ˜„

mellow hare
#

I need to start kicking butts to get other people to review

green mesa
#

same thing i tried

#

and getting this error

eternal owl
#

i still need to change the testcase i guess, cuz I changed the implementation

mellow hare
#

Like even if a handful of staff or regs can do one a week or hell even 1 every 2 weeks I'd be happy

green mesa
#

discord.ext.commands.errors.ExtensionFailed: Extension 'bot.exts.valentines.valentine_zodiac' raised an error: TypeError: descriptor 'isoformat' for 'datetime.datetime' objects doesn't apply to a 'str' object

eternal owl
#

show code

green mesa
#
                print(zodiac_data)
                zodiac_data['start_at'] = datetime.isoformat(zodiac_data['start_at'])```
eternal owl
#

I really appreciate your hardwork :p @mellow hare

#

its fromisoformat

#

instead of isoformat

green mesa
#

lol

eternal owl
#

xD

#

use date instead of datetime also

#

as we don't really care about time

#

from datetime import date
date.fromisoformat()

green mesa
#

tnx buddy let me try

eternal owl
#

๐Ÿ‘

#

ur best friend is the python repl

#

i do a bunch of testing there

#

a quick note @mellow hare , the bot PR uses the changes in the site PR

#

so you will have to run the site which has those

mellow hare
#

Yeah I wasn't going to merge it until I knew the site PR was live

eternal owl
#

oki