#dev-contrib
1 messages ¡ Page 44 of 1
tbh i don't know the origin of why i called them that
issues == tickets
okay
okay
ok, you'll want to space out the "the problems we know are with an extra line above it
it needs to be clearly structured, so we can see that the statement is beginning the list you have under it
another option is to use a header
okay
got it
good judgement on reducing the header level
I will use 2 # , 1 is too big
there is a semantic reasoning to the different headers too
do you know how to show an image in markdown?
thx!
so instead of the inline link, you'd use

Markdown is truly one of the most useful things going
it's a shame the guy that came up with it is so grabby
updated
ok so your first issue is:
The command does a double embed edit which means it gets rate limited pretty quickly.
I don't know what you mean by this
dont ask me what it means
if you spam the right paginate fast, then you dont get anything
in what context. when it starts, when it's navigated, when it's just sitting around being itself
it does it if you don't spam as well
when u navigate
When you click a navigation reaction, it blanks the embed, and then fills it again
ok
blanking is a pretty horrible method, but i reckon i know why it's done
but for now, lets adjust the wording to appropriately explain the issue
something like
When navigating using reactions, the embed is edited twice in succession, first making the embed blank and then with the new content. This sometimes results in slow updating and the embed staying blank.
okay
hopefully you can agree that is easier for others to understand and to easily reproduce the issue themselves when testing
yep!
then you have a line
(We need to figure out a way to solve this)
that's the entire point of an issue ticket
it can be removed
okay
okay lemme get that
ok
Should i mention the problem and the solution in the same place?
you can in this case
okay
keep in mind, it's more of a "this should be replaced with something similar to the Python bot's User Agent, such as python3:python-discord/seasonalbot:1.0.0 (by /u/PythonDiscord)"
rather than a "change it to x"
sometimes the recommended fixes in issues aren't always the most suitable, as fixes are done in the PR stage
It's also more than just changing the user agent, you need to add an authentication flow for the API
Which also requires us to generate the credentials and add them to Seasonalbot's environment
that's the next point, yep. it's missing from the issue currently
ok
for example the bot has an api token for authenticating with discord
without it, it can't interact with the api
but reddit does not need one
reddit requires one as per their developer terms
without that token, we lose benefits
Oo i never knew that
the rate limit is greatly decreased for example
so I should set it to an env var
you'll want to reference the implementation in the Python bot repo when you go to fix it
but in the issue ticket you'll just want to outline that it is missing and needs to be added
Currently the API does not use an authenticated request. We should make sure to use an app token from Reddit the same as the Python Bot does also. This bot will need one created by an admin specific to Seasonalbot.
oki
you'll also want to add in the error from Suhail's comment
updated
"In the code" isn't unnecessary to add, as a note. Any code changes is in the code, and tbh it's more important that it's actually about an output string that users see.
okay
good stuff
that's a much clearer issue ticket. we just merged a PR for issue ticket templates also that was worked on a while ago. so in future, there'll be more details requested, but hopefully it gives a better outline on what we need to see.
no probs
https://github.com/python-discord/seasonalbot/issues/348
is this ready to be approved?
I think I've read some people had some additional considerations before we go ahead with it, so I'm not sure.
okay
What's the best/suggested way to pull changes from upstream? I'm about 600 commits behind, lol. It's part of an open PR and last time I tried to do something like that it didn't end well
You could create a new remote upstream and use git pull upstream/master inside your master branch
Once you have fetched it
But you should have write access to the repos, right?
pull to master --> git pull origin/master to update branch? --> git push changes to branch?
yeah this was before I had write access, and I'm less likely to break something if I'm working on a fork đ
pull upstream/master, not origin/master
You canât break anything, you donât have access to master, and the history is rewritable
do I need to rebase to remove this nuisance thing?
No, you shouldnât use rebasing when you donât need to
merging master gaves a merge commit anyway, it is just hidden by github when it is from the same remote
ok so should be all good to go now, yeah?
Yes I think
đ cheers
Sir @mellow hare and @sullen phoenix, you were pretty interested in the re-eval functionality iirc, the PR is ready, if you have some time to review it đ https://github.com/python-discord/bot/pull/710
this is the together java server and they have a very good way of indicating whether a channel is free or not and that is the bot adding free emoji to the channel name
I think they have a plan at this point
Just wanted to show it xD
I hate it, just for the record.
okay
It is pretty ugly yeah
But I mean, câmon they are Java devs, they donât like beautiful things
that đ emoji is god awful
if they had made a custom one, maybe it would've looked okay
Ugliness isnât really the problem, itâs that itâs equally as nondeterministic as the free command we already have
yes, but arguably a little more immediate
The lack of space between the channel name and the emoji is bad too
more convenient
but ultimately misleading and not the right solution
I think the bit of friction we have where users have to use the !free command, and the additional wording in the !free command that makes it clear that these might not in fact be free are kind of essential
!free
#help-chestnut 1h 24m 44s inactive
#help-falafel 34m 56s inactive
#help-croissant 19m 52s inactive
there are no promises made here that we can't deliver on
but a đ emoji makes a promise that it cannot keep.
Honestly, I think the system we have in mind is far better and it isn't even that complicated
agreed.
A clock emoji maybe, just to tell there wasnât any message in a certain amount of time, not that the channel is indeed free?
Yep!
No, let's not make too many changes to the help channel system
I want a clean pilot test of the new system without any more shenanigans going on in the mean time
yep.
The help channels are the core of our community
It wasnât really a suggestion, it was just a reaction type of thing, your idea is far better
maybe channel description can call free ?
Hmm @green oriole why increasing from 10 lines to 11? What if it has 12 lines and you truncate the final line anyway?
Would having a dynamic limit better in this case?
No no, we have a limit of 11 lines, if the output is greater, we truncate it and upload to paste.pydis.com, but with the current setup, if the output is exactly 11 lines long, the last line get truncated but it doesn't properly detect it and the original output isn't uploaded to the paste service @gusty sonnet
There is more details in the corresponding issue
And I didn't expected people to delete the bot response before re-evaluating, gonna fix that :P
If you don't delete it yourself and let the bot do it, you can see the feature working
Hmm, so we have a hard cap of 11 lines? What if the output is exactly 12? Can we argue that in that rare case, it should still be shown?
@gusty sonnet the striping in done a big higher in the code, as it is now everything is balanced, we strip up to 11 eleven lines and show them correctly, the issue was that two values wasn't set correctly
You left two comment on lines I didn't modified, it isn't really fair :D
Well, since you are doing stuff with it, might as well do some refactoring đ
To be honest it is working fine so you can also disregard it until it becomes a problem. Having working feature comes first!
Ye the 11 lines is fine, I resolved the conversation about it, we can always go with it and raise another issue if it becomes a problem later
I will go over the tests tomorrow
Nice!
https://github.com/python-discord/bot/issues/697 Is this issue solved or? And when not, quick question: how to fetch site latency?
It'll be two pronged. Part of it will have to be done on the bot, the other on the site
The API will have to be listening for that request
Have we decided on whether or not we want that feature?
No idea
An admin said yes before I wrote it
Worth making an issue for discussion isn't the same thing as worth implementing the feature
Yep
Hardest thing to contribute to any Python Discord project is setting up env. Just my computer crash
Well that's bizarre
At what step did that happen to you?
PySide2 docs repeat themselves in the symbol permalinks, I assume because of the nature of it being packages under the main one with a different docs structure. (PySide2.QtTest.PySide2.QtTest.QTest.qExpectFail as an example)
Would this be worth handling when getting the symbol from users here to fetch it? Or should it just stay general for all the module docs that may come
I tried setup Docker, but after this computer crashed
Have you tried setting it up without Docker?
@woeful thorn How do I install flake-annotations from git now that setup.py is gone?
Do I have to go through poetry?
I tried simply ```sh
pip install -e git+git@github.com:python-discord/flake8-annotations.git@TYP-to-ANN#egg=flake8-annotations
But it errors cause setup.py does not exist
If you want an editable install you have to use poetry
Since pip wonât do an editable install with the TOML
Bah.
Poetry it is
Itâs annoying
Can poetry install from git?
I'll find out soon enough. Pip has been really slow to install things today
it can
for all supported types see https://python-poetry.org/docs/cli/#add
Official documentation of Poetry
Thatâs for adding dependencies, not installing from source
I think you have to clone it
Yeah that sounds like the better option
I guess they donât expose the setup.py fakery
Though youâd have to clone it anyway to do that
That might be a fun helper to write
Sorry I don't really know how to do this
?
Not sure how to use poetry. Do I need to create my own project and then add flake8-annotations as as a dependency?
No
I just want to make a venv and then install flake8-annotations to it.
Itâs the same flow as Pipenv
poetry install in the source directory, if you have the env activated it will install to it
I thought that would just install its dependencies rather than the project itself
That's how it seems to be worded in the help menu anyway. After all, I do not consider a project to be a dependency of itself.
Not normally, anyway
But I will try that, thanks
If thereâs a way to word it more clearly Iâd be happy to adjust it
"you can install the projects and its dependencies to create a development environment using: ..."
Also noticed the note below still mentions a Pipfile
oops
Meant to have projects be singular there
Is this clearer?
### Development Environment
This project uses [Poetry](https://python-poetry.org/) to manage dependencies. With your fork cloned to your local machine, you can install the project and its dependencies to create a development environment using:
Note: An editable installation of `flake8-annotations` in the developer environment is required in order for the plugin to be registered for Flake8. By default, Poetry includes an editable install of the project itself when `poetry install` is invoked.
Yes, thanks
Meanwhile my install has been chugging along for the past 30 minutes
Only 25 packages to go...
can we complete the 'planning' on this one ? i purpose a timeout system thatr emove all reaction and then put the đ¨ in the end . so that on_reaction does not cluster
Can you add your proposal to the issue?
done
Interesting.
Race condition?
Is this still available https://github.com/python-discord/seasonalbot/issues/278 ?
I think it can merged with the recommend game command
https://github.com/python-discord/site/issues/178
is someone still working on this?
But is these both available to-do? And where should this fetch games data? From IGDB?
currently the recommend game command uses static files(json), but I think it will be better if we use an API for more games
IGDB looks good, we could use steamAPI as well
IGDB looks like a good idea
Just 50k requests limit
thats plenty
Ye
is it 50k per month/year/forever?
Even if it is per forever, that's enough
yea
This say just 50k requests
@hardy gorge sorry about ping, but should SeasonalBot use IGDB for games? Just I want start solving https://github.com/python-discord/seasonalbot/issues/278 this is currently dead issue
Are you HeroicHitesh?
@cold moon dude you can make game recommendations on any theme, not only horror, let's make it universal
Because I mean, if it isnât you, you should ask them first if they are still working on it
I created a similar issue for movies a few days back
I'm not, but pull request is closed due copyrights, and there is no response after Oct 2019
Hmm yeah, they deleted their branch, it should be fine
are you currently working on any issue @green oriole ?
nothing much, Im having some issues running the website
I did docker-compose up
but when I go to localhost:8000, it says disallowed host(I did setup my hosts file)
and am I allowed to edit the allowed hosts list?
You need to go to http://pythondiscord.local:8000
maybe it would be nice if we set up localhost.pythondiscord.com
I have a design for making that work
You can also use the ALLOWED_HOST env var to override it if you need to, I did it on my dev server so I can access it outside of the server itself
Not sure if it is a good idea
What the api endpoint would be?
api.localhost.pythondiscord.com?
something like that.
Is this to avoid adding entries to a hosts file?
Like, the remote redirects to localhost or something
you'd avoid everything. you'd just run the containers and go to localhost.pydis.com and it would work
no port, https supported
no hosts file
Supporting https and not using a specific port isnât that hard
I mean, we could just use http://localhost:8000, it is the same as localhost.pydis,com
Doesnât change much
I guess the point is that with a setup like lemon's, configuration gets way easier
People don't have to worry about setting up a hosts file and/or ports
hey guys can we have .vscode in gitignore for the site repo
yes that would probably be fine @eternal owl
it's a popular editor and I don't see any reason we shouldn't have it in the gitignore
I'm all for cutting down on the number of configuration steps
okay
yeah and it's http and you have to specify a port
How does it work with our Django set-up that relies on subdomains?
It uses django-host iirc
It does, yes, but that's not what I'm asking
Our site's routes depend on the subdomains
We could use a nginx or apache config, or whatever you use
it is a little bit of work to do properly though @hardy gorge.
basically you set up the DNS zone file to forward the domains to 127.0.0.1, as you might expect.
then, if we don't already have one used locally (I forget), you'd need an nginx container in the docker-compose, which would host the site. If you want hot-reloads (which we do), you might need some sort of plugin to allow that because nginx might disable it by default. Then you'd have a self-signed certificate on the repo itself which the nginx would use for SSL, this would allow https requests to work.
we might also need a mechanism to keep the self-signed certificate from expiring.
We do not use nginx or apache locally at the moment, though
that was for Akarys, by the way
I mean, on the pydis server
You could create a custom config that soft redirect to localhost:8000
Please donât add nginx in the container
It would make a windows setup even harder
not sure why it would affect windows setup at all
because you can't get docker working?
Home edition canât yeah
right okay
that's a fair point, I guess
we could explore this idea of just having the site itself redirect requests to localhost:8000 when they come in on localhost domains. I wonder how feasible that would be
could maybe even set up our nginx config for those localhost domains to automatically redirect https to http
that way we'd sort of (but not really) support https
My point was to add a new nginx config on the pydis server, it should be feasible
okay, to do what
I can try some thing with my dev server if you want
To redirect to localhost:8000
With same subdomain and request URL
But with http I guess
hm, yeah, that might work too.
and would be by far the easiest
does localhost:8000 work right now? or would we need to change ALLOWED_HOSTS ?
We would need to add it yeah
okay, I like this idea. good suggestion, @green oriole
I'll open an issue on the salt repo.
Okay, but localhost doesn't work with subdomains without modifying hosts
that's true. okay. how do we work around that
would such a redirection keep the original subdomain headers intact?
i.e., if both api.local.pydis and local.pydis redirect to localhost, would django-hosts still work?
no, it wouldn't.
it needs to be able to parse out a subdomain
so that's a valid point
might be a showstopper for this suggestion
but
okay I have one idea
we could make api.pydis.com available through pydis.com/api
We could rewrite our entire routing for this to work, but that's not something we should change without serious consideration. It should be easy to either just ditch the subdomains or have them redirect to the main domain with a subpath (api.pydis -> pydis/api)
right, we had the same idea there
I think we could do both?
like, we don't need to change it, we could just have api.pydis.com and pydis.com/api route to the same place
I actually.. hmm
It would mean we wouldn't have to worry about cross-subdomain login cookies
if we ditched subdomains altogether, you mean?
or have them as simple redirects
We may want to keep paste.pydis
api.localhost:8000 works fine
I set pydis.dev.<mydomain> as a valid host on my dev server, and api.pydis.dev.<mydomain> is the api endpoint
I'm not convinced that's true. it is of course true that Django doesn't care, but I'm not sure an attempt to add a subdomain to localhost would survive if you process it through nginx
Okay, one second
https://github.com/python-discord/site/issues/178
is this issue still valid
sure
someone is already assigned but that was in october
cool, would be nice to see. This issue is lacking some design, so please start by discussing how this should be designed before attempting it
we always start with design.
The screenshot contains some sensitive informations, mind if I DM you lemon?
Yea my very first question is where should it be
I've never killed someone for DMing me, @green oriole
I mean should it come under the more section?
Haha okay
Do we have a page dedicated to our bots? like all the features of them(I might be blind)
I don't think we do, but such a page might not be a bad idea.
cool
I imagine we might want a general server information page as the parent of that bot page, too
but anyway, just make the tags page independent for now
and we can worry about where to link to it from later on
something like pythondiscord.com/pages/tags I guess?
okay cool
should i add .vscode to gitignore while I work on this?
nvm I will use sublime text for this
A compliant network stack should always return 127.0.0.1 for <whatever>.localhost
I don't see why nginx would be unhappy with that
@eternal owl I've added the ignore to the site's master
So, if you update/rebase your local branch, you don't have to use a different editor than the one you're used to
okay
path('pages/', include('wiki.urls')),
i cant find any wiki folder
how does it work
The wiki articles are stored in the database, so your local installation will not have any content in the wiki
okay
url paths in Django do not represent actual directories; it defines how urls are parsed and routed to views.
I need a bit of education of the project structure, its so diff from django-admin startproject xyz
It's not that different
In this case, we include all the urls of the wiki after /pages/ on the url
They basically ended up consolidating some stuff
so if I want to write a view for the pages/tags, where should I
We use a central directory for templates and static files
The same place you usually would - in the app
home app?
That probably belongs in home, I guess, yeah
is https://github.com/python-discord/seasonalbot/issues/345 free, so I can start solving this?
it should be approved
Oh, approved missing?
Well, I guess you need to start at the bottom and work up
It looks like https://github.com/python-discord/seasonalbot/pull/306 was declared stale
Why don't you leave a comment on the PR and ask to take it over?
ok
hey @molten bough, you got some time now?
What do you need, Ice?
some more info on how the site works đ
Well, I can try, haha
okay
I have updates installing but I can start IDEA after that
They're rendered by django-wiki
there is no view.
yup
we change them on the site itself
well there is a view, but it's not one of ours
so its django built in?
No, it's a third party app
okay
If you want to add wiki pages, you'll have to use the django admin
Yeah, so you could add that before the current pages/ url route in the home app
yeah, the tags page does need a normal view
ok how will it get updated ?
using a connection between bot and website
we alredy have an API in @stable mountain afaik
that's already done
this is a public view page
You almost certainly don't want to render a wiki view, Ice
I suggest creating a new template for this
You can always model it on the wiki one I wrote
@clever wraith Tags are stored in the database
where is the wiki one
no he purposed it contain commands and description of each bot .
templates/wiki/article.html
how can we make a connection between bot and web
you might need to unravel things a little, there's a lot of template inheritance going on
@clever wraith this is just a tags page
Asking good questions will yield a much higher chance of a quick response:
⢠Don't ask to ask your question, just go ahead and tell us your problem.
⢠Don't ask if anyone is knowledgeable in some area, filtering serves no purpose.
⢠Try to solve the problem on your own first, we're not going to write code for you.
⢠Show us the code you've tried and any errors or unexpected results it's giving.
⢠Be patient while we're helping you.
You can find a much more detailed explanation on our website.
so step 1 is to write the url endpoint @molten bough ?
Well, I usually start with the template
but it's really up to you
Create the view, add the URL route, and then get hacking
did i just found a bug ?
where to create the view
Since tags are just stored in the database, a ListView and DetailView class with appropriate templates should basically provide the backbone.
Then you can route the url to those view classes and it would work fine
okay I will make a new view in the apps/home/views/home.py?
there must be a reactor == ctx.author check ?
Since you need two views
@clever wraith It was intentional back when I worked on that part of the bot
@clever wraith Why? It's quite handy to allow others to browse paginations as well.
We use that all the time with infractions
what is package
but one person can be eivl and press the delete function
if people get obnoxious, they'll get an infraction
function here means button*
I made the folder and now I should create a file called views.py and start writing my view
Anyway, the view classes are probably just going to be four lines or so
No, again, make two files, one for each view
They could also live in one file, as far as I'm concerned
in class you say
why do I need 2files for 2 views
That wouldn't be too bad either, yeah
I need a ListView and detailView
I guess I'm used to the conventions other languages impose, the one file one class deal
If they're short then one file is probably fine
You could look at the other views for that
That sounds fine
okay cool
I hope PR #306 author check this PR. I just can't mention him
something is wrong with my lappy, it hung for 10s and then discord and mozilla just closed, lol
Out of RAM?
Check in what sense?
I want to see the tags in the db
You can use the django admin
@cold moon It was their first contribution to PyDis and it seems they were only active on GH during Hacktober. It's so stale I wouldn't mind someone else taking over.
okay
ok, thanks
btw can i see the db from psql?
yes
but, there probably aren't any tags in your database if you haven't added any yourself
whats the db name
pysite, I think
docker will create db right?
Yup
Is that a local postgres server?
yea i think so
It runs its own in Docker
oh
okay
okay
Oh yeah
$ docker exec -it site_postgres_1 psql -U pysite
okay
depending on the name of the container, obviously
not yet
But should I use current OMDB, or add new env var for TMDB?
maybe check that
What can possibly go wrong
Did you wait for it to finish starting?
it says Watching for file changes with StatReloader in terminal
Sounds right
Are you using the right port?
Did you add that domain to your hosts file?
it was working fine before
What did you change between a working state and a non-working state?
Alternatively, restart your devserver and see if it starts normally
i changed the urls.py file, created new files, edited those
okay
I had a typo in an import statement
i fixed it and now it works
ah, yeah, that'd do it
I got the views working now, time to make the web page pretty
\o/
You shouldn't need to, yeah
but I get error that secret key is missing
wait
how to run docker and python manage.py shell together
using docker-compose exec service_name command
what can be service name
okay
thanks
!tags
is there a way I can get all the tags from pydis database?
I not sure what do give in the embed section other than description
It's an embed object, the same as Discord would use normally, I think
oohk
Tag embed must contain one of the fields {'video', 'image', 'title', 'fields', 'description'}.
how will the fields dict look
You can also add tags using your bot, but this is an example of an actual tag:
{"description": "**Off-topic channels**\n\nThere are three off-topic channels:\n\u2022 [#ot0-psvmâs-eternal-disapproval](/guild/267624335836053506/channel/291284109232308226/) \n\u2022 [#ot1-perplexing-regexing](/guild/267624335836053506/channel/463035241142026251/) \n\u2022 [#ot2-never-nesterâs-nightmare](/guild/267624335836053506/channel/463035268514185226/) \n\nTheir names change randomly every 24 hours, but you can always find them under the `OFF-TOPIC/GENERAL` category in the channel list."}
I think all tags right now only have description
from what I've seen anyway
it's just there in case they want to add tags with other fields
but for the sake of future-proofing you should handle all of them
okay, but I will need an example with all those values
example with {'video', 'image', 'title', 'fields', 'description'}
okay
These are just the normal fields from the json/dict respresetnation of a Discord embed
The current tag command only adds a description field, but that may change in the future
for some reason my <h1> , <ul> and <li> are not showing up
Need to be in a content div
Integrate your service with Discord â whether it's a bot or a game or whatever your wildest imagination can come up with.
arenât fields just nested dictionaries ?
it says array of embed field objects so it probably a list of dicts
that makes sense
Seems like a reasonable start, should be alphabetized though
okay
How about adding amount of movies to .movie <genre> (I'll use subcommands)? Default should 5, max 20 and min 1
Seasonalbot
I can do, but managing and code style I think is better with subcommands
You just use a database query to get all the tags right?
Because you directly call .sort_by on it to sort them
where can i find that perfect spacing
trail 1 for detail page, dont have much idea , that starting line will change once I figure out the proper spacing.
that hr is barely visible haha
I think I should make that hr darker
The spacing on the top are breadcrumps using a nav tag with the breadcrumb css class
It contains an ul of the breadcrumb items
Example from a random wiki page:
<nav class="breadcrumb is-pulled-left" aria-label="breadcrumbs">
<ul>
<li>
<a href="//pythondiscord.com/pages/">Index</a>
</li>
<li class="is-active">
<a href="//pythondiscord.com/pages/">Code Jams</a>
</li>
</ul>
</nav>
@eternal owl Just a few things upfront, the "official" command to display tags is !tags <name>; in general, using !<name> will also work, but only if we don't have a command with the same name/alias.
The reason is that the individual tags are not commands, but whenever someone issues a non-existing command, we check if we have a tag by that name; if so, we return that instead.
So, !<tagname> may not always work (although we should probably prevent such shadowing)
Do we currently have any instances of conflicts?
I don't think so
Yeah I can't think of any
okay, thanks @hardy gorge
I need some feedback on those pages guys
The 2 pics are above
Current progress
confirming complete embed json:
{
"title": "This is a title.",
"description": "This is a descriptin.",
"image":{
"url": "https://somepic.jpg",
"proxy_url": "some_url",
"height": 100,
"width": 100
},
"fields":[
{
"name": "Some name",
"value": "xyz",
},
{...},
{...}
]
}```
( I dint add video as its almost similar to image)
@hardy gorge
I'm not sure, I'm not home. (I'm at the hairdresser actually)
oh okay
Looks right
okay cool
Aren't there more options, like author and the like?
yep there are plenty
Integrate your service with Discord â whether it's a bot or a game or whatever your wildest imagination can come up with.
In principle, the database can store everything
We currently don't use everything, though.
Maybe an author field would make sense in the future for keeping track of who wrote what
okay cool
Haven't thought it through yet.
Anyway, that's just to indicate that future updates may add features.
Not every field has to be rendered on our website; it should just not break it if we decide to store another field.
all_keys = {
'title', 'type', 'description', 'url', 'timestamp',
'color', 'footer', 'image', 'thumbnail', 'video',
'provider', 'author', 'fields'
}
one_required_of = {'description', 'fields', 'image', 'title', 'video'}```
i just found this in `api/models/bot/tag.py`
I think I will impliment for all_keys
shouldn't be hard
lemme know if there are any format changes(like which should be list and which should be dict n stuff)
cool
after like half a year of never talking/participating here i feel like i need to do something đ
There are going to be some small changes to our helpers once we upgrade to 3.8
Soonish
soonâ˘ď¸
That's one of the area's in which 3.8 is a significant update: mocks for async stuff
so shall i leave it until 3.8 or start it anyway
will much change besides the mock classes themselves?
my format passed the validator
@rocky bloom No, the changes will be minimal
ah so i'll start learning and doing some
I need to learn testing as well 
I found a bug
in django admin interface, when I am trying to update/edit a tags object, it insted keeps the old one and makes a new one with the updated/edited details
So its kinda impossible to edit an object without creating a new one and then deleting the old one.
It doesn't do that for me
It doesn't do that on our actual website as well
So, I can't replicate what you found
Okay, I only edited the actual tag, not the title
yea the title edit is bugged
Since i no see activity , I am pulling a PR with my purposal in mind
What does that mean?
wait a sec , let me link the issue it is reffered with
So rather than being patient, you're just going to go ahead and do what you want?
You're free to do that, but keep in mind that it might end up being a waste of time if what you intend to do doesn't align with what ends up being planned
its ok
@eternal owl It's not really a bug in that the behavior is easily explained: The title is apparently the primary key of that model.
I did it with creating bookmark command itself, and it got passed cuz it was a good idea. going same with this one
So, if you "change" it, you literally saving something with a different pk
I think you have a very different interpretation of history, the last PR you just tossed in without discussion underwent a pretty significant rewrite before it was merged
Is there any bulma class to add top padding?
Top padding for what part?
don't mock me atleast ;-;
Bulma assumes you're placing your content in the appropriate container classes; that should sort out the spacing for you
I think you could look at the wiki pages to see how it's done there
okay
They have a similar lay-out but with the desired spacing
btw the tags /thing is not working
Did you use breadcrumbs in the appropriate nav container?
there is no space after / and the link is not clickable
I used ur code
<div class="container">
<nav class="breadcrumb is-pulled-left" aria-label="breadcrumbs">
<ul>
<li>
<a href="{% url 'list_tags' %}">Tags</a>
</li>
<li class="is-active">{{ object.title }}</li>
</ul>
</nav>
</div>```
@clever wraith I'm not mocking you. My point is that it saves everybody time and effort if you start from a solid foundation instead of charging ahead before the task is appropriately laid out
can we then point our attention to that issue , cuz i wanna complete it, cuz people asked for it today , and maybe i will not be available day after tomorrow
hmm, does that actually resolve properly? Shouldn;t it be something like home:list_tags?
How does the url render?
we can specify without app name also
<a href="{% url 'detail_tags' title=obj.title %}">{{ obj.title }}</a>
this works in the tags listing page
i just use detail_tags insted of home:detail_tags
What's in your urls.py for home?
@stable mountain not working
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.
ok it slowed down
path('pages/tags', TagsListView.as_view(), name="list_tags"),
path('pages/tags/<str:title>', TagsDetailView.as_view(), name="detail_tags"),```
these are the new urls I added
@clever wraith in what way?
It didn't responded for over 5 seconds
any idea why its still 1.2.5 ?
Because that's what it was when we locked the dependencies, and 1.3.1 hasn't been tested yet
so i can't use some of the thing from docs '='
Like what?
Reaction.remove() still exists
have to loop in that
Ok
Is this good?
Probably not, I don't think the user needs the "I've sent this" feedback for all eternity
Ye, this is paginated
did you see if the markdown bug is still present
What?
markdown in embeds used to not clear on embed edits
i have not heard that being fixed yet
so it would result in weird double text or leftovers
For me everything works correctly
at least until you visited another channel and came back
righto then, that's a good sign. it's pretty obvious when it happens, so should be fine
how is this
whats this
is it just me or does this look like a wiki page though
This looks nice
oh yea
hows the UI, g
{
"url":"https://github.com/RohanJnr",
"image":{
"url":"https://assets.pokemon.com/assets//cms2-en-uk/img/misc/_tiles/pokemon-day/2020/pokemon-day-2020-169-en.jpg"
},
"author":{
"name":"Iceman"
},
"fields":[
{
"name":"Field One",
"value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac rhoncus velit."
},
{
"name":"Field Two",
"value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac rhoncus velit."
}
],
"footer":{
"text":"footer text",
"icon_url":"https://cdn.discordapp.com/emojis/638729835442602003.png?v=1"
},
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac rhoncus velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce nisi dui, faucibus sit amet egestas eu, imperdiet vel lectus. Aliquam vulputate volutpat porta. Interdum et malesuada fames ac ante ipsum primis in faucibus."
}```
i am using this for Testing
I have not added all the fields tho
like video, time, etc
@eternal owl command and author details at the top i'd probably use bulma tags.
The tag content itself can either be as you've got it, or you could choose to adjust it to be embed-esque so it's familiar to the discord view.
what is embed-esque
similar to the style of the discord embeds
I wrote some CSS that kind of does that with the messages framework
We're not talking about the bot.
Yep, it's in static/css/base/notification.css
Do not attempt to make a messages div
that won't do what you want
but this should give you an idea of how I gave it that signature left border
well you'd still need to make it.. look like an embed
also, the site doesn't have a dark theme
use the light theme embeds
I wrote CSS for that too
Not in the light theme
ohh there exists a light theme, right
lol
yes pls use lighttheme embed style lol
maybe down the line we'll add a theme switcher to the site, but it's super low priority. for now better to be consistent
and sure thing
the CSS I wrote for that currently requires is-dark bot set on the notifications if you want dark theme
might be best to change that
night
so you can just set it on the body or something, dark-theme or whatever
Later, rohan
@clever wraith can you please fix your PR. Your description doesn't describe anything, it's just basic commentary and your reasoning is useless
If you want to keep contributing, I hope to see a little effort in what you bring to the table please
Communication is a very important aspect of contributing, and it doesn't feel like you're really caring much about it
What PR is this?
I also edited out the top section that's meant to be part of the template defaults.
ahh man i am so bad at this job
The reasoning is the "why"
so like, why is this feature useful?
what does it bring to the table?
the description doesn't describe what the PR is, either
## Description
Can't belive the 338 just needed
if target_message is None:
target_message = ctx.message
otherwise i tried to include it previously with a bug related update
but it needed some planning and improvement so we doing it now
it basically create a temp list of the people who alredy got the bookmark ,
when someone react with pin emoji it check if user in that list if not it sends the
bookmark to prevent spamming. and after 5 minutes it removes all the reaction.
## Reasoning
People requested this
Also it provide less keyboard typing to do same thing which can be done like this
what about this one ?
@glass pecan you know thats the only thing i suck at.
I think its better now
Communication covers things like these issue and pr tickets, your commit messages, planning features, being a constructive part of discussions rather than just demanding things, listening to feedback from others and actually considering them when moving forward especially when it's from people who have been working on these projects for a fair amount of time.
If you think it's "the only thing you suck at" and it's fine to overlook, you're greatly mistaken
It's an absolutely massive part of contributing, impacts almost every single stage of things and truly results in extreme frustration when you're not willing to improve
And honestly, I've really not seen much of an effort from you to improve in these aspects yet, so take these words to heart because if you don't start making more of an effort, I'm not really going to let it keep going as it is
Should scarymovie and romancemovie stay as different commands or should they 1 movie call to new movies command?
@clever wraith ill read it soon, i'm writing my own tickets atm
@cold moon it's a good consideration to merge it, so your question is good
would you feel it makes more sense to put each type under a parent command of movies instead
like movies scary and movies romance for example
This is what I'm making, just these (scary and romancemovie) would ctx.invoke, so basically like alias of like .movies horror
the purpose of the alias is backward in that case though
the alias is mostly for direct invoking things that would be hidden in subcommands instead
such as some of our site commands
!help site
!site
Can also use: s
Commands for getting info about our website.
Subcommands:
faq
Info about the site's FAQ page.
help
Info about the site's Getting Help page.
home
Info about the website itself.
resources
Info about the site's Resources page.
rules [rules...]
Provides a link to all rules or, if specified, displays specific rule(s).
tools
Info about the site's Tools page.
you'll see !site rules often used as !rules instead
in your case, both your commands are already top levels
yeah, then should I remove these cogs after my work is done?
in what sense?
sorry, just don't know if you're deciding on one way or the other atm regarding command structure
I mean these RomanceMovieFinder and ScaryMovie. When .movies command is added these commands is available there too. Just they are available always.
Are they not all under the same movie cog?
No
That's my mistake then
Yes, that's the point of this PR
then if you're combining them into one @cold moon, you'll defs want to change their commands
that way they both share the parent command group of movie
feels the most sensible option to me
Agreed
Also means you don't have to worry about unloading certain cogs
You just have the one that's always loaded ready to roll
I'm able to edit other people's issues/PRs on GH, is that intentional or just a limitation of their permissions system?
it's a limitation of GH perms
Fair 'nuff
GH has a terrible granularity
it only links one of the issues, not both
and yeah it is gdude lol
Edits is useful to tick boxes on checklists though
True, Ak
but don't edit it, i'd suggest commenting on it if you can gdude
Okay
that way people can make sure they learn through repetition
if we do it for them, they might not remember for next time
Good point
I need to read up on that feature tbh, let's see..
yep, it is how I thought it was only, no shorthand
i seen something new earlier today
Oh?
hang on, still writing my big book
I did used it, but I removed it because something was off
A lot of styles don't theme the top bar thing
I can't remember what though
this one does though
Oh yeah, there is little things like this everywhere
There is the same for PR merges too
this is how material dark looks btw
looks nice
I wish I could theme windows this way, but it's too risky
at the risk of going too far off topic, i'll mention briefly that the idea of theming windows gives me throwbacks to the old Windows transformation packs you could get that fully changed core files and half of the time broke explorer lol
oh my god yes, I remember that
i think i changed XP to Vista UI once just because why not
knowing them, it was probably less breaky lol
Hub?
i still use git cli a lot
diffs and commits are super nice in pycharm though so i do use that
The CLI is still my go-to, but I'm starting to use PyCharm more for git.
DONE! I'll make PR soon for SeasonalBot .movies command
i wish the PR view in pycharm wasn't so hidden though
excellent ks, thanks
don't forget to lint
(you should have precommit installed already tho)
Dang, nice
i use it because i can just
Right Click -> "Create New Local Branch"
even if it's on a fork
@molten bough it works fine at my point the closes thing , but still you are better in this so i edited it
@glass pecan oh, man, I love you. That's a great feature and I had no idea it existed.
the fact that noone knew about this kinda reinforces the fact it's so hidden đ
yikes
Ya see @molten bough what I was saying about features hidden in submenus ^^
Hello! I do not mean to come off as impatient, but I'm the author of the #741 PR request- it's a refactor of the information.py cog. I can get this issue with the PR too, but I just want to make sure that it is okay for it to be in the PR đ
https://github.com/python-discord/bot/issues/744
I know I left a comment on the issue and should wait for a response, but I'm changing everything based on the requested changes on the PR- so I just wanna make sure that I can get this issue with it before the PR is accepted (if all the changes are okay) đ
i must have missed this
thank you for bringing it to attention
dammit ela
beat me to it
lol
i was reading okay
@wispy quail yeah, you're good.
in general, or just for now
both
Awesome, thank you very much for the quick response đ I'll go ahead and do it up! đ
if the name randomizer for the staff lounge were to work as the one for the OT channels, would it be better if it changed a bit more often?
like 3 times a day at least
Once a day is fine
@clever wraith you closed the valentines PR?
yes, apologies
but. why?
I'd rather not go into it if that's ok
eh. sure.
nothing to do with you or this community
Feel free to poke me if you need to talk about anything, hax
ok unit testing looks way too difficult for a noob like me đ especially knowing me i'd forget something here and there
i think i'm just gonna stick to seasonalbot for now
unit tests are optional in bot
yeah i know
but i wanted to help with the unit tests
so i looked into it but it looked too difficult đ
it's easier than it looks
Corey has a nice unittest series.
you need to know a few basic concepts, like what's a mock? what's coverage? what are some good tools that will help do this? why is it sometimes a good idea to write more than one test for the same piece of code?
then you're more or less good to go.
with @dusky shore its help section is the default one and doesn't uses paginator .
If someone work on it , should it be similar to @stable mountain help menu ?
claim it here
https://github.com/python-discord/seasonalbot/issues/295
I know there is a Issue with that
it open so you can work on it
actually my own bot have a help .
wonder if that looks good to be in @dusky shore
you have to use the paginator built for seasonalbot
its pretty same
no one saw nothing
@eternal owl what kind of weird paginator it is
It's not weird
Even I thought It was but it fairly simple
Look at the reddit command for example
it uses ImagePaginator , i will use LinePaginator
Oh yes more lemoji!
YES LEMOJI
?
I wonder why its applying the blue color to the entier embed
using my own css
You're using is-info
yea
Which is a bulma modifier of that color
.messages .notification.is-info {
background-color: #fdfdfd;
border-left-color: #1c8ad3; /* Bulma default colour */
color: #4a4a4a; /* Bulma default colour */
}```
I am using the one in the notification.css
love the pokemon logo
btw why isnt there space btw .notification and .is-info
I stole it from pokemon.com haha @rocky bloom
because they're part of the same element