#dev-contrib

1 messages ยท Page 132 of 1

patent pivot
#

yeah

#

okay going to merge django prom

green oriole
#

Thank you thank you

desert vessel
#

hey people

#

sir-lancebot isnt startin on m1 macs

#

rapidfuzz is causing it to crash

#

any workarounds ?

green oriole
#

what error do you get?

#

also have you ran docker-compose build recently

desert vessel
#

i dont even have docker installed on this computer

#

it was working fine

#

before

#

i run poetry run task start everytime

stable mountainBOT
#

Hey @desert vessel!

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

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

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

https://paste.pythondiscord.com

desert vessel
#

yikes

#

 File "~/Library/Caches/pypoetry/virtualenvs/sir-lancebot-b_NkKrJV-py3.9/lib/python3.9/site-packages/rapidfuzz/process.py", line 4, in <module>
    from rapidfuzz.cpp_process import extract, extractOne, extract_iter
ImportError: dlopen(~/Library/Caches/pypoetry/virtualenvs/sir-lancebot-b_NkKrJV-py3.9/lib/python3.9/site-packages/rapidfuzz/cpp_process.cpython-39-darwin.so, 2): no suitable image found.  Did find:
        ~/Library/Caches/pypoetry/virtualenvs/sir-lancebot-b_NkKrJV-py3.9/lib/python3.9/site-packages/rapidfuzz/cpp_process.cpython-39-darwin.so: mach-o, but wrong architecture
        ~/Library/Caches/pypoetry/virtualenvs/sir-lancebot-b_NkKrJV-py3.9/lib/python3.9/site-packages/rapidfuzz/cpp_process.cpython-39-darwin.so: mach-o, but wrong architecture
#

here

vale ibex
#

you'll need to run docker with x86 arch, since some deps won't work on arm

#

I know @patent pivot and @vocal wolf were dealing with this recently

#

Can't remember what the command was

desert vessel
#

it was working just fine a week back

vale ibex
#

we recently switched to rapidfuzz from fuzzywuzzy, due to licensing

desert vessel
#

oh

patent pivot
desert vessel
#

eh i think i can do this

vale ibex
#

I forget

#

i wonder if it's worth forcing this in the Dockerfile with FROM --platform=linux/amd64 python:3.9-slim

desert vessel
#

btw, chris im sorry, im still working on the pr, things just broke with rapid fuzz, im running it on docker now

vale ibex
#

don't be sorry, like I've said before, there's no rush on any of our issues

#

if something is really an urgent fix, then it would likely be a staff member dealing with it

desert vessel
#

isnt there like a time limit ?

vale ibex
#

no time limit no.

desert vessel
#

oh

#

welp

#

my bad

vale ibex
#

If things are taking a while we may reach out to see if you are still planning on working on it

desert vessel
#

ah alright

vale ibex
#

Just in case things have changed and you aren't interested

desert vessel
#

Hmm k

gritty wind
#

Is there no way to run on host with the M1s?

green oriole
#

Yes, but it is next level pain

#

I would recommend some platform emulators like qemu

vale ibex
patent pivot
green oriole
patent pivot
#

So containers fail because no gcc

#

which is obscure-ish

#

so you can set docker to emulate amd64

vale ibex
#

none that I can imagine, just standardises the platform, so we won't have to worry about some not having wheels

patent pivot
#

I'm pro on that

vale ibex
#

yupper

#

it works on my machine, but I think we should have someone on arm test it too before merging

desert vessel
#

we need to get it to install rapidfuzz

green oriole
desert vessel
#

which i may or may not have done

vale ibex
#

Thats on your host though right?

#

rather than docker

desert vessel
vale ibex
#

Could you edit the first line in the Dockerfile to FROM --platform=linux/amd64 python:3.9-slim and then try docker-compose up --build

desert vessel
#

ok so it installs

#

but doesnt run

vale ibex
#

cool

desert vessel
#

:0

vale ibex
#

if it works, I'll PR the change to all our repos

desert vessel
#

you guys pr'ing

#

or shall i ?

desert vessel
vale ibex
#

Did it start fine?

desert vessel
#

still building ๐Ÿ˜‚

#

first time build takes time

vale ibex
#

ah yea might take a bit

desert vessel
#

yee

#

nothing is cached on my mac

#

cuz i removed and installed docker just now

#

docker*

vale ibex
#

hah I know the feeling, I recently deleted my cache and freed up ~70GB

desert vessel
#

xD

vale ibex
#

docker system prune --all --volumes

desert vessel
#

ON NO

vale ibex
#

running this every so often now lol

desert vessel
#

i forgor to set USE_FAKEREDIS to true

#

๐Ÿ˜‚

#

im very smart

vale ibex
#

that's fine, if it's hitting that error it means it built just fine

#

anyway, if you're using docker you shouldn't need to

#

since real redis exists

desert vessel
#

thats excellent

#

it builds

vale ibex
#

cool

desert vessel
#

merge conflicts smh

#

i cant commit the same thing and pull the same line

#

AHHHH screw git

#

chris, lemme know when you push, i'll have to reclone

#

:D

vale ibex
#

Are you on a branch on your fork?

desert vessel
#

yep

vale ibex
#

Once this PR is merged, you'll just need to pull from upstream, and then git rebase main while you have your branch checked out

desert vessel
#

ah, alright

#

tysmm

vale ibex
#

I'm going through all our repos now and PRing this, so might take a minute

#

alr, that's all the repos I have checkout locally

desert vessel
#

awesome

stable mountainBOT
#
It has arrived!

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

celest charm
#

damn @green oriole, you're making a linked list of reminders

#

I don't really have an opinion on this tbh, but then I'm not really contributing anything to the bot ๐Ÿ™‚

trail pilot
#

What does the "good first issue" label mean? On PRs at least

thorny obsidian
#

It's a good issue for those who are new to contributing/haven't contributed to OSS before. It's not overly complex, has well defined scope and requirements, and shouldn't involve in-depth knowledge of the project itself.

austere hornet
#

@vale ibex Question for you: do you think a mad libs generator would be ok for @dusky shore ?

vale ibex
#

Doesn't sound like something we'd be against as a concept

#

I'd suggest writing up an issue describing what you plan to do ๐Ÿ˜„

desert vessel
#

!remind 9h gotta work on the pr and fix rapidfuzz on m1 macs and good morning future me

stable mountainBOT
#
You got it!

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

trail pilot
#

I have a question - how hard is it to add a new dependency?

#

I want to use bs4 for something

#

in sir lancebot

brazen charm
#

you add it to pyproject.toml relock and check if everything works

molten perch
#

It's not hard to add a dependency, but judging by my experience with BS4, I'm not sure how that could work with discord.py.

brazen charm
#

executors

trail pilot
#

We have BS4 for the python discord bot I think

trail pilot
thorny obsidian
#

@vale ibex did d.py v2 change their embed params?

vale ibex
#

Nah, footer isn't part of the init

#

You need to call set_footer() on the embed obj

brisk brook
#

Anybody else have like 50 sequential Docker Desktop updates?

thorny obsidian
#

Is that new to v2 or has it always been like that?

vale ibex
#

For a while afaik

#

I didn't use it before 1.5 tho

thorny obsidian
#

huh, curious how this hasn't been caught then

brisk brook
#

If only you used a static type checker ๐Ÿ’…

thorny obsidian
#

I may need help debugging ddg

trail pilot
#

Hm, ran into this while trying to update the pyproject.toml and after docker-compose build

thorny obsidian
#

hurmmmm

#

need to do some investigating

trail pilot
brisk brook
#

Did you just add bs4 as a dependency?

brazen charm
#

what version is fakeredis on?

trail pilot
vocal wolf
trail pilot
brazen charm
#

aioredis was pinned recently because it had a new major version, and there are some issues with how async-rediscache pins its deps so it may have updated something inadvertently

#

that's async-rediscache not fakeredis

vocal wolf
#

@desert vessel DOCKER_DEFAULT_PLATFORM=linux/amd64 docker-compose up (and whatever arguments you want afterward, probably --build to force build)

trail pilot
#

[tool.poetry.dependencies]
python = "^3.9"
aiodns = "~=2.0"
arrow = "~=1.1.0"
fuzzywuzzy = "~=0.17"
beautifulsoup4 = "~=4.9"
pillow = "~=8.1"
sentry-sdk = "~=0.19"
PyYAML = "~=5.4"
"discord.py" = "~=1.7.2"
async-rediscache = {extras = ["fakeredis"], version = "~=0.1.4"}
emojis = "~=0.6.0"
matplotlib = "~=3.4.1"
lxml = "~=4.4"

this is the entire part of the dependencies of the pyproject.toml i edited on my fork to add beautifulsoup4 and lxml

thorny obsidian
#

oh @vocal wolf feel free to delete my spam above

brazen charm
#

Yes, but that tells us nothing about what version is actually being used after you relocked; do pip show on the package or look into the lockfile

trail pilot
#

Version 1.6 for fakeredis

brisk brook
#

^ this Xith

brazen charm
#

ah your pyproject is fairly outdated, merge master into your branch

trail pilot
#

Yeah, I need to update stuff like rapidfuzz and what not

#

and will do

brazen charm
#

I believe it should work fine after you merge and aioredis gets a version constraint

clever wraith
#

Why does gpl wanna make my life hell

trail pilot
brazen charm
#

don't resolve those, just resolve conflicts in the pyproject and relock before commiting the merge

trail pilot
#

ah alright

clever wraith
#

@green oriole regarding cowsay, I found a somewhat drop in replacement using the Apache license. Can I use that instead or is it like GPL in that it's incomparable with MIT?

trail pilot
#

I only fixed the merge conflicts in the TOML

celest charm
dusky shoreBOT
#

freE sOFTWARe is WhEn YOu cAN't Do anYTHiNg WITh iT

clever wraith
#

Lmfao

thorny obsidian
#

@vale ibex I think I caught everything, lance is running in my test server if you wanna have at it.
The only commands I haven't rested so far are those that are month locked and those that need an API key

#

(if anyone else wants to help test the restructure, let me know and I can send over my test server invite link)

cold island
thorny obsidian
#

yeah, I'm just a bit lazy atm >_>

vocal wolf
#

Are we restructuring sir lance atm?

#

if not, what's happening?

cold island
#

Yis

vocal wolf
#

veri nais

#

Thank you, @thorny obsidian!

thorny obsidian
#

so far:

vocal wolf
#

an entire folder for snakes? what's in there lol

cold island
#

I'd place int e under core

vocal wolf
#

also, should games_fun be renamed to just fun?

cold island
austere hornet
cold island
#

Also, can't the avatar stuff and snakes be under fun?

vale ibex
thorny obsidian
#

So snakes is a whole slew of commands. It was from one of the code jams, so was unsure if we wanted to keep it separate

#

utilities:

#

avatar_modification has holiday stuff as well as fun stuff, so I wanted to bring it up a level since it is a bit of an odd ext

vale ibex
#

Yea, I merged a bunch of commands into one cog, so they could share logic

thorny obsidian
vocal wolf
#

oh god lol

#

yep, that folder does need to exist indeed

thorny obsidian
#

I'm fine with moving it under fun, was just unsure if we wanted to give it a bit more visibility due to it being the product of a jam

cold island
#

Personally I think placing it under fun is fine

#

The cog is notoriously under-maintained, so making it stand out doesn't appeal to me

thorny obsidian
#

any objection to me adding some READMEs to folders to help explain stuff? Like a README for that cog to explain its history

cold island
cold island
#

@thorny obsidian I'd consider adding an events ext and placing aoc and hacktoberfest there

#

What's under trivia?

cold island
#

And source

thorny obsidian
#

I may move trivia_quiz under fun, we'll see

cold island
#

The trivia night stuff can be another thing to put under events

#

Basically separate the nice-to-have stuff, the stuff we use to run the bot, and stuff we use to run the community

tough imp
#

well realitically you can either take yours or theirs, and relock, or just delete the lockfile and relock

#

its not obvious to me how the latter could be worse

#

ah its prob reading it because of this feature

tough imp
#

awesome

vocal prairie
#

@thorny obsidian If you're not doing it already, I think it might be nice to normalize spaces in file names. For example, these two (in the main branch of the repo) use different styles

fervent sage
#

I'd argue conflip is one word at this point

#

Whereas connect four definitely isn't

clever wraith
#

Ah yes conflip

vocal prairie
#

But there is inconsistency. Like, conversationstarters.py certainly isn't one word

fervent sage
#

Yeah

trail pilot
#

Yeah iirc all file names should be lowercase and have underscores in them (correct me if Iโ€™m wrong though)

celest charm
#

you are correct

#

well, they don't need to have underscores in them if it's one word (like math)

vale ibex
#

mat_h.py

celest charm
static canyon
#

@brisk brook what exactly did you mean by your comment on bot#1804?

dusky shoreBOT
static canyon
#

"Can we just get a comment that the Infraction converter special-cases last as getting the last infraction from the author?"

#

Where would such a comment go?

clever wraith
static canyon
#

Also for bot#1806 we seem to always use tuples for in checks, as apposed to sets (can only see one case which uses a direct set) -- will add the comment though

dusky shoreBOT
brisk brook
#

Otherwise it would fit fine just above the embed I think?

static canyon
brisk brook
#

For the command group

static canyon
#

Hmm

#

I mean it's clear in the converter that last is handled separately

#
    async def infraction_group(self, ctx: Context, infraction: Infraction = None) -> None:
        """
        Infraction manipulation commands.
        
        If `infraction` is passed then this command fetches that infraction.
        NB: `Infraction` converter supports 'l', 'last' and 'recent' to get most recent infraction made by `ctx.author`.
        """
```something like this? @brisk brook
brisk brook
static canyon
#

That's gonna be way past the linting 120 chars though

#

193 to be exact

#

Ah wait nvm there's a newline there

#

Think I'll go with```py
"""
Infraction manipulation commands.

    If `infraction` is passed then this command fetches that infraction. The `Infraction` converter
    supports 'l', 'last' and 'recent' to get the most recent infraction made by `ctx.author`.
    """```
brisk brook
#

How does that look with the help command now @static canyon?

static canyon
#

fine imo

#

Maybe "'l', 'last' and 'recent'" but that's ott I think

brisk brook
#

I think that's good yeah

thorny obsidian
#

hurm, so troubleshooting something. One of lancebot's commands creates a local image and inserts it into an embed. If the embed gets edited, the image gets duplicated outside of the embed. Is there a way around this while generating the image on the fly and not pre-hosting it somewhere?

exotic ember
#

sounds like a discord bug, which command is it?

thorny obsidian
#

.ddg, it only happens when it's a local image, if you go to edit it it doubles the image. The only way I can find around it is to host the image from the start, which is difficult with this game

#

this is what it looks like in my test server: #778705917050486835 message
The only thing that changes with that code is the footer of the embed is edited

fervent sage
#

.src ddg

dusky shoreBOT
#
Command: duckduckduckgoose

Generate a board, send the game embed, and end the game after a time limit.

Source Code
stable mountainBOT
desert vessel
#

Thank God

#

Cool

desert vessel
stable mountainBOT
#
Sure thing!

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

clever wraith
#

my anagrams command uses an api to check if an word exists but is it possible if u guys would ummm download a txt file instead with a lot of words

#

hey @fervent sage, ive encountered a few problems with quackstack's seeding and component layering, any chance you could take a look at the issues?

#

krofner do be typin

#

thats me

#

hey cat

clever wraith
#

tysm

#

sorry for pinging

fervent sage
#

I should be project lead for quackstack KEKW

#

nah i like pings

clever wraith
#

lol

fervent sage
#

gives me smth to do

fervent sage
clever wraith
#

dw i wont raid the server to ping you lmao

#

On another note, .quack is open to PRs!!

#

reviewa

#

reviews

#

oops

thorny obsidian
#

you're going to be in for a painful merge commit

brazen charm
#

should be easy to resolve with a new file

clever wraith
#

uh oh

thorny obsidian
#

I'm in the midst of significantly revamping lance's entire structure.

clever wraith
#

oh

#

christ

fervent sage
dusky shoreBOT
clever wraith
short snow
#

just 26sec late

#

๐Ÿ˜”

clever wraith
#

one thing, you should maybe link those two issues i opened

clever wraith
#

Looks good!

clever wraith
#

ty alec, im heading out for tonight

fervent sage
#

night

clever wraith
#

Ty

trail pilot
#

cpython#1

#

cpython#65

#

aw, it doesn't work for anything

placid ermine
#

python/cpython#1

dusky shoreBOT
placid ermine
#

perhaps

thorny obsidian
#

It does you just need to specify the owner/org if it's not pydis repos

trail pilot
#

ah alright

#

Also I feel like there should be a topic_add command to sirlancebot kind of like how otn adds a name to the possible names, so it isn't that every time that you need to make an issue to add more topics

something like where helpers and higher or moderators and higher are the only ones who can add topics

thorny obsidian
#

I'd prefer it go through a PR review. Off-topic names are silly and only channel names. The topics aren't quite that.
Plus I'm not sure how the interface would work for specifying topics for different channels.

fallen patrol
#

(no database kind of makes it impossible)

thorny obsidian
#

We do have redis on Lance though and with our settings it's persistent enough

patent pivot
#

with our configuration in the event of power loss max data loss is 1 second before outage

#

we fsync to disk every second and use append only storage so the database gets rebuilt

patent pivot
stable mountainBOT
#

Hey @clever wraith!

It looks like you tried to attach file type(s) that we do not allow (.html). We currently allow the following file types: .gif, .jpg, .jpeg, .mov, .mp4, .mpg, .png, .mp3, .wav, .ogg, .webm, .webp, .flac, .m4a.

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

static canyon
dusky shoreBOT
brisk brook
#

The redis cache is connected when the event loop is running (when the bot starts)

#

But the comment is wrong, it is okay to import the cog like that

vale ibex
#

Yea, we sometimes put the import statement inside the setup function to avoid side affects, since as creating redis caches before the event loop is running

#

EG the help channels cog

#

but since I can't spot anything that would mean we need to do this for this cog

#

it could be useful to do it for future proofing, but not needed right now afaik

short snow
static canyon
#

Also for adding a requirement to sir-lancebot do I just put it in the Pipfile? I want to add aiohttp -- getting warnings from Pycharm even though it's part of discord.py

vale ibex
#

might be worth double checking what venv pycharm is using

#

maybe do another poetry install

#

but for reference, if you want to add a new dep, then you can add it to the pyproject.toml file, and then poetry lock

static canyon
#

Thoughts on hanging indent in docstring to indicate it's part of the previous line?```py
"""
API method data.

An API method is immutable (frozen) by design, to avoid editing constant values.  However,
  the time of when a request was made is used with caching.  A mutable protected
  attribute can update request info while the other attributes remain immutable.
"""
vale ibex
#

I don't like it.

#

I'd rather it just read like a normal paragraph

static canyon
#

Yeah, okay

static canyon
vale ibex
#

The issue might be that sir-lancebot#732 is very out of date compared to main

dusky shoreBOT
vale ibex
#

you should try and rebase it to origin/main

#

Ah, it's on a fork

#

You'll need to get the fork owner to fetch changes from upstream

#

or you can push this branch to the main repo

static canyon
vale ibex
#

Ah cool, what is output by git remote -v

static canyon
vale ibex
#

ah yea, that'll do it

#

rather than doing it from command line

static canyon
#

I mean from commandline may be better idk

vale ibex
#

nah, that'll be fine

static canyon
#

Okay

vale ibex
#

once you've done that, locally you'll need to check out main branch, and do a git pull

#

then checkout your branch and do git rebase main

static canyon
#

๐Ÿ‘

#

Lemme do that rq

vale ibex
#

the rebase will likely raise conflicts due to the changes in the branch

static canyon
#
C:\Users\tizzy\magicandcode-sir-lancebot>git rebase main
error: could not apply 32c85810... Add Last.fm credentials
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 32c85810... Add Last.fm credentials
Auto-merging bot/constants.py
CONFLICT (modify/delete): Pipfile.lock deleted in HEAD and modified in 32c85810... Add Last.fm credentials. Version 32c85810... Add Last.fm credentials of Pipfile.lock left in tree.
CONFLICT (modify/delete): Pipfile deleted in HEAD and modified in 32c85810... Add Last.fm credentials. Version 32c85810... Add Last.fm credentials of Pipfile left in tree.
vale ibex
#

you should see in pycharm now there are some files showing as having conflicts

static canyon
#

It's not showing what those conflicts are though

#

Pipfile and Pipfile.lock show as having conflicts

vale ibex
#

the conflicts are the pipfile and pip lock

#

so yea, just delete those entriely

#

since we don't use them anymore

#

then stage those deletes and run git rebase --continue

static canyon
#

How do I stage the deletes?

vale ibex
#

git add <filepath>

static canyon
#

Tried doing git add Pipfile but it says file not found (because I deleted)

vale ibex
#

try git rm Pipfile

static canyon
#
C:\Users\tizzy\magicandcode-sir-lancebot>git rm Pipfile
fatal: pathspec 'Pipfile' did not match any files```
#

Or rm then delete maybe?

vale ibex
#

git rm will delete

#

do yea, maybe restore the files and then do git rm

#

I usually do this part via the vscode gui lol

static canyon
#
error: could not apply 339e834e... WIP: Implement async music toplist command
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 339e834e... WIP: Implement async music toplist command
CONFLICT (modify/delete): Pipfile.lock deleted in HEAD and modified in 339e834e... WIP: Implement async music toplist command. Version 339e834e... WIP: Implement async music toplist comma
nd of Pipfile.lock left in tree.
CONFLICT (modify/delete): Pipfile deleted in HEAD and modified in 339e834e... WIP: Implement async music toplist command. Version 339e834e... WIP: Implement async music toplist command of
 Pipfile left in tree.
#

Guess I can just do "Accept Theirs"

vale ibex
#

yea, that'll work

static canyon
#

Successfully rebased and updated refs/heads/feature/music-cog.

#

Guess it worked

vale ibex
#

nice

static canyon
#

ty

#

now poetry install works ๐Ÿ‘

#

It's safe to use list[x] instead of typing.List[x] etc. btw right? @vale ibex

vale ibex
#

yup

static canyon
#

๐Ÿ‘

#
from bot.utils.pagination import ImagePaginator
from . import api, utils```should the `.` import have a blankline before it?
cold island
#

hmmm

#

I don't think we do relative imports anywhere

vale ibex
#

nope

#

usually we go for from bot import api, utils

cold island
#

Can you switch to the full path?

vale ibex
#

oh wait, yea will need the full path

static canyon
#

.api isn't bot.api here

#

It's exts.evergreen.music.app.api in sir-lancebot

cold island
#

yeah, whatever path it is

static canyon
cold island
#

I don't follow

cold island
static canyon
#

Instead of from . import api, utils do from bot.exts.evergreen.music.app import api, utils?

cold island
#

yeah

static canyon
#

Hmm

#

Why though?

#

What's the benefit?

brisk brook
#

Consistency

cold island
#

just more uniform with how we write code in the repo

static canyon
#

Fair enough

brisk brook
#

But other than that I agree, I use relative imports everywhere I can. It helps type checkers and easier to follow generally

static canyon
#

Is this import order correct? (all import before doing any from)py import asyncio import logging import time from dataclasses import dataclass, field from typing import Any, Optional from urllib.parse import urlencode

brisk brook
#

Yes

static canyon
#

๐Ÿ‘

tough imp
#

you can configure pycharm to auto sort

#

or rather just figure out the key binding

#

the linter is configured for pycharm import sorting

static canyon
#

Yeah, I think I have just not done for this fork

#
from discord.ext.commands import Cog, Context, group
from discord.ext.commands.errors import BadArgument
```should I shorten this to```py
from discord.ext.commands import BadArgument, Cog, Context, group
```?
brisk brook
#

Yes those are the same I believe

static canyon
#

Yeah, they are

#

Just wanted to make sure there wasn't a reason to keep the .errors

static canyon
#

Ah... It's trying to push all the commits from rebasing main. Is that okay? @vale ibex

brazen charm
#

Yes, it needs to push the rebased commits of they don't exist on the branch you're pushing to

#

If you didn't change any of the commits from main it's fine

static canyon
#

๐Ÿ‘

#

๐Ÿค”

vale ibex
#

You'll need to git push --force

#

since you've altered history with the rebase

static canyon
#

Right

static canyon
#

Can I please get some reviews on bot#1798, bot#1804 and bot#1806? All three are ready to be merged, just need the reviews ๐Ÿ‘

austere hornet
#

Could some also review sir-lancebot#843? It looks like 3 people have already been assigned, just haven't gotten to doing the review yet, which is fine. Here is your reminder ig lol. Thanks so much!

dusky shoreBOT
short snow
#

i see you have the images in resources but you are using links instead?

#

Basically you aren't using the images, but I would not like to use links here and images stored in resources rather

#

Also did you have a look at the pythondiscord style guide?

#

Also am not sure about top 1000 words, but maybe we can use the dictionary api to get some words of the day or something?

trail pilot
trail pilot
stable mountainBOT
desert vessel
stable mountainBOT
#

:incoming_envelope: :ok_hand: applied mute to @novel yacht until <t:1630851239:f> (9 minutes and 58 seconds) (reason: duplicates rule: sent 4 duplicated messages in 10s).

desert vessel
#

@tranquil topaz

#

oops, sorry

#

i wanted to report spam

#

forgot about the auto mute

elder belfry
#

While running sir-lancebot via docker-compose I'm getting this recurring error, How can I resolve it? Thanks in advance!!

...
sir-lancebot    | 09/05/21 14:00:30 - bot.bot INFO: Cog loaded: CoinFlip
sir-lancebot    | Traceback (most recent call last):
sir-lancebot    |   File "/usr/local/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 660, in _load_from_module_spec
sir-lancebot    |     spec.loader.exec_module(lib)  # type: ignore
sir-lancebot    |   File "<frozen importlib._bootstrap_external>", line 850, in exec_module
sir-lancebot    |   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
sir-lancebot    |   File "/bot/bot/exts/evergreen/color.py", line 5, in <module>
sir-lancebot    |     import pillow
sir-lancebot    | ModuleNotFoundError: No module named 'pillow'
sir-lancebot    | 
sir-lancebot    | The above exception was the direct cause of the following exception:
sir-lancebot    | 
sir-lancebot    | Traceback (most recent call last):
sir-lancebot    |   File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
sir-lancebot    |     return _run_code(code, main_globals, None,
sir-lancebot    |   File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
sir-lancebot    |     exec(code, run_globals)
sir-lancebot    |   File "/bot/bot/__main__.py", line 31, in <module>
sir-lancebot    |     bot.load_extension(ext)
sir-lancebot    |   File "/usr/local/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 732, in load_extension
sir-lancebot    |     self._load_from_module_spec(spec, name)
sir-lancebot    |   File "/usr/local/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 663, in _load_from_module_spec
sir-lancebot    |     raise errors.ExtensionFailed(key, e) from e
sir-lancebot    | discord.ext.commands.errors.ExtensionFailed: Extension 'bot.exts.evergreen.color' raised an error: ModuleNotFoundError: No module named 'pillow'
sir-lancebot exited with code 1
desert vessel
elder belfry
desert vessel
#

mind sharing your dockerfile ?

#

its not able to install pillow ๐Ÿค”

elder belfry
# desert vessel mind sharing your dockerfile ?
FROM python:3.9-slim

# Set pip to have cleaner logs and no saved cache
ENV PIP_NO_CACHE_DIR=false \
    POETRY_VIRTUALENVS_CREATE=false

# Install Poetry
RUN pip install --upgrade poetry

WORKDIR /bot

# Copy dependencies and lockfile
COPY pyproject.toml poetry.lock /bot/

# Install dependencies and lockfile, excluding development
# dependencies,
RUN poetry install --no-dev --no-interaction --no-ansi

# Set SHA build argument
ARG git_sha="development"
ENV GIT_SHA=$git_sha

# Copy the rest of the project code
COPY . .

# Start the bot
CMD ["python", "-m", "bot"]

# Define docker persistent volumes
VOLUME /bot/bot/log /bot/data

I have just cloned the project..

desert vessel
#

oh

elder belfry
#

Should I have to manually go into the container and install it??pithink

desert vessel
#

so i have a sm0l fix

#

find a file called pyproject.toml

#

search the file for pillow

#

lemme know if it is there

elder belfry
static canyon
#

Have you run poetry install? @elder belfry

desert vessel
#

i dont think thats needed while running with docker

#

but yeah

#

do that

static canyon
#

It shouldn't be, but worth trying ๐Ÿคท

desert vessel
elder belfry
desert vessel
#

this is a silly thing but make sure you are in sir-lancebot directory while running docker-compose up

desert vessel
#

alright

#

wookie is typing, :P

#

he'll probs know whats wrong

elder belfry
desert vessel
#

yiiiikes

#

i have a dirty fix

timid sentinel
#

Try without docker maybe? poetry run task start

static canyon
elder belfry
desert vessel
#
FROM --platform=linux/amd64 python:3.9-slim
# Set pip to have cleaner logs and no saved cache
ENV PIP_NO_CACHE_DIR=false \
    POETRY_VIRTUALENVS_CREATE=false

# Install Poetry
RUN pip install --upgrade poetry

WORKDIR /bot

# Copy dependencies and lockfile
COPY pyproject.toml poetry.lock /bot/

# Install dependencies and lockfile, excluding development
# dependencies,
RUN poetry install --no-dev --no-interaction --no-ansi
RUN pip install pillow
# Set SHA build argument
ARG git_sha="development"
ENV GIT_SHA=$git_sha

# Copy the rest of the project code
COPY . .

# Start the bot
CMD ["python", "-m", "bot"]

# Define docker persistent volumes
VOLUME /bot/bot/log /bot/data
desert vessel
#

to your docker file

static canyon
desert vessel
#

and run it again?

elder belfry
desert vessel
#

pip install pillow

#

run this

desert vessel
#

or so i think

static canyon
brazen charm
#

Do you have any changes in any files? The container on main is fine and doing hacks won't help if the issue is elsewhere (and can't be pushed anyway)

desert vessel
static canyon
brazen charm
#

pip doesn't care about case

desert vessel
#

y- yeah

static canyon
#

oh, fair enough

desert vessel
#

so the color file is raising this error, have you modified this file by chance ?

elder belfry
brazen charm
#

Do you have that pushed somewhere?

desert vessel
#

^ for reference ?

short snow
trail pilot
#

I tried it earlier but it looks really ugly

trail pilot
#

Editing is much smoother than having to delete and post the file everytime

desert vessel
#

oh wait

#

its PIL

#

not pillow i believe

#

import PIL

#

i have an m1 mac, so i cant test locally cuz of rapidfuzz :(

elder belfry
desert vessel
#

haha, no problem :D

#

is this vscode or the code?

elder belfry
desert vessel
#

of course! i love helping :D

#

@elder belfry you might wanna fix this

#

i have to go in 5 mins :(

#

ping me for anything

elder belfry
desert vessel
#

i can stay up after i come back and help you fix these errors

#

if you're not through them

#

i'll be on phone, so ping me if you need me :D

elder belfry
desert vessel
#

@elder belfry can you tell me how to use the command

#

i may have fixed the whole thing

#

.colour #000000

#

that isnt working

elder belfry
desert vessel
#

in my server

stable mountainBOT
elder belfry
#

And moving that file to somewhere else has just fixed the issue..

desert vessel
elder belfry
desert vessel
#

remember to change the aias

#

alias*

#

i kept it as bruv

#

cuz nothing else came to my mind

#

alright, cya

#

i gtg

clever wraith
clever wraith
#

Hey @timid sentinel , thanks for the review. I'll get to it as soon as possible. Unfortunately I'm offline so that might not be until tomorrow

timid sentinel
brazen charm
#

There's no rush with PRs and reviews for non critical code, larger prs can sit around for a few weeks

clever wraith
#

Okay good, ty ๐Ÿ˜„

thorny obsidian
#

Soon โ„ข๏ธ I'm going to push and open a PR for the lance restructure

clever wraith
#

@timid sentinel ive decided to manually append the seed to the request url as if i dont the command errors if a seed isn't given, and i dont want to have to set a specific seed

#

tfw you forget to run poetry run pre-commit install

timid sentinel
clever wraith
#

wow im stupid

timid sentinel
#

Not stupid lemon_pensive

thorny obsidian
#

elmoburn The PR has been created

short snow
vale ibex
#

actually, I've spotted a few more places @thorny obsidian, give me a few minutes and I'll update the comment

#

alr, that should be it

thorny obsidian
#

@vale ibex fixed! thanks for catching that

clever wraith
#

huh

brazen charm
clever wraith
#

oh

#

quackstack#65

dusky shoreBOT
clever wraith
#

would be nice to have merged with .quack

patent pivot
#

@clever wraith we're not doing CLI on quack-stack

clever wraith
#

alright

patent pivot
#

not at the current moment anyway

#

we'll get a nice API together, integrate lancebot and then anyone can use the public API with a CLI and w/e

#

@fervent sage where did you land for S3?

clever wraith
#

eh ill make an unnoficial one then for fun

patent pivot
#

๐Ÿ‘

#

expect things to change in coming weeks

fervent sage
fervent sage
patent pivot
#

lol this is true

thorny obsidian
#

joeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, can you add the new non-staff contribs to the review policy thing pls?

vale ibex
#

i already did it ๐Ÿ˜„

thorny obsidian
vale ibex
#

which pr?

thorny obsidian
#

sir-lancebot#851

dusky shoreBOT
molten perch
#

The policy-bot took my review in account.

brazen charm
#

wouldn't they need to be a member for that

thorny obsidian
#

it's counting Chris's for core dev & staff, but not yours

vale ibex
#

ugh, policy bot is case sensitive

#

i'll pr a fix

thorny obsidian
brazen charm
#

yeah I'm just thinking of the checkmark on the GUI

molten perch
#

I thought 1/2 approvals required meant that I was okay.

vale ibex
#

.github#5

dusky shoreBOT
vale ibex
#

but policy bot is case sensitive

molten perch
#

Oh, I thought you only count as core-dev, and not the both of them.

vale ibex
#

yea, it's two staff/contrib requirements

#

and one of them needs to be a core dev

molten perch
#

Oh, okay. I see ๐Ÿ˜„

vocal wolf
#

it's happening, isn't it

thorny obsidian
vocal wolf
thorny obsidian
#

hey ...
hey @vocal wolf
... you should uhhhhhhhhh
review that lance PR :3c

vocal wolf
#

200

#

files

thorny obsidian
#

:3c

vocal wolf
#

now that's a lot of damage

#

how tf do we have so many files in sir lance?

#

I'm guessing a lot are resource files

thorny obsidian
#

snakes. resources. so many games.

#

SO. MANY. GAMES.

#

did you know we have a gamerec command?

#

.gamrec

vocal wolf
#

so what you're saying is AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHH

thorny obsidian
#

.gamerec

dusky shoreBOT
#
Recommendation: Doom II https://rawg.io/games/doom-ii

Doom 2 was one of the first FPS games that I truly enjoyed. It offered awesome weapons, terrifying demons to kill, and a great atmosphere to do it in.

thorny obsidian
#

It loops through the same 4 games

vocal wolf
#

lmao

clever wraith
#

done a really simple, garbage quackstack cli

#

!pypi quack-cli

stable mountainBOT
clever wraith
#

.gamerec

vocal wolf
#

@clever wraith oi m8 what's going to happen to this PR? sir-lancebot#699

dusky shoreBOT
clever wraith
stable mountainBOT
clever wraith
#

im gonna get on it soon

brisk brook
vocal wolf
#

thanks

thorny obsidian
#

Chris has a PR to fix it

brisk brook
#

I am talking about this

thorny obsidian
#

The thing that I cared about was why it wasn't counting here and turning this green:

green oriole
#

Because you aren't in the org

#

But the policy bot will still count it

#

Don't worry

thorny obsidian
#

yeaaaaah, this is the part I care about

#

what does it conflict with? I pulled it yesterday and there haven't been any merges since

vale ibex
#

no conflict, but it will need to be updated

#

I merged a PR to the Dockerfile yesterday

#

I've done that now

thorny obsidian
#

It's a protected branch and only authorized users can merge

vale ibex
#

merge conflicts are a special term for issues that git can't resolve itself

thorny obsidian
#

saddab I used to be able to merge

#

all the opens one conflict with the type annotations PR anyhow

#

this is just... like an order of magnitude worse

#

Def not with lance, I think it's still being evaluated for python

dry folio
#

hey guys, does anyone know where's the logic for whitelist overrides on lancy? all i found so far is whitelist_override, in_whitelist_check, and whitelist_check, but i'm wondering if there's more

#

the structure is a little confusing lol, i'm trying to make .bm available for everyone everywhere

thorny obsidian
#

heeeey @vale ibex and/or @vocal wolf it miiight be worth making a dev announcement about this since it's a substantial change for existing contribs?

clever wraith
#

Lovely time to fix my .quack pr

vocal wolf
brisk brook
#

I think I have some co-authored commits into both bots

clever wraith
#

uhhhhhhh i just tried to pull main and no dice

vocal wolf
#

@thorny obsidian welp I guess the restructure is done

clever wraith
#

oh im dumb i needed to pull upstream

#

woohoo merged the restructure

#

also

#

if you have time please look at sir-lancebot#849

dusky shoreBOT
vocal wolf
#

@thorny obsidian do you have that list of labels that you suggested for @dusky shore's repo?

clever wraith
#

rip didn't get pinged on the dev announcements ๐Ÿ˜”

molten perch
#

I might've spotted something. It seems like cogs under the folder events are not loaded in.
(It worked before merging the restructure <#sir-lancebot-playground message>)

brazen charm
#

Looks like it's missing the an init with a setup entrypoint

#

There's also a missed old import in the aoc helpers file

molten perch
#

Yeah, spotted that as well. I was gonna fix it in my next PR there's a missing .event

#

I think I'll open an issue for that, just for the sake of consistency.

vale ibex
#

we should directly PR that

#

I'll do it now

clever wraith
#

Lol merged that suggestion and now I get an EOF error

molten perch
fallen patrol
#

wouldn't that, yknow, been caught just by nature of running the bot?

molten perch
#

It should be โ€˜exts.event.[โ€ฆ]โ€™

vale ibex
#

Gonna abuse the fact that staff meeting is happening an push for reviews

trail pilot
#

Yay

#

The PR I made has just been waiting for reviews but it's been two to three days since I put the PR up so I'm fine waiting since it's only been a few days

fervent sage
clever wraith
fervent sage
#

Ty :P

clever wraith
#

Lol it didn't count

#

The shit

#

Your review didn't trigger policy bot

#

Yeah

#

Idk

vale ibex
#

We recently added django_prometheus to the site repo. This now causes the site to fail to build during local dev for bot, since it relies on metricity db to exist.
This is because the bot repo pulls site from site:latest on ghcr, so it doesn't run the init.sql file to create metricity relations

I'm thinking we copy the init file into the bot repo and add a volume to postgres via the dockercompose file.

this seems like the easiest solution, since changes to this init file are unlikely to happen. any thoughts on better solutions?

brisk brook
#

Wait why aren't the SQL queries ran?

vale ibex
#

but the init for metricity aren't in django migrations

brisk brook
vale ibex
#

I'm not too familiar with django migrations, metricity isn't a django model

brisk brook
#

Why does the site work if it doesn't run the metricity queries?

vale ibex
#

we don't want it in the site image, since we want it in the postgres image

#

we could have the site do the migration, but we'd need to make sure it doesn't run in prod

green oriole
#

@vale ibex why don't we make the site run the script itself if it starts in dev mode rather than psql, so we don't have to deal with keeping the file up to date in two repos

vale ibex
#

we already have an if self.debug in the site manager init

#

I'll take a look at doing that

green oriole
#

I had a bad experience with prod even vars, so if we can avoid it, uuuh, that'd be nice pithink

vocal wolf
#

I typed all those out manually.

#

no clipboard used besides file names

#

lol

#

well it had to be done

green oriole
#

lol, I'm sure it can wait until tomorrow

#

Sure, if you can fix it

#

It is an internal discord bug iirc

vocal wolf
patent pivot
#

discord problem

#

my code works, theirs doesn't

#

it works in comments, but not PR approvals

#

lol, nah, it is indeed broken

vale ibex
#

I have a fix

#
    @staticmethod
    def run_metricity_init() -> None:
        """
        Initilise metricity when running in debug mode.

        This is done at run time, since other projects (Like Python bot)
        rely on the site initilising it's on db, rather than relying on
        an init.sql volume.
        """
        import psycopg2
        # The database URL has already been validated in `wait_for_postgres()`
        conn = psycopg2.connect(database_url=os.environ["DATABASE_URL"])
        conn.autocommit = True
        with conn as cursor:
            cursor.execute(open("postgres/init.sql").read())
#

lovely

patent pivot
#

no thnk u

#

nah, don't, we really don't need that

patent pivot
vale ibex
#

this is in site

patent pivot
#

hmmmmmmm

#

ahhhhhhh

vale ibex
#

once I commit any new images will have it

patent pivot
#

ahhhhhhhhhhhhhhhhhhhhhhhhhhhh

#

smart

#

I like it

stable mountainBOT
#

bot/converters.py lines 564 to 569

if not infractions:
    raise BadArgument(
        "Couldn't find most recent infraction; you have never given an infraction."
    )
else:
    return infractions[0]```
patent pivot
#

good programmer with a good idea, that's what I like to see

brisk brook
#

Raises BadArgument yeah

vale ibex
#

I just need to update the init.sql to make sure it only runs if there isn't any data already

vocal wolf
#

yeah, just tested it

#

very nice

timid sentinel
#

Thanks! lemon_pleased

vale ibex
#

๐Ÿ‘Œ

stable mountainBOT
#

manage.py lines 159 to 161

# Prevent preparing twice when in dev mode due to reloader
if not self.debug or in_reloader:
    self.prepare_server()```
vale ibex
#

I can understand not running it when reloading, but nto sure about the debug part

green oriole
patent pivot
#

in that ccase two excellent minds

#

but ultimatley

#

both are part of the devops hive mind

#

heard of docker swarm? yeah that's my devops team.

#

docker swarm do-my-work

green oriole
vale ibex
#

yea I was gonna change this to just check for in_reloader

#

Scale

green oriole
#

Haha the devops swarm

vale ibex
#

or is it joe

vale ibex
green oriole
#

It was both back in March

#

Huh, we didn't transfer crispy to lemon, didn't know that

patent pivot
#

scale

#

my position in python discord is chief thought leader

#

i'm like julian assange but ethical

#

technically the truth

#

smart config

green oriole
patent pivot
#

this is true

cold island
green oriole
#

Look at the PR

patent pivot
#

an idea to try simplify config on all our bots โ€” I think we had some level of plans with bootrapping certain things but I forget

green oriole
#

The PR

cold island
#

We like smart things ablobshrug

green oriole
#

We never got any project lead for that one lol

#

I may pick it up later on, yeah

#

Mark contributed as much as I did tbh

#

If not more

patent pivot
#

pro i think

#

the $20/mo one

#

uhhhhh

#

i mean to us, nothing

green oriole
#

The infra cost nothing lol

patent pivot
#

yea

#

if we paid, cloudflare is $20/mo, Linode would be around $2000/yr, domains are around $36/yr (all 4 combined, we recently transferred to Cloudflare & enabled DNSSEC)

#

uhhhh

#

Sentry would be a few hundred

#

DNSSEC has been enabled since January, just not on a registrar that had the records, lol

#

Notion would be a few hundred too

green oriole
#

Github would be pricy if we had an actual team plan, not the open source one

#

Actually don't we have team pro since we have a special status or something

patent pivot
#

ah yeah that too

#

sponsorships

#

we have a lot of good relations with these companies

green oriole
#

Plus we have Joe

#

Who not only has the number of bojo but also biden's

#

The linode support are good people

patent pivot
#

Linode are great โ€” always lovely to chat to about sponsorships & really helpful with any problems too

#

I think I put one of the support interactions on a public postmortem a while ago

green oriole
#

On the disk going zoom, yeah

#

That was a fun outage

#

How many days without an incident are we at

patent pivot
#

uhhhhh

#

july 11th was the major one

green oriole
#

What happened again?

patent pivot
#

i don't think we've had anything quite as significant ssince

#

django connection surge

green oriole
#

Was that the disk one

patent pivot
#

yeah

#

it knocked a node into unresponsive

#

but didn't let the volumes unmount healthily

green oriole
#

Right

patent pivot
#

so I had to do some debugging with linode API and even mounting to a temporary VM and doing fsck.ext4

#

lol

green oriole
#

Kind of works?

#

I am still waiting on my cloudflare swag

#

I hope it will include socks

#

What did you get it for?

patent pivot
#

do not understand lol

green oriole
#

They have a ticket system, emails, phone numbers..

#

Hah, nice

vale ibex
green oriole
#

Hahaha

vale ibex
#

gonna push in a sec, just writing a commit message

#

you can enjoy my pain

#

site#583 ๐Ÿ™ƒ

dusky shoreBOT
green oriole
#

Haha that's quite funny

#

It looks good though

vale ibex
#

Yea, postgres doesn't have CREATE DATABASE IF NOT EXISTS

#

I'm going to bed now though, so feel free to roast my changes

#

oh lol, even CI is complaining that metricity doesn't exist

#

not sure how we feel about running that in debug mode tho

#

that push should fix it

green oriole
#

Almost

vale ibex
#

Hmm no

#

The CI is failing here as CI doesn't have metricity either, and django-prometheus now requires it as part of django.setup()

We have two options here, either we can run this new run_metricity_init() func during CI, or we can always run it.

Running it in CI makes the most sense, as it's lower risk

green oriole
#

Agreed

#

I think it does make sense here

#

We want the CI env to be as close as possible to the prod env

vale ibex
#

alr lets see if this does it

#

wait, no

#

copy-paste error

#

I noticed before CI failed, so it doesn't count

remote wigeon
vale ibex
#

you run it while connected to another db

remote wigeon
#

sounds like an extra step to me

#

its not like you expect a create postgres server if not exists KEKW

vale ibex
#

ahh right I see the issue, in CI we only do migrations, rather than running

#

so this code never hits

green oriole
remote wigeon
#

fair ig

vale ibex
#

hmmm, not too sure what to do here

#

but fails on python manage.py migrate since it needs metricity

#

and we only run our custom logic when running, rather than migrating

#

I need to head to bed now anyway, so feel free to leave suggestions in the PR

trail pilot
#

What does this mean? aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host discord.com:443 ssl:default [No address associated with hostname], this occurs if I keep my fork running for a while wihtout closing it

clever wraith
#

Big Programming languages are coming to steal your freedom! They are becoming higher level by the minute!!! They are lying to the people by not telling us whatโ€™s going on and abstracting stuff!!!! I NEED TO SEE RAw pointers FOR MY FREEDOM โ€ฆโ€ฆ RETURN TO COBOL And THEY HIDE WHAT EVERYTHING MEANS BEHIND โ€œDOCUMENTATIONโ€ WHO READS IT??? ITS LIKE THE TOS

@trail pilot explain

clever wraith
#

hey @brisk brook what did you mean by a converter

trail pilot
trail pilot
left flume
#

so since you'll just be sticking to discord.py 2, context menus will not be used on this server, isn't it?

short snow
#

oh no, restructure PR merged

desert vessel
#

ahhhhhhh

#

screw docker

patent pivot
# short snow argh

sometimes this is just file renames, merging with CLI is generally fairly alright, but GitHub web editor can't pick up file renames

#

When I was restructuring kube repo I got that a lot but when I ran git merge main it actually figured out the renames even if I'd modified the content

vale ibex
#

I figured out how to fix site#583

dusky shoreBOT
vale ibex
#

agreed

cold island
# left flume so since you'll just be sticking to discord.py 2, context menus will not be used...

Upgrading to dpy 2 is just a way to get some of the new features such as threads and buttons.

But we're not planning on sticking with dpy forever, as it will gradually become more and more out of date. But we are sticking with it in the near future.

If we ever want something that we can't get with dpy, we might look elsewhere, depending on how much we want it.

tl;dr: the bot development ecosystem in Python is a bit hectic right now, we're not in a rush.

vale ibex
#

because this small change only really needs 1 commit

#

probably should have kept them separate and then squashed, but oh well

vale ibex
#

@timid sentinel Was looking at the talentpool comment you left. I was thinking of removing the refresh cache from reschedule_reviews entirely and doing it on init

#

we already refresh the cache whenever someone is added or removed from the pool too, so I don't think it's needed in there

timid sentinel
#

@vale ibex yeah that sounds good

green oriole
#

Actually the link works, oh well

brisk brook
#

rip SeasonalBot 2021

vale ibex
green oriole
#

Man, when I woke up today I was really like "What a nice day! I am so excited to replace 51 avatar_url by avatar.url"

#

so much fun

#

why such a silly breaking change

vale ibex
#

lol

#

rebuilding bot is such a pain atm

#

since I need to manually migrate metricity each time I rebuild site lol

#

lancebot isn't too bad nice easy setup

#

bot is a bit harder since you need to setup all the channels, emojis and webhooks

green oriole
#

47 passed, 210 errors in 8.60s
oh that's fun

#

they removed default arguments for context.bot and context.view ;-;

#

I will actually cry

vale ibex
#

lmfao

sacred fossil
#

Finally free enough to boot back to Linux. Re: sir-lancebot#785, how should I resolve the file conflict? Pull down the new tree, re-fix and force-push?

dusky shoreBOT
brazen charm
#

you can start merging, move the file and then commit the merge; or rewriting the commit with a force pusha lso works

sacred fossil
#

Isn't force-pushing kinda frowned upon? I don't know the exact details as I only saw the practice mentioned in memes with a general negative remark

brazen charm
#

What are the stats for usage of the tag content search commands?

vale ibex
#

force pushing to public branches is bad, since it messes with people's local copies, force pushing branches is fine as long as other people working on the branch (if any) are told

sacred fossil
#

and there's only me on my branch, that should be good?

vale ibex
#

yupyup

sacred fossil
#

it's force-pushing time

vale ibex
brazen charm
#

the tag search command

vale ibex
#

oh lol didn't even know that existed

#

1 sec

green oriole
#

It is looking a bit better, I guess

vale ibex
#

hmmmmmm

#

all 0s

#

sounds wrong

#

!tags search star

stable mountainBOT
#
Here are the tags containing the given keyword:

ยป decorators
ยป microsoft-build-tools
ยป modmail
ยป repl
ยป seek
ยป star-imports
ยป windows-path

vale ibex
#

lemme see if this shows up

#

ah ok

#

last 90 days

brazen charm
#

What's on the y axis?

vale ibex
#

default output from graphite

#

IE I have no idea

#

maybe @patent pivot can give us a cool function to make this make sense?

brazen charm
#

I was thinking or removing it if it had no uses as it's around 80 lines to maintain but if it's used occasionally it's fine to keep

patent pivot
#

@vale ibex change stats for stats_counts

vale ibex
#

nice nice

green oriole
#

no it's not

cold island
#

what context makes it bad?

#

where is this even from

brazen charm
#

there's a template pinned here, not sure how up to date it is

cold island
#

search for discord.new in this channel

brazen charm
#

you can just create a couple of channels and roles and set multiple keys to those

green oriole
#

it is from the d.py source code

#

how they map external data to internal resources

vale ibex
#

to give all permissions in guild, but not be picked up by the bot

#

IE, a superuser has full access to the server, but is still treated as a normal user as far as the bot is concerned

#

so you can test filters as an example

humble isle
#

just tryinm to get 50 messages

vale ibex
green oriole
#

I am really curious how d.py managed to change their HSV calculation between the two versions

vale ibex
#

Did they change it more than adding the optional seed for the random colour?

green oriole
#

apparently, the test for the role embed is failing

vale ibex
#

๐Ÿค”

#

odd

brisk brook
#

That's because they change the Blurple colors?

vale ibex
#

The green tick when approving is only for users in the org

#

yea, thats it ๐Ÿ˜„

#

wasn't too bad to setup

brisk brook
#

What are you doing exactly?

#

Generating GPG key?

elder belfry
#

I guess u need to choose option 1

green oriole
#

I personally use RSA/RSA

#

do you have a key in ~/.gnupg

#

also

[discord-2.0 2fbe252d] Migrate to Discord.py 2.0a0
 28 files changed, 174 insertions(+), 139 deletions(-)
umbral rose
#

how to solve this error

green oriole
patent pivot
#

wew

#

lol

green oriole
#

64 is like nothing

patent pivot
#

yeah rust or node is significantly more lol

brazen charm
#

it inserts the values from the restart policy

green oriole
#

anything

#

just has to be set

brazen charm
#

I think it's on by default

molten perch
#

I think it has to be "true"
debug = environ.get("BOT_DEBUG", "true").lower() == "true"

#

I might be wrong, though.

gritty wind
#

the second value in the get is the default, so if not set will default to on

#

I mean, a lot of those things were already under evergreen, so they were never technically seasons

#

If you have a better term, you can PR it

stable mountainBOT
#

bot/bot.py line 40

self.loop.create_task(self.send_log(self.name, "Connected!"))```