#dev-contrib

1 messages Β· Page 157 of 1

cold island
#

We can't tell it to not go into a package

gritty wind
#

Ah, that doesn't really matter

cold island
#

We can tell it to ignore each file in it it finds

gritty wind
#

Since all sub packages will be ignored too

#

As soon as it finds an underscore anywhere in that path it'll quit

fallen patrol
#

yep, or switch the generator to use a recursive function which can knock them out faster πŸ™ƒ

#

meh your solution is better and faster

gritty wind
#

Over optimization

gritty wind
fallen patrol
#

taking a break from trying to set it up, lol

gritty wind
#

Why don't you have docker on your local machine again?

cold island
#

Hmm... seems like the error is coming from walk_packages

gritty wind
#

What error are you having?

cold island
#

It's an ImportError but I only have the traceback object

#

I'll try removing the onerror

gritty wind
#

If you send the error, could help

#

I've become deeply unfamiliar with the import system

#

... for better or for worse

cold island
gritty wind
#

Do you still have the function?

green oriole
#

circular references?

cold island
#

I removed it

green oriole
#

actually, the error would be different

short snow
#

circular references has differnt erros

cold island
#

There are no other mentions of that function

gritty wind
#

It's used in a converter

#

For the ext command

green oriole
#

lol it is used somewhere for something once

gritty wind
#

Why do you have a greyscale santa hat. It looks like someone took a white marker to your pfp

short snow
#
Ξ» rg "unqualify"
bot/converters.py
22:from bot.utils.extensions import EXTENSIONS, unqualify
160:            if argument == unqualify(ext):

bot/utils/extensions.py
9:def unqualify(name: str) -> str:
21:        if unqualify(module.name).startswith("_"):
cold island
#

Ok

#

it works!

#

it works.

green oriole
#

ngl the white line makes me think paramount

short snow
#

put on a real christmas hat and change pfp

green oriole
#

that's my plan

short snow
#

actually just take all event pfps together so you won't need to set it up everytime

clever wraith
green oriole
#

didn't someone (@cold island or @gritty wind, maybe?) said something against a blackjack game

short snow
#

well scal did and did not, he was not opposed to it but told it has been shot down many times in the past for gambling

clever wraith
#

Well Scaleios did bring up its a big chance of the idea getting denied but I still would want an answer to the issue? 🀷

green oriole
#

I'm not a true fan of it because of the gambling aspect either, yeah

#

kind of reminds me of twitch's prediction system

fallen patrol
#

@gritty wind I got it live by modifying the docker-compose file

#

no more port forwarding necessary

#

...

#

@vale ibex all this to realise I can't test the partial message pr

#

I don't have a message old enough in the server to be out of the cache

brisk brook
fallen patrol
#

I think that dpy will fetch recent messages and add them to the cache

#

meh I edited the bot to disable the cache temporarily

vale ibex
#

It doesn't, it only fills the cache on_message

fallen patrol
#

and it doesn't work

vale ibex
#

so send a message, kill your bot, start it again

fallen patrol
vale ibex
#

Is that in DMs?

stable mountainBOT
#

discord/client.py lines 120 to 122

max_messages: Optional[:class:`​int`​]
    The maximum number of messages to store in the internal message cache.
    This defaults to `​`​1000`​`​. Passing in `​`​None`​`​ disables the message cache.```
fallen patrol
#

I'll try setting this to 1 in case setting it to none also disables a channel cache for some reason

#

nope

vale ibex
#

you cna leave it default, and just restart your bot after sending a message

#

Do you have more of a traceback, to see what is raising that error?

fallen patrol
#

still fails

fallen patrol
vale ibex
#

could you do !int e print(ctx.channel.id)

#

in that channel

fallen patrol
vale ibex
#

what about !int e print(ctx.guild._resolve_channel(ctx.channel.id))

fallen patrol
#

nice

#

internal error

vale ibex
#

interesting

gritty wind
#

Missing a )

fallen patrol
#

...why does it delete the response??

gritty wind
#

That is something The ChrisMan will have to answer

fallen patrol
#

guess i'll try to configure some of the emojis

gritty wind
#

For a second there my brain started taking chrisman to Christmas, and i was thinking β€œoh wow, Chris sounds a lot like Christmas”

Then I realize I’m an idiot that hasn’t slept in a day

fallen patrol
#

Christmasjl

fallen patrol
vale ibex
#

hmmm

fallen patrol
vale ibex
#

oh, errros are deleted after a while

#

that's in our error handler

#

Hmmm I can't see why it's not working on your bot

fallen patrol
vale ibex
#

Ah

#

That shouldn't cause an issue here

#

Oh, is there another deco on that command?

fallen patrol
vale ibex
#

like a perm check or smth

fallen patrol
#

defcon & interaction channel

vale ibex
#

the error might be coming from there

fallen patrol
#

reactions go brr

vale ibex
#

lol

fallen patrol
#

now I can try

vale ibex
#

That makes sense now

fallen patrol
#

and sadly the patch did not work

vale ibex
#

Could you expand on that?

#

Since it works on my bot just fine, and you have just shown that the last time you said that it was because of configuration.

fallen patrol
vale ibex
#

What were the steps?

fallen patrol
#

log is literally:

#

2021-12-03 12:26:01 | bot.exts.backend.error_handler | DEBUG | Command raw invoked by arl#8028 with error ChannelNotFound: Channel "None" not found.

fallen patrol
vale ibex
#

So, before it hits the Message convertor, it goes through the other decorators

#

namely @in_whitelist(channels=(constants.Channels.bot_commands,), roles=constants.STAFF_PARTNERS_COMMUNITY_ROLES)

#

So, is your bot commands a valid channel that exists in your server?

fallen patrol
#

it is, but I wasn't in that channel

#

I have the staff roles, tho

vale ibex
#

Could you send me your config.yml and invite me to your server?

fallen patrol
#

(your) dms are closed πŸ™ƒ

vale ibex
#

Mine are open for this server

#

Always have been

fallen patrol
#

oh, I have them closed for this server and opened in lemon's server lmao

fallen patrol
#

oh

#

lol

#

tldr method name wasn't ever being called

green oriole
#

@thorny obsidian didn't we used to have a link command for the aoc? or maybe it was for hacktoberfest

thorny obsidian
green oriole
#

oh right, you made the issue

#

I got some things messed up

#

excellent

#

do we use Redis?

#

oh you made the PR

thorny obsidian
#

Yes. My issue states that that should be the implementation used and my PR description says it's implemented with a redis cache.

green oriole
#

gotcha gotcha

#

just a small nitpick that isn't worth changing, you send the log line {ctx.author} ({ctx.author.id}) is now linked to {aoc_name}. before actually setting the value, which may be a little confusing when trying to understand an error

clever wraith
#

finally managed to get tldextract working last night

green oriole
#

other than that, the PR looks pretty good in its current state

thorny obsidian
#

I wanted to log that before you set it because if it somehow errors or crashes during the set for whatever reason you won't have a log of what caused it.

green oriole
#

I'd have worded linking {ctx.author} ({ctx.author.id}) to {aoc_name} if the log line happens before the action is actually being done

#

I don't think the last two comments are really worth actioning

#

the part about the length being 0 being fine is true though, you'll just end up with an empty list

thorny obsidian
#

Yeah, I do plan on removing that. I had in there to prevent an earlier issue that I ended up accidentally refactoring out

green oriole
#

I see, I see

clever wraith
#

@vale ibex when you've got time, do you mind looking at bot#1889? tldextract has been fully implemented and tested

dusky shoreBOT
vale ibex
#

So the reason we added tldextract was so that we could do subdomain and path parsing nicely

#

So it would make sense to change the check to be something like ```py
regex = r"\S+?.\S+"

sent_subdomain, sent_domain, sent_tld, sent_path = magic_extract_func(url)
for blacklist_url in blacklist:
filter_subdomain, filter_domain, filter_tld, filter_path = magic_extract_func(filter_url)

if filter_domain == sent_domain and filter_tld == sent_tld:
    if fitler_path and sent_path != fitler_path and filter_subdomain != sent_subdomain:
        return False, ...
    return True, ...
#

changing the url regex too, so that we match on more things

#

of course this is pseudo code, so please don't just copy-paste it verbatim and expect it to work πŸ˜„

#

@clever wraith ^

fallen patrol
#

chris, is #778 up for grabs πŸ₯Ί

vale ibex
#

which repo?

fallen patrol
#

@dusky shore

vale ibex
#

Ah, I was hoping to finish off what it says on the tin and then move a lot of stuff to other issues

#

I just haven't worked through feedback

fallen patrol
#

oh okay

#

in that case my comments can probably be moved to issues

vale ibex
#

πŸ‘

fallen patrol
#

...which I can then be assigned to :)

vale ibex
#

hah yea

#

Also I do list(dict.fromkeys(my_list)) quite often to remove duplicates and retain order πŸ˜›

fallen patrol
#

I wish there was a better way than that...

vale ibex
#

there's also more_itertools.unique_everseen

fallen patrol
#

like orderedset or other thing

vale ibex
#

But that's in Python afaik, so using dict.fromkeys is better

#

since it's in the C layer

fallen patrol
#

I didn't realise that...

clever wraith
#

.bm 916393778166792253 intended impl

vale ibex
#

I think all of your other suggestions could be done in another PR(s)

clever wraith
#

hi sorry if being annoying, but how long does it take until there is a deny/accepted response for my issue?

fallen patrol
#

looks good in that case

vale ibex
#

it depends when people are available to review it, we're all volunteers here. Different people are active at different times

#

Most activity is seen on the weekend, since that's when people tend to have the most free time

vale ibex
#

Nice, feel free to open an issue enumerating your proposed changes, and i'll get you assigned

fallen patrol
#

er, could you please unresolve those 3 comments that you said to make another issue because github is glitching and i can't click them...

vale ibex
#

sure sec

#

Done

fallen patrol
#

thanks

#

or wait

#

should I even make an issue?

#

could go straight to pr for the ratelimits and issue refactor

#

(basically I'm not sure how I should split them up into issues?)

vale ibex
#

Yea, if you don't want to split them into different PRs, feel free to cover it in one

#

I mostly suggested an issue so that people could get context on why we wanted it

#

if you include it in the PR body that should be fine

fallen patrol
#

total changes:

  • constants
  • move ratelimits
  • remove git alias
  • add wait for deletion
  • include issue number in response
  • move the if not message.guild check to before we scan for issues
  • make only one request per pull instead of two
#

yeah, an issue is probably relevant, but can make it with all of those in it

vale ibex
#

Yea, seems fine to me

fallen patrol
#

lol, bug or feature?

vale ibex
#

I'd say all of those fall into feature enhancement/perf enhancements

fallen patrol
#

πŸ‘

vale ibex
#

the ratelimit IG is an edge case bug fix

#

but the rest aren't

fallen patrol
#

sir-lancebot#968

dusky shoreBOT
fallen patrol
#

stalled πŸ˜”

#

@thorny obsidian I updated sir-lancebot#967 to be better illustrative of the changes that it is requesting.

thorny obsidian
fallen patrol
#

see sir-lancebot#966 for why the information of 30 minutes hasn't worked

thorny obsidian
#

I've read through that issue and responded. People who don't read the embed will still continue to not read the embed. Making it a dynamic timestamp just obfuscates that it's on a 30 minute interval.

fallen patrol
#

I read the embed, but as I commented above, I (and likely others) did not see that last updated tiny footer until it was pointed out

#

there are other fields in an embed which are larger than the timestamp location, which is small and appears differently on different platforms

#

i understand wanting to keep the information, and that all of the information is already there, however, the presentation ends up shadowing some of the information with the large code block above the embed

cold island
#

Why not just move the footer right below the line "The leaderboard is refreshed every 30 minutes."

fallen patrol
#

I like that

cold island
#

You do lose localized time though

thorny obsidian
#

Yeah, when I say read the embed, I do mean the full embed. There isn't always a good solution to people just not reading information provided.

Making it a dynamic timestamp just hides the fact that it's on a 30 minute timer. It's now on a ??? timer.

fallen patrol
cold island
#

Ah I guess we can make it a timestamp yeah. I was mainly thinking of relative time which I find pretty annoying sometimes

fallen patrol
#

In my own usage of it I tend to put an F time right next to an R time

#

<t:1:F> (<t:1:R>)

cold island
#

"
The leaderboard is refreshed every 30 minutes.
Last updated <timestamp>

<main message>
"

fallen patrol
cold island
fallen patrol
#

no i mean in my own code that's what I do πŸ˜›

fallen patrol
cold island
stable mountainBOT
#
== Raw message ==

<t:1:F> (<t:1:R>)
cold island
#

<t:1:t>

fallen patrol
#

hmm, not sure if the enum for this is on lance yet

#

no, its not

thorny obsidian
fallen patrol
#

i was thinking you'd make a new pr, but hey, if you sign off i can implement it πŸ˜„

thorny obsidian
thorny obsidian
fallen patrol
#

well, if you were implementing it then as you said because it doesn't have anything to do with your currently open pr you would make a new one with just this change

#

I don't really understand your question, I suppose

#

But if you approve the issue, I can go ahead and implement it

thorny obsidian
#

I'm very careful in lancebot that I don't actually PR anything that other people can work and would be a good experience for them. It's why I make issues but you almost never see me make a PR to that repo. Just because I comment on an issue or provide feedback does not mean I want to work on it.

The notable exception being things that are blocking other things I'd like to do. I PRed .aoc link because it's blocking an announcement I'd like to make and other work I'd like to do behind the scenes.

thorny obsidian
fallen patrol
#

I won't implement it unless confirmed that the implementation i would use is what you want.

thorny obsidian
fallen patrol
#

....er is there is a leaderboard I can test with

thorny obsidian
#

The one you joined.

fallen patrol
#

how do I set it up on lance πŸ˜…

thorny obsidian
# fallen patrol how do I set it up on lance πŸ˜…

.env file should contain this:
The structure of AOC_LEADERBOARDS is: leaderboard_code,session_cookie,lb_joincode

The leaderboard join code doesn't have to work for this since it's just DMed to a user. You just need to pull your session cookie and make sure the leaderboard ID is the same as the one you've joined.

cold island
#

oh damn I forgot about today's puzzle

thorny obsidian
cold island
#

pain already on day 3?

thorny obsidian
fallen patrol
#

how's this? @thorny obsidian

thorny obsidian
#

I'd prefer if it was just the timestamp because the date isn't really important. So <t:X:t> or <t:X:T>

fallen patrol
#

oh shoot, I glossed over that

thorny obsidian
fallen patrol
#

as an aside, while here

#

I tried putting a language on the embed for a little bit of color

#

worth keeping or naw?

thorny obsidian
#

People are going to immediately question why some people's names have color and others don't. I'd rather keep it simple

fallen patrol
#

πŸ‘

#

sir-lancebot#969 @thorny obsidian πŸ˜„

clever wraith
#

It discards the subdomain and checks the tld and domain name

vale ibex
#

Yea, the path check is the more important part

#

if there is a path present, we want it require an exact match

fallen patrol
#

@vale ibex I forgot, was aoc subscribe gonna get killed or wait until the end of aoc this year?

vale ibex
#

probably just wait, rather than pull the command out from under people during an event

fallen patrol
#

cool

vale ibex
#

lovefest can be removed though

fallen patrol
#

can I make an issue, and mark it as deferred?

vale ibex
#

πŸ‘

fallen patrol
#

cool

#

sir-lancebot#970

dusky shoreBOT
fallen patrol
#

hm

#

should the commands stay, and helpfully redirect users to use the Python command?

austere hornet
fallen patrol
#

a good one

#

have you ever used vim?

austere hornet
austere hornet
fallen patrol
#

vim is an editor, and in vim, you can yank a line of text, which will store the line in memory. You can then paste it again, which is what we're doing here. The command is yanked from lance, since we've pasted them on @stable mountain πŸ˜›

austere hornet
#

Ik what it is

#

I just never used vim

#

But yeah I get it

fallen patrol
#

hmm, is there a standard for referencing the prefix of the other bot

#

lol @vale ibex I accidently removed my assignment πŸ˜”

#

as an implementation detail, I'm tempted to make a factory util for the embed, and just use it in both files

vale ibex
#

Sounds fine

fallen patrol
#

although with the delete after 20 seconds, not sure if that feature was ever ported from bot

vale ibex
#

I was referring to the kwarg on Messageable.send

fallen patrol
#

i seriously forgot that kwarg exists

vale ibex
#

hah

fallen patrol
#

but it would be neat to delete the main invoke as well, not sure

vale ibex
#

Eh, it's fine if it doesn't

fallen patrol
#

okay!

#

hmm, is there a standard for referencing the prefix of the other bot

#

Feel like the solution is to add a constant in constants.py lol

vale ibex
#

I think for this, just hard code it to !

#

we're never going to change it for @stable mountain and there's no reasonable way to get it in dev

fallen patrol
#

the reason i wonder is only because there is a pr (or issue) to remove prefixes from help messages

vale ibex
#

yea, for commands within the bot

timid sentinel
#

Make a bot-prefix-manager microservice /s

vale ibex
#

since we have the prefix locally

#

but we don't for cross-bot help

fallen patrol
vale ibex
#

Yea, a constant is fine, just no need for it to be in the config

#

config files are already filled with stuff that don't need to be configurable

fallen patrol
#

i half want to implement a redis cache to be able to have a stat of how many people have used commands that are deprecated πŸ˜†

#

feature creep

#

not bad

vale ibex
#

I'd say just remove the sub commands

#

and make .lovefest to lovefest(self, ctx, *_)

fallen patrol
dusky shoreBOT
fallen patrol
vale ibex
#

Surely having less in the embed means they would be more likely to read it

#

and removing the repetition, since it just looks wrong

fallen patrol
#

πŸ‘

fallen patrol
vale ibex
#

Yea, for aoc that's fine, since there's more there

#

It's just there's no point in having a group if it's sub commands both do the same thing

fallen patrol
#

so this?

fallen patrol
#

sir-lancebot#970
sir-lancebot#971
sir-lancebot#972

dusky shoreBOT
gritty wind
#

Why are they all different PRs lol

brisk brook
#

So.. there's one draft, one open and one issue?

vocal prairie
#

the first is there so that it can be merged after aoc ends, the second is ig because there's no reason to delay it, and the issue because well, issues before prs

fallen patrol
# gritty wind Why are they all different PRs lol

issue explains what is happening, and what we're doing
second issue is a pr which implements the function, and deprecates lovefest
third issue is a pr and a draft since chris didn't want to deprecate aoc commands during aoc

#

additionally, lance uses a set to de-dupe listed issues right now, which isn't great, so they are in a different order than i provided

#

once sir-lancebot#778 gets merged, I have sir-lancebot#968 already approved to start work on github and issue linking enhancements

patent pivot
#

is AOC ready for review?

#

undraft it if so, I’ll add the merge block label

fallen patrol
#

πŸ‘ aight, will do

#

undrafted

patent pivot
#

when we’re ready, lol, probably once we solidify things at the staff meeting. it’ll come in due course.

fallen patrol
#

oh wait

patent pivot
#

sunday

fallen patrol
#

@vocal wolf sir-lancebot#778 needs your approval after a disapproval

dusky shoreBOT
patent pivot
#

not sure who will be there though, so might push to next week? but it’ll be soon, just continue holding further work on api

fallen patrol
fallen patrol
patent pivot
#

no

#

the tldr is we aren’t pursuing the api rewrite

austere hornet
#

Just saying

fallen patrol
#

actually, all prs are issues πŸ˜›

austere hornet
#

Oh really?

#

Ok, good to know, mb

fallen patrol
#

Note: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the pull_request key. Be aware that the id of a pull request returned from "Issues" endpoints will be an issue id. To find out the pull request id, use the "List pull requests" endpoint.

patent pivot
#

api will likely always be django

patent pivot
#

site… might move out at some point? who knows, probably not for now, for now site will stay as is and will be DRF and templates

fallen patrol
# austere hornet Ah gotcha

yeah, I've done an enhancement to the github command that will only make one request, as knowing this means we don't need to make two requests ducky_party

fallen patrol
# dusky shore

you can actually view these two issues for more info πŸ˜„

#

see my review on the pull, which should be summarized on the issue

austere hornet
#

Gotcha, will do, maybe tmmrw

austere hornet
stable mountainBOT
#
I got you.

Your reminder will arrive on <t:1638632142:F>!

fallen patrol
#

@gritty wind have you heard of yarl?

#

!pypi yarl

stable mountainBOT
fallen patrol
#

its a dependency of aiohttp

#

so it should be safe to use in bot

gritty wind
#

Sure, what for?

fallen patrol
#

specifically, it can parse urls, and remove the protocols for you

gritty wind
#

I mean, maybe, but it's a pretty easy thing to do by hand

fallen patrol
#

why did i mention this, I should just leave a comment

#

;-;

gritty wind
#

It's one line lol

fallen patrol
#

since urllib.parse also exists πŸ˜›

#

but also: the last / can have some significance and imo should not be stripped if possible

gritty wind
#

Could you clarify what situation you think that'll be relevant in

fallen patrol
#

well, this is unfurling redirects, so if someone knows that, they can make it do a different thing if there is a last slash vs not

gritty wind
#

It isn't, it's unrelated

#

I kaizened in the change, as outlined in the PR body

#

This is for the filter content itself

#

The way the URL search currently works is we run a regex on the message body to extract URLs (this does not modify them), then run filter in extracted_urls

#

Having protocol and trailing slashes means we end up with filters that are duplicated sometimes

fallen patrol
#

ahhhh, okay

gritty wind
#

Also discord forces trailing slashes on urls

fallen patrol
#

!d urllib.parse.urlparse exists tho πŸ˜›

stable mountainBOT
#

urllib.parse.urlparse(urlstring, scheme='', allow_fragments=True)```
Parse a URL into six components, returning a 6-item [named tuple](https://docs.python.org/3/glossary.html#term-named-tuple). This corresponds to the general structure of a URL: `scheme://netloc/path;parameters?query#fragment`. Each tuple item is a string, possibly empty. The components are not broken up into smaller parts (for example, the network location is a single string), and % escapes are not expanded. The delimiters as shown above are not part of the result, except for a leading slash in the *path* component, which is retained if present. For example:
fallen patrol
#

and actually, that might be worth using

gritty wind
#

No, it's not

#

Look at:

fallen patrol
#

because of the docs for unparse, the suggested way to get a standardised rfc compliant url is to parse and unparse

gritty wind
#
parse.urlparse("content.com")
# vs
parse.urlparse("https://content.com")
#

It's a pain in the ass to work with for situations like this, and I'm not sure what problem we're trying to solve here

fallen patrol
stable mountainBOT
#

@fallen patrol :white_check_mark: Your eval job has completed with return code 0.

001 | ParseResult(scheme='', netloc='', path='content.com', params='', query='', fragment='')
002 | ParseResult(scheme='https', netloc='content.com', path='', params='', query='', fragment='')
gritty wind
#

have fun parsing that

fallen patrol
gritty wind
#

Arl, what problem are you trying to solve here

fallen patrol
#

its a small thing, but if its not worth it, its not worth it Β―_(ツ)_/Β―

fallen patrol
#

lol testing it and pydis has a lot of redirects

gritty wind
#

it probably goes to pythondiscord.com followed by www.pythondiscord.com

fallen patrol
#

yep

#

what i don't understand is how this is only 2 redirects

#

I would think there's 3...

#

left review

gritty wind
#

pydis.com/coc -> https://pythondiscord.com/pages/code-of-conduct/ -> https://www.pythondiscord.com/pages/code-of-conduct/

Count arrows

fallen patrol
#

ohhh, right, that makes more sense

brisk brook
#

Yeah, you get 2 redirect responses

#

The last one yields a 200 Ok

short snow
#

why do we need sir-lancebot#969 the footer already shows when it was last updated

fallen patrol
#

F I didn't link the discussion

short snow
#

ok yeah true

#

we don't have the discord time feature utils on lance?

fallen patrol
#

not yet, no

short snow
#

probably worth adding

fallen patrol
#

I could make a pr to migrate just those to the bot

#

but felt out of scope of that pr

short snow
#

just add it your PR IMO

#

it is out scope, yeah but not really a problem ig

fallen patrol
#

although bot#1721 exists which is refactoring the time utils so felt like holding off, and we can standardize more of the times at once

dusky shoreBOT
short snow
#

don't think that's going to be merging anytime soon, so not worth waiting for it

fallen patrol
#

additionally, botcore will hopefully be ready sooner, so migrating stuff from bot isn't good unless used in more places

patent pivot
#

botcore still has a decent way to go, shouldn't be blocking any decisions right now

fallen patrol
#

don't get me wrong, I'll implement it if someone says to, but that's why I did it manually rather than migrate a util

patent pivot
#

we'll let people know once that's the case

fallen patrol
#

if you want me to migrate the util, I can easily do that

short snow
#

yeah i understand that πŸ‘

thorny obsidian
#

@short snow I don't want the action of setting the name to come before we log it. If something goes wrong we'll have no log of what invoked it.

Also I'm sure if not duplicating one line of code is worth it. I think the code is readable and follows a logic that makes sense. In general, I'd rather suggestions to PRs have some sort of benefit or purpose.

short snow
#

Sure πŸ‘

thorny obsidian
#

I've already changed the tense, I just haven't pushed those changes to github.

#

I got earlier feedback on it.

vocal wolf
# dusky shore

I'll look into the code soon, all my dev stuff is on linux (am on windows)

fallen patrol
#

neat, I'm excited for the merger

fallen patrol
#

(the md formatting)

magic arch
#

one of the `s got cut off from the first commit with the ... and then combined with the rest

fallen patrol
#

ahhhh

green oriole
#

F for markdown

stable mountainBOT
#
It has arrived!

Here's your reminder: 8H this
[Jump back to when you created the reminder](#dev-contrib message)

small shoal
#

I found something wrong with Python 3.10's Error message
Can I post it here??

austere hornet
#

Wait there is no bot like that nvm

#

There used to tho

small shoal
vocal prairie
magic arch
#

Feel free to ask about it in #python-discussion or a help channel and we might be able to explain what's happening too.

small shoal
#

ok thanks for letting me know

stable mountainBOT
thorny obsidian
#

@vale ibex so I do agree that the error message for not being on the leaderboard should be a bit nicer. Mentioning both "run .aoc join and that the leaderboard takes 30 minutes to refresh" but I don't actually know where that error starts/propagates from.

There are a few helper functions for pulling the leaderboard and I didn't dive into troubleshooting where it actually starts.

vale ibex
#

_helpers.py line 218

austere hornet
stable mountainBOT
#
Sure.

Your reminder will arrive on <t:1638650597:F>!

austere hornet
stable mountainBOT
#
Yeah okay.

Your reminder will arrive on <t:1638650612:F>!

thorny obsidian
#

@vale ibex Adjusted error embed to add some more info and I incorporated your other suggested names. Should be good to go~

vale ibex
#

noice πŸ˜„

thorny obsidian
#

One thing I'm not quite happy about but what take some more time to think about it, is if someone recently joins the leaderboard, links their account, and then tries to call the leaderboard with no argument. It'll error on them until the leaderboard refreshes so there's no way for them to pull the leaderboard without specifying someone else's name

vale ibex
#

Hmmmm, yea

#

An easy fix would be to just not error if no arg was given, and we're inferring name from link

#

but that's still not ideal

#

the best fix would be to not error for accounts linked since the last refresh, but would require storing when accs were linked

#

we could just use a volatile list for it actually

#

and just live with the fact that if lance reboots it might happen

thorny obsidian
#

Hmmmm, I think for the announcement I'd like to make today I can say "once the leaderboard refreshes and you've verified you're on it, then link your account" to avoid this not-quite-so-edge edge case

vale ibex
#

I'm gonna look at adding <@&916691790181056532> role to people when they complete the stars

#

could look at that the same time

#

We landed on the idea of giving it to people who have completed all the stars so far with a 12hr grace before we remove roles for people to have a chance

#

and then leave it running until Feb or so

thorny obsidian
#

I'm fine with that, sounds like fun motivation finish regardless of leaderboard placement

fallen patrol
thorny obsidian
vale ibex
#

nah, go for the announcement, I don't think I'll have a chance today to do it

thorny obsidian
#

okay cool cool

vale ibex
#

and when you complete, we'll add

#

just to show people who have completed the stars for today

fallen patrol
#

sir-lancebot#969 πŸ₯Ί nother lb buff

vale ibex
#

Seems fine from just looking at it, can test it later/tomorrow

#

working on a metricity issue while I have time today

fallen patrol
#

πŸ‘

violet terrace
#

does the new .aoc link command filter out @s?

fallen patrol
#

it shouldn't, no

#

why, what's the issue?

violet terrace
#

.aoc link @fallen patrol

dusky shoreBOT
#

:x: Please use #aoc-bot-commands for aoc commands instead.

violet terrace
#

@fallen patrol doesnt that let the bot ping everyone?

fallen patrol
#

<@&267628507062992896> ^

static canyon
#

allowed_mentions is a thing

patent pivot
#

we use allowed mentions

#

yeah

#

defaults to nothing, has to explicitly say if it wants to ping people

violet terrace
#

πŸ‘

patent pivot
#

yes it is

fallen patrol
#

no, i have evidence it isn;t

patent pivot
#

not a discord default, but we certainly set it on the discord.py client

fallen patrol
patent pivot
#

we might allow user pings, definitely not roles or everyone/here

static canyon
#

I just tested and it doesn't work so it's fine @fallen patrol

patent pivot
fallen patrol
#

@patent pivot can you open dms?

patent pivot
#

allowed roles is any mod role

#

trust me, this is not a thing lol

fallen patrol
# fallen patrol

well, could I submit a pr to make it not allowed to mention any users, preventing this, at least (with a lot less urgency, ofc)?

#

or switch that output to an embed

patent pivot
#

it’s by design, users is a significantly smaller vector than roles/everyone and we already filter on mass pinging which you’d need in the first place

fallen patrol
#

I remember previous concerns of members abusing commands that mention other users when they had been blocked, or to annoy other members

patent pivot
#

we do not want to default to users off

fallen patrol
#

I mean for that specific response, lol

#

not the whole bot

patent pivot
fallen patrol
#

true lol

#

@magic arch should the additional quote parsing be removed from the leaderboard command?

#

the link command doesn't have that additional quote parsing, so there's now a slight difference between the two commands

thorny obsidian
fallen patrol
#

well, the quote command is different so its a bit odd, imo

thorny obsidian
#

It's only going to mis-match for 1 year.

#

It's fine.

fallen patrol
#

oki

magic arch
#

people can deal with it, not a huge deal like kat said πŸ˜‚

fallen patrol
#

πŸ‘

stable mountainBOT
stable mountainBOT
austere hornet
stable mountainBOT
#
Sure.

Your reminder will arrive on <t:1638737442:F>!

austere hornet
#

Hey would anyone want to work with me on sir-lancebot#937 + sir-lancebot#956? Feel free to DM me if interested, thanks!

dusky shoreBOT
austere hornet
#

Preferably someone who is good with Pillow

trim cradle
#

So the result of !user says "too many to count" if someone has a lot of activity blocks. But I want it to say "all of them"

fallen patrol
trim cradle
fallen patrol
#

oh lol i thought you were asking someone to do it πŸ˜‚

trim cradle
fallen patrol
#

hmmmm

fallen patrol
#

this intentional?

thorny obsidian
#

Only the person who called the command can interact with it, that's an intentional decision

fallen patrol
#

so there's no error like the subscribe command?

#

like, was letting the interactions fail intentional?

#

rather than showing an ephermal error to the user

gritty wind
#

Probably just less work

#

This seems like a good utility, or if it raises an error, a global error handler

molten perch
# fallen patrol like, was letting the interactions fail intentional?

Yes, exactly. Only the interaction fails, so the person who issued command will still be able to interact with the view itself.
As for the error message, it could have been added, I admit. But the person who's trying to interact with a view origined from another user, gets this (small) error message anyways.

cold moon
#

I think it should be implemented as exception and handle it in error handler

fervent sage
cold moon
#

This interaction failed doesn’t give enough information to user.

molten perch
#

I agree. I admit I should've added it.
Although, I don't think we should go above sending an ephemeral response.

molten perch
#

I addressed the problem in sir-lancebot#973

rugged zephyr
#

hi

short snow
#

1 suggestion) 2048 game on @dusky shore :D

#

suggestion 2) and updating the tic tac toe to use discord buttons (3*3)

#

suggestion 3) Enhancing tags to command to add button syntax mapping to links, for eg:

:button <link> text

vale ibex
#

That 2048 game seems like it generates the images of the board, if so would be fine as long it's not too resource intensive. tic tac toe, with buttons sounds good πŸ‘

short snow
#

Ok that's it, thought of putting them here before opening issues

vale ibex
#

Adding more meta data to tags has a PR open iirc, while it doesn't do exactly that, it does add some of the things that you may need

short snow
#

should i open issues for them?

vale ibex
#

Yup, sounds good πŸ‘

#

out of the 3, I think the tac tac toe one may already have an issue

#

so just have a search first

short snow
#

okay πŸ‘

green oriole
#

Can we guarantee it looks correctly on every platform?

idle delta
#

Hey. I want to contribute an event to the AOC in Sir Lance Bot. What should I do?

green oriole
#

I'm not sure if we have any aoc feature avaiting development (CC @thorny obsidian)

vale ibex
idle delta
#

I had something in mind...

vale ibex
#

which was....

idle delta
vale ibex
#

Yea that sounds reasonable, are you familiar with the sir lancebot project, or discord bots in general?

idle delta
#

I am familiar with discord bots.

#

I have made 1 with python.

vale ibex
idle delta
#

So where should I put this code, because it will work 24/7.. I guess.

vale ibex
stable mountainBOT
#

bot/exts/events/advent_of_code/_helpers.py line 566

async def new_puzzle_notification(bot: Bot) -> None:```
vale ibex
idle delta
#

Okay, Thanks. :)

vale ibex
idle delta
#

Ideally..

gritty wind
#

Can probably do it on the everyone role

idle delta
#

And the global leaderboard data?
(πŸ˜… Contributing to sir-lance bot for the first time, so I don't know which variable stores that..)

vale ibex
#

That's in a redis cache in _caches.py

#

The fetch_leaderboard funciton in _helpers.py parses the cache and returns it

idle delta
#

So when it's value == 100: the global leaderboard is full and the channel is supposed to be unlocked.

vale ibex
#

Hmmm, I'm not actually sure if we have the global leaderboard cached or not

#

Ah, no it seems like we don't

#

Honestly, it might be easier to do it based on a timer, rather than the global leaderboard itself

#

since that would reduce the load we put on the aoc website

idle delta
#

Hmm, we can say for 30 minutes. Since, the global leaderboard is full till then.

vale ibex
#

Yea

#

Something to keep in mind is that our bot isn't guaranteed to always be running, since if new code it pushed, it will be redeployed with those changes

#

Since you'll be waiting for 20 minutes, and then unlocking the channel, there's a chance that during those 30 minutes the bot restarts, and that task it lost

#

So, I'd suggest that on startup of the cog, we check if the channel is locked, if so, we check if it should be locked, based on the time. If not, then unlock it

#

This is on top of the 30 minute timer to unlock too

idle delta
#

So, what I have to do is
When notification is sent, lock the channel, then asyncio.sleep for 30 minutes. Then unlock it.

After that, in the startup of cog, we'll check if the channel is unlocked. If it is locked, then we w'll check if the time is 30 minutes after midnight EST. If it is, then unlock the channel. If it ain't.. maybe asyncio.sleep for that much time..

vale ibex
#

yup, that sounds good

#

The first part being the main feature, the second being a safety check to protect against restarts

idle delta
#

Yes. Now I need to figure out where to put it..

vale ibex
#

The __init__() of the cog in _cog.py is where the reminder task is created

#

that would make for a sensible place for the safety check

austere hornet
austere hornet
austere hornet
thorny obsidian
#

@vale ibex We can't automate the locking of that because it would request the global leaderboard too frequently. It's something I specifically didn't do.

vale ibex
#

Yea, which is why I just suggested doing it on time a little further down

thorny obsidian
#

I don't want to do that either.

vale ibex
#

So we just lock the channel for 30 minutes after the puzzles are available

thorny obsidian
#

If global takes 10 minutes to fill, for 20 minutes that channel is locked for no reason with a lot of good discussion not able to happen

#

As it stands there are maybe 10 people in this server who are fast enough to get on global and they're aware to not share spoilers until it's filled

#

It was a very concious decision to not automate the locking of that channel.

vale ibex
#

So is the whole idea of locking the channel while the leaderboard fills up not worth it at all?

#

but rather, just have it be policy not to discuss current stars while the global board isn't full

thorny obsidian
vale ibex
#

Ah alright, I think the channel topic is the only thing causing confusion here then

#

Since it implies it's completely locked out, rather than just being policy

thorny obsidian
#

I was experimenting with the channel locking the year and decided it wasn't necessary. I haven't updated the faq or channel description yet though

vale ibex
#

Alright cool, seems reasonable to drop it then

idle delta
#

So... I'm going to modify somethin else then..

#

Any specific issues that I could look upon?

static canyon
thorny obsidian
short snow
#

@austere hornet Will do, and I am not sure about working together as I won't be opening more PRs until I get the current ones in a merging state

thorny obsidian
#

@idle delta So I was thinking of having a command .aoc mystats and that will show someone's times for day and star so far. It will also show their position on the leaderboard for that given day. Essentially this page, but customized for our leaderboard! https://adventofcode.com/2021/leaderboard/self

magic arch
#

.aoc link should check if the input is formatted as a Discord mention and throw an error if it is

austere hornet
#

Hmm, that sounds like a good idea

fallen patrol
austere hornet
#

Ah well there you go

magic arch
#

I don't mean for the purpose of stopping pings, but for accidentally setting a Discord mention as their AoC name

#

I've seen multiple people do it already

thorny obsidian
#

We could opt for more checking in the name provided for linking, although I wonder if that's an effort in futility, because people will always find new ways to misinterpret it and somehow link the wrong thing

magic arch
#

That's another option, although it might annoy people if they need to wait 30 minutes for a leaderboard refresh before they can link

thorny obsidian
#

Oh, I don't mean to check the leaderboard. I don't think I would ever want to verify it against the leaderboard without a fundamentally different approach to how we do this. I just mean also including checks for quotes and other common missteps

magic arch
#

Ahh gotcha, yeah I agree

fallen patrol
#

@vale ibex could I make a pr on python-discord/modmail to bring the development branch in par with kyb3r and add the ci workflow? πŸ‘€

#

nvm lol

patent pivot
#

oops lol i thought there was a confirmation stage

#

development branch is still behind

#

hmmm yeah we should see if we can adopt any meaningful things from development into master

thorny obsidian
#

Is the fetch bug something to fix upstream or something to patch first?

patent pivot
#

what's the fetch bug

thorny obsidian
#

I can't open a modmail thread because I'm not in modmail's cache.

patent pivot
#

oh lol that's fuckin weird

fallen patrol
#

πŸ‘€

patent pivot
#

hmm, we can fix it on our branch and then PR from python-discord to upstream

#

you can PR from an org fork

fallen patrol
#

lol i just talked to chris about this

fallen patrol
thorny obsidian
fallen patrol
#

I was about to try and troubleshoot, and write a pr for modmail, actually

#

although you'll need to apply the fix to the development branch, and backport it to stable if you wish, if you intend to send it upstream

#

given that the methods in question had some refactors in the development branch

vale ibex
#

I'd patch it in our fork first and fix the issue

#

Then look a t committing upstream

fallen patrol
#

yeah, makes sense

patent pivot
#

lol whoops i opened a PR from python-discord to kyb3r

vale ibex
#

When upstream merges, we can drop commit to avoid conflicts

fallen patrol
#

very nice lmfao

patent pivot
#

oh did I delete the dev branch on our repo lol

#

let me get it back

fallen patrol
#

joe stop clicking things

patent pivot
#

i'm good, nothing major fucked up yet

fallen patrol
#

key word: yet

austere hornet
#

lol

stable mountainBOT
patent pivot
#

okay the merge conflict is in bandit_baseline

#

never used bandit

fallen patrol
#

same, i had it myself, and realised i didn't have it configured so it wasn't doing anything

stable mountainBOT
#

pyproject.toml line 30

flake8-bandit = "~=2.1"```
fallen patrol
#

(not that its doing anything there since I don't see configuration)

patent pivot
#

never used bandit and generated a baseline, don't be pendantic.

fallen patrol
#

lol

#

thing is, I ran bandit seperate from my pre-commit hook of flake8-bandit, and got 150+ errors, so like, I don't think its doing anything on site except requiring extra dependencies

#

....think I could make a pr to site to remove it?

austere hornet
stable mountainBOT
#
Yeah okay.

Your reminder will arrive on <t:1639256159:F>!

patent pivot
#

I don't know what you're referring to, but it is working

fallen patrol
patent pivot
#

when I run bandit -r . I get 2 low priority issues

#

one is inside a tests directory and so is excluded

#

the other is excluded with a # noqa: S105

#

oh actually both have explicit excludes

#

bandit and flake8-bandit are working as expected and I would like to continue having them on the site repository

fallen patrol
#

πŸ‘

patent pivot
#

these are the only issues

fallen patrol
#

I must be mistaken or something lol

#

okay yeah

#

when i run flake8-bandit, it doesn't return any of these issues

#

(this is my project)

#

all of them are assert statements which would be removed by optimised compiling

#

but flake8 passes Β―_(ツ)_/Β―

patent pivot
#

uhhhh

#

we build the image off master, and having development means that we can make any necessary changes before code goes in

#

master will stay as default branch for now

fallen patrol
#

ah, okay

#

makes sense

vale ibex
patent pivot
#

no this was on site

#

unrelated

#

the way I resolved conflicts was just regenerating the bandit baseline

vale ibex
#

What was the conflict?

#

ah alright, I'm gonna merge then

patent pivot
#

πŸ‘

fallen patrol
#

i-

#

I'm an idiot

fallen patrol
#

yeah uh

#

I learned about 5 seconds ago, its S, not B

vale ibex
#

hmmm, looking at the code now, it shouldn't reach that line

#

so it might have already been fixed

#
            def check(topic):
                _, user_id, other_ids = parse_channel_topic(topic)
                return recipient_id == user_id or recipient_id in other_ids

            channel = discord.utils.find(
                lambda x: (check(x.topic)) if x.topic else False,
                self.bot.modmail_guild.text_channels,
            )

            if channel:
                thread = await Thread.from_channel(self, channel)
#

So channel will only ever be truthy if there is a text channel with the user's ID in it, in the correct format

#

so, it should be fine now

#

I'm gonna bump the hash in the manifest and redeploy

#

if it's still broken, at least we get a new traceback to investigate with since the code has been moved around slightly

thorny obsidian
#

do you need me to test it?

vale ibex
#

Yea, that would be useful

thorny obsidian
#

pipenv I'm just kind of tooling around while I wait for my model to train

vale ibex
#

AH might be a bit longer

#

it seems the image no longer has git available

thorny obsidian
#

(my model will be training for a bit)

vale ibex
#

huh, modmail is using a git repo in requirements.txt but doesn't have git installed on the image

#

@fallen patrol have you ever been able to successfully build an image after pushing to d.py 2.0?

fallen patrol
#

I've never built an image lmao

vale ibex
#

fair enough, probably an issue upstream then

#

Well kyb3r/modmail#3128

dusky shoreBOT
fallen patrol
#

nice

austere hornet
#

Hmm why are modmail notifications not going to #dev-log ? Is that on purpose?

vale ibex
#

since that's not to our modmail

#

and for our modmail, we don't push logs since it's a fork and shouldn't really be altered from upstream too much

austere hornet
#

Ahh I see

fallen patrol
vale ibex
#

preferably soon, kyb3rs isn't the easiest to troubleshoot

fallen patrol
#

lol yah

#

I think mine might be ready by February, but no eta

vale ibex
#

@patent pivot you still around? kubernetes#110

dusky shoreBOT
vale ibex
#

We should keep in mind that when we want to fetch from upstream again, we probably want to do some rebasing and cleaning up

patent pivot
#

yea

#

merged @vale ibex

vale ibex
#

sweet

#

arthur deployments redeploy modmail-bot

radiant merlinBOT
#

:white_check_mark: Restarted deployment modmail-bot in namespace default.

vale ibex
#

wait, it'll auto deploy won't it

#

or do we not do that for altered manifests

#

cluster says no

#

?about

#

now we wait

patent pivot
#

lmfao

#

I wonder if we could have arthur patch images

slow boneBOT
#

This is an open source Discord bot that serves as a means for members to easily communicate with server administrators in an organised manner.

Uptime

0h 3m 6s

Latency

897.38 ms

Version

3.10.2

Authors

kyb3r, Taki, fourjr

Hosting Method

DOCKER

Want Modmail in Your Server?

Follow the installation guide on GitHub and join our Discord server!

Support the Developers

This bot is completely free for everyone. We rely on kind individuals like you to support us on Patreon (perks included) to keep this bot free forever!

Project Sponsors

Checkout the people who supported Modmail with command ?sponsors!

fallen patrol
#

nice

#

lol the lag and processing:

vale ibex
#

Yea, it takes forever to boot up

#

Hey @thorny obsidian could you try now?

thorny obsidian
vale ibex
#

yup, I've got a traceback

#

cheers

fallen patrol
vale ibex
#

Yea, I'm not gonna bother

#

ah

#

ModuleNotFoundError: No module named 'lottie'

#

modmail missing a module

vocal prairie
#

ahh

#

I've been waiting for it to respond to me for a moment

vale ibex
#

it's just....not in the requirements???

thorny obsidian
vale ibex
#

wtf

#

yea, we've pulled in modmail development, since it has a possible fix for the issue you're seeing

#

first it didn't have git installed in the image, and it was using git to pull d.py

#

and now lottie just isn't in the requirements

thorny obsidian
#

honestly... kind of sounds like a dumpsterfire

vale ibex
#

ok, latest version installs fine

#

ah nice, now it's ModuleNotFoundError: No module named 'cairosvg'

thorny obsidian
vale ibex
#

guess I'm whack-a-moleing their requirements.txt

#

12/05/21 22:09:10 __main__[1718] - ERROR: Unable to import cairosvg, report on our support server with your OS details: https://discord.gg/etJNHCQ

#

great

#

same error forcing with --platform=linux/amd64

fallen patrol
#

damn it

#

@vale ibex you can dm me or ping me about these

vale ibex
#

Added lottie[pdf]==0.6.10 to requirements.txt

fallen patrol
#

i was there for this discussion

vale ibex
#

same error

fallen patrol
#

...did you pull the updated development branch from modmail?

vale ibex
#

yup

#
commit c16ff261f204f5831da577d26a011db5d65d4610 (upstream/development, development)
Author: Yee Jia Rong <28086837+fourjr@users.noreply.github.com>
Date:   Mon Nov 22 20:21:56 2021 +0800

    Optimise Stop pagination
#

latest commit

fallen patrol
#

can you check that you have a 64 bit version of python

vale ibex
#

yup, sys.maxsize returns 9223372036854775807

fallen patrol
#

i said they shouldn't generate lottie stickers....

#

ugh

#

what this library does is it allows lottie stickers to be generated and shown in chat

#

i'd honestly just remove its features @vale ibex

green oriole
#

what did they change again

#

@vale ibex mind if I revert the version bump?

#

so we get modmail back and running in the meantime

fallen patrol
#

2f762025d07c26092e90a2e4f5e45e5d6900364d

green oriole
#

I swear to god I'll yeet those people out the building

austere hornet
#

lmao

green oriole
#

the modmail maintainers

#

they don't use docker for the hosted bots

#

that's why they didn't realize they broke it

fallen patrol
#

oh, yeah

#

wait why the fuck don't they use docker ;-;

#

smh taku

vocal prairie
#

could they literally not add a docker build step to ci πŸ˜”

fallen patrol
fallen patrol
stable mountainBOT
#
Can do!

Your reminder will arrive on <t:1639002394:F>!

fallen patrol
dusky shoreBOT
vale ibex
#

I did it for them

#

alright, I've fixed the lotti issue

#

now onto ModuleNotFoundError: No module named 'six'

austere hornet
#

Wait what isn't modmail down? why do I see that it's online?

vocal prairie
fallen patrol
#

oh

vocal prairie
austere hornet
#

Ahh

fallen patrol
#

@vale ibex ... the pipfile is good. Just need to export the requirements with pipenv

green oriole
#

Could you

git checkout afc3051bd1a9df7ef6741874b28b233c4ec5447a
kubectl apply -f namespaces/default/modmail/bot/deployment.yaml ``` @vale ibex
#

I am getting forbidden on patch πŸ˜”

austere hornet
fallen patrol
#

no wait

#

chris

vale ibex
fallen patrol
#

you do not have the most recent development branch.

#

this has six, lottie, etc

#

this is not what you have.

vocal prairie
vale ibex
#

lottie isn't there

vocal prairie
#

lottie, that is

vale ibex
#

six is actually in my requirements.txt

#

but still getting that error

#

six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'

green oriole
#

OK Chris won't roll back modmail πŸ˜”

vale ibex
fallen patrol
#

i think he did, but it takes a bit to deploy

vale ibex
#

arthur deployments redeploy modmail-bot

radiant merlinBOT
#

:white_check_mark: Restarted deployment modmail-bot in namespace default.

fallen patrol
#

inherent slowness of kyb3r's bot

vale ibex
#

I was doing the manifests

green oriole
#

good

fallen patrol
austere hornet
#

Ok looks like it's up now

vale ibex
#

?about

#

give it some time to boot

fallen patrol
#

my bot isn't nearly that slow

#

ofc it also doesn't work yet πŸ™ƒ

vale ibex
#

It's the plugin download and setup we've found

fallen patrol
#

ah, that makes sense, I suppose

#

Hm...

fallen patrol
#

obviously, the bot would need to support and use the cache as well

#

just asking for myself

slow boneBOT
#

This is an open source Discord bot that serves as a means for members to easily communicate with server administrators in an organised manner.

Uptime

0h 3m 10s

Latency

38992.67 ms

Version

3.10.2

Authors

kyb3r, Taki, fourjr

Hosting Method

DOCKER

Want Modmail in Your Server?

Follow the installation guide on GitHub and join our Discord server!

Support the Developers

This bot is completely free for everyone. We rely on kind individuals like you to support us on Patreon (perks included) to keep this bot free forever!

Project Sponsors

Checkout the people who supported Modmail with command ?sponsors!

fallen patrol
#

!paste

stable mountainBOT
#

Pasting large amounts of code

If your code is too long to fit in a codeblock in discord, you can paste your code here:
https://paste.pythondiscord.com/

After pasting your code, save it by clicking the floppy disk icon in the top right, or by typing ctrl + S. After doing that, the URL should change. Copy the URL and post it here so others can see it.

green oriole
#

alright, seems to be good now?

fallen patrol
vocal prairie
#

just dm it and it'll talk to you (this is a joke don't actually do it)

fallen patrol
#

yes I see that duped stuff

#

but that's the direct output of pipenv

fallen patrol
thorny obsidian
#

πŸ˜” if you aren't in the cache you can DM it as much as you want

fallen patrol
#

hopefully not soon

green oriole
#

oh hey, it is using 2.0a0 now?

fallen patrol
#

no.

green oriole
#

45d498c1b76deaf3b394d17ccf56112fa691d160 isn't the 2.0 hash?

fallen patrol
vale ibex
#

right now it isn't

#

on dev branch it is

#

but thats the thing on fire

fallen patrol
#

I dropped the env above

vale ibex
#

Yup, using it now

green oriole
#

so we pushed the dev branch to prod, that's what has been happening?

fallen patrol
#

I don't have the bot set up right now, tho

vale ibex
#

getting the same issue with cairosvg, so working through it

fallen patrol
#

me and joe and chris

green oriole
#

it better not be using Py 3.9+

fallen patrol
#

why not?

#

oh

green oriole
#

I am going to scream, it is

fallen patrol
#

oh god

green oriole
#

most wheels are missing

vale ibex
#

modmail already has g++ installed in the image

green oriole
#

It is lacking a few other stuff though

fallen patrol
green oriole
#

I'm getting some error when trying to pipenv sync locally

fallen patrol
#

the issue that someone had with cariosvg is this:

both the bit version of Python and GTK must be 64

#

this was someone self hosting on windows, so ymmv

green oriole
#

taking deep breathes

fallen patrol
#

that commit added all of the lottie support for stickers, which IMO its not that important if you get to see the image or not

#

cc @vale ibex

green oriole
#

Let's see if we can make it run

austere hornet
#

Lmfao

green oriole
#

doesn't cost us much to try

vale ibex
#

let alone 64 bit version

#

lmfao

fallen patrol
green oriole
#

it is running

fallen patrol
#

not if it fails with needing missing libraries again

green oriole
#

@slow bone is up

fallen patrol
#

yes, i mean trying dev again with that commit reverted

#

rn its on stable

green oriole
#

like I just said, there is no rush

fallen patrol
#

i think the reason we were bumping to dev is to see about fixing that uncached problem with dms

green oriole
#

it is

fallen patrol
#

which is a bit of a rush (IMHO), as who knows how many people can't dm the bot because they aren't cached

#

but yeah, i agree

cold island
#

@vale ibex not important for now, but I updated the clean PR

vale ibex
#

Alright, I've got cairosvg working again

#

but now it's back to saying six doesn't exist

green oriole
#

I have the bot running

#

just regen the requirements.txt and switch the base image to python:3.9

#

lemme grab a token from somewhere

fallen patrol
#

at minimum, that should make development runnable

green oriole
#

I just said I got it working lemon_raised_eyebrow

fallen patrol
#

oh

vale ibex
fallen patrol
#

is the base image 3.9?

vale ibex
#

Even though six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' is right there in reqs.txt

#

yes

fallen patrol
#

plz try reverting that commit

green oriole
#

alright, let's move to the test server

#

I got my bot running

vale ibex
#

We're not going to drop a commit from upstream to try and patch it being broken

#

either we fix the issue upstream, or backport the fix

fallen patrol
#

no, i mean try reverting temporarily, to see if that's the bug

green oriole
#

oh my god please modmail

fallen patrol
#

its been a problem for other users too, that i want to be able to raise it being an optional feature and dependencies

vale ibex
#

Alright, I've got it running now

fallen patrol
#

so if you can successfully run the bot without that commit, it would help me to convince them to make it optional

vocal prairie
#

Err, why not just run it yourself?

fallen patrol
#

or if you can run it with it, that would also be nice too, since i can bring the steps that you did to make it work internally

fallen patrol
green oriole
#

Well I'm sorry but I think there are more pressing matters right now

#

yes that commit will fix it

#

but that's not what we're trying to do

fallen patrol
green oriole
#

get the bot running

#

with- hold on a sec

#

what is sco doing up there

fallen patrol
#

sco?

#

oh

vale ibex
#

alright it seems to be working alright, gonna push the fixed to the fork

fallen patrol
#

lol i'm afraid to see them

vale ibex
#

It's just relock reqs and remove -slim

green oriole
#

do you need approval?

#

okay there is no branch protection i know how this is ending

fallen patrol
vale ibex
#

I pushed to the upstream PR

#

gonna do it on ours now

fallen patrol
#

lol i get the same missing cairosvg version even out of a dockerfile and after manually installing it to the same venv!??

vale ibex
#

arthur deployments redeploy modmail-bot

radiant merlinBOT
#

:white_check_mark: Restarted deployment modmail-bot in namespace default.

vale ibex
#

?about

slow boneBOT
#

This is an open source Discord bot that serves as a means for members to easily communicate with server administrators in an organised manner.

Uptime

0h 37m 17s

Latency

107.07 ms

Version

3.10.2

Authors

kyb3r, Taki, fourjr

Hosting Method

DOCKER

Want Modmail in Your Server?

Follow the installation guide on GitHub and join our Discord server!

Support the Developers

This bot is completely free for everyone. We rely on kind individuals like you to support us on Patreon (perks included) to keep this bot free forever!

Project Sponsors

Checkout the people who supported Modmail with command ?sponsors!

vale ibex
fallen patrol
#

did you pin the version, or something?

green oriole
#

do we even have logs anywhere for the modmail fork

green oriole
#

webhook I mean

austere hornet
#

What happened to @radiant merlin 's about me? I think I remember it having the link to the repo but now it's gone

#

Oh wait it's there nvm