#discord-bots

1 messages Β· Page 708 of 1

cloud dawn
#

You need to create a task that keeps checking every so often

#

Then if it is lower... send it.

stuck parrot
cloud dawn
#

Yeah sure

stuck parrot
#

I don't get it pls help

slate swan
#

@heavy folio yo can u add me

heavy folio
slate swan
#

i need help

#

u seem to know

heavy folio
#

send it here

slate swan
#

trying to make this autotyper send messages slower

final iron
#

What does this have to do with discord bots?

final iron
#

!d asyncio.sleep

unkempt canyonBOT
#

coroutine asyncio.sleep(delay, result=None)```
Block for *delay* seconds.

If *result* is provided, it is returned to the caller when the coroutine completes.

`sleep()` always suspends the current task, allowing other tasks to run.

Setting the delay to 0 provides an optimized path to allow other tasks to run. This can be used by long-running functions to avoid blocking the event loop for the full duration of the function call.

Deprecated since version 3.8, removed in version 3.10: The `loop` parameter. This function has been implicitly getting the current running loop since 3.7. See [What’s New in 3.10’s Removed section](https://docs.python.org/3/whatsnew/3.10.html#whatsnew310-removed) for more information.

Example of coroutine displaying the current date every second for 5 seconds:
slate swan
#

@final iron can u add me plz

final iron
#

No

slate swan
#

so what do i do

#

@final iron

final iron
#

Implement asyncio.sleep in to the appropriate places so the bot doesn't send the messages instantly

slate swan
#

where do i put that?

final iron
#

Again I don't know your desired results but in-between each message send

slate swan
#

6 seconds

final iron
#

Hmm?

patent lark
slate swan
#

hey guys i have a question

ctx.author

does this check the Context class and uses the author attr it has (if it does) but how is it ctx and not ctx().author if your using the class and one of its attrs kinda confusing and would love for someone to tell me how it works exactly and how a coro is made if someone knows is it an async function? that when used it needs to be awaited?

slate swan
unkempt canyonBOT
#
class discord.ext.commands.Context(*, message, bot, view, args=..., kwargs=..., prefix=None, command=None, invoked_with=None, invoked_parents=..., invoked_subcommand=None, ...)```
Represents the context in which a command is being invoked under.

This class contains a lot of meta data to help you understand more about the invocation context. This class is not created manually and is instead passed around to commands as the first parameter.

This class implements the [`Messageable`](https://discordpy.readthedocs.io/en/master/api.html#discord.abc.Messageable "discord.abc.Messageable") ABC.
maiden fable
slate swan
#

author is a property here

slate swan
#

*attribute

slate swan
maiden fable
slate swan
maiden fable
#

discord.py makes an instance of the Context class and then passes it to the ctx param when invoking the command

slate swan
maiden fable
maiden fable
maiden fable
#

It checks if the message starts from the command prefix. If yes, then it just splits the message by spaces and then uses bot.get_command() where the command name will be the first word (excluding the cmd prefix) and then does something like

cmd_name = message.content.split()]0].remove_prefix(self.command_prefix) 
cmd = bot.get_command(cmd_name) 
ctx = Context(message, self, ...) 
await cmd.invoke(ctx, ...) 
#

This is just a very rough explanation, since there are more things going on under the hood than just this

slate swan
#

You might have seen many people typehint the CTX to commands.Context

maiden fable
unkempt canyonBOT
#

Source code: Lib/inspect.py

The inspect module provides several useful functions to help get information about live objects such as modules, classes, methods, functions, tracebacks, frame objects, and code objects. For example, it can help you examine the contents of a class, retrieve the source code of a method, extract and format the argument list for a function, or get all the information you need to display a detailed traceback.

There are four main kinds of services provided by this module: type checking, getting source code, inspecting classes and functions, and examining the interpreter stack.

slate swan
# slate swan yes

That's basically it , ctx is just context in short
as for the property/attribute thing , they are functions which dont need to be called

#

btw guys im asking these types of questions because i want to make a praw api wrapper but first i want to learn how attrs work deeply

slate swan
#

!e ```py
class my_class:

@property
def name ():
    return 1

print(my_class.name)```

unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

<property object at 0x7f895c30bbf0>
maiden fable
#

U didn't make the instance

slate swan
#

Ow yeah

maiden fable
#

But that's roughly the same as self.name = 1

#

!e

class my_class:
  
    @property
    def name (self):
        return 1


print(my_class().name)β€Š
unkempt canyonBOT
#

@maiden fable :white_check_mark: Your eval job has completed with return code 0.

1
maiden fable
#

There (:

slate swan
#

i see

#

can you guys explain setters and getters and deleters if you guys dont mind? and whats a meta class and how a coro is made yert

slate swan
#

Coro are just async functions

slate swan
visual island
slate swan
visual island
#
class Meta(type): ...
#

metaclass are usually used for the class's magic methods such as __new__ or __iter__

slate swan
#

And as the name suggests , getter gets you a value inside the class , setter is used to defined a value for the class

visual island
#

for example I have a class which I want it to be iterable, instances magic method can be done by doing

class ClassName:
    def __iter__(self):
        ...

and this can be iterated by for i in ClassName():. But the question is, how to iterate the class and not the instance. The answer is metaclass

class Iterable(type):
    def __iter__(self): 
       ... 
class ClassName(metaclass=Iterable):
   ... 
```now we can iterate it with `for i in ClassName:`
slate swan
# slate swan can you send an example?
class MyClass:
     def __init__(self)
        self.name = "a class"

     def getter_func(self):
         return self.name
#as you can see it's just returned a pre defined value
    
     def setter_fun(self):
         self.is_cool = False
         return

# and here in the setter function I just added .is_cool set to False i.e. settings a new property```
patent lark
visual island
slate swan
#

Yea in the init sorry, In in phone

slate swan
visual island
#

ah

slate swan
#

since property has setters and getters right?

slate swan
patent lark
#

nope

#

pascal casing

visual island
slate swan
#

wdym?

slate swan
patent lark
#

snake casing

slate swan
#

wow

patent lark
#

this_is_snake_casing. ThisIsPascalCasing

slate swan
#

so MyClass is snake case

#

Cool

maiden fable
#

No

untold token
#

No

maiden fable
#

It's pascal

untold token
#

MyClass is Pascal case

#

my_class would be snake case

slate swan
untold token
#

But I use both

#

Together

slate swan
#

I didn't check what message you replied to v

patent lark
#

its fine

visual island
#

oops forgot to eval it

#

!e

class Foo:
    def __init__(self):
         self.value = 1

    @property
    def prop(self):
         return self.value

    @prop.setter
    def prop(self, val):
         self.value = val

f = Foo() 
print(f.prop) 
f.prop = 2
print(f.prop)
#

..

patent lark
#

lmao

slate swan
#

the first def is a bit too forward

unkempt canyonBOT
#

@visual island :white_check_mark: Your eval job has completed with return code 0.

001 | 1
002 | 2
visual island
#

typing on phone is hard

slate swan
#

Indeed

#

ah i see makes sense

#

and a deleter deletes the setter value?or no

visual island
#

yes

slate swan
#

ah i see

#

Is the attribute just completely removed? Or just set to None

#

btw whats a api endpoint just how its said an end point for users to use?

full valley
#

how can I wait for a certain amount of players to join a vc in a certain amount of time?

maiden fable
unkempt canyonBOT
#

wait_for(event, *, check=None, timeout=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Waits for a WebSocket event to be dispatched.

This could be used to wait for a user to reply to a message, or to react to a message, or to edit a message in a self-contained way.

The `timeout` parameter is passed onto [`asyncio.wait_for()`](https://docs.python.org/3/library/asyncio-task.html#asyncio.wait_for "(in Python v3.9)"). By default, it does not timeout. Note that this does propagate the [`asyncio.TimeoutError`](https://docs.python.org/3/library/asyncio-exceptions.html#asyncio.TimeoutError "(in Python v3.9)") for you in case of timeout and is provided for ease of use.

In case the event returns multiple arguments, a [`tuple`](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.9)") containing those arguments is returned instead. Please check the [documentation](https://discordpy.readthedocs.io/en/master/api.html#discord-api-events) for a list of events and their parameters.

This function returns the **first event that meets the requirements**...
full valley
maiden fable
#

!d discord.on_voice_state_update

unkempt canyonBOT
#

discord.on_voice_state_update(member, before, after)```
Called when a [`Member`](https://discordpy.readthedocs.io/en/master/api.html#discord.Member "discord.Member") changes their [`VoiceState`](https://discordpy.readthedocs.io/en/master/api.html#discord.VoiceState "discord.VoiceState").

The following, but not limited to, examples illustrate when this event is called...
slate swan
#

on_voice_state_update

visual island
full valley
#

oh shoot, so u can actually do wait_for(on_voice_state_update, timeout = 60*30)

unkempt canyonBOT
#

@visual island :white_check_mark: Your eval job has completed with return code 0.

001 | 1
002 | 2
003 | 3
004 | 2
maiden fable
#

It doesn't take a val in delete iirc

visual island
#

you can not actually delete it

#

although it's weird not deleting the attr in the deleter

slate swan
#

how would i change something in a class? a subclass right

visual island
#

you could do Class.func = my_func if it isn't subclassed, or if it is, just override it

slate swan
pliant gulch
slate swan
pliant gulch
#

Pretty sure I explained it as well when you asked in the Lefi discord

slate swan
pliant gulch
#

πŸ˜”

patent lark
# slate swan your explanations are just confusing sometimes ok🚢

well, that is because andy is very smart in the aspect of developing. so when andy explains something to someone who doesnt have the same knowledge, it may be looked at as confusing because andy is explaining something with the assumption it can be understood as simply as he/she understands the topic. so yeah it creates confusion. thats why you ask more and more. the more you ask the more you know. dont walk away misunderstanding the topic because one explanation didnt give you the knowledge needed. im sure andy would have been willing to break down the explanation.

slate swan
boreal ravine
#

😬

patent lark
#

thats why you need to give responses other than "explain?" "can you give an example?". because thats not really enough, tell them what you need explained. tell them what you understand and where your confusion gets started and for what reasons it may be confusing you.

maiden fable
patent lark
#

im unaware of andys pronouns, nor is it my business

slate swan
#

How get count members, on the all servers

#

?

#

len(bot.users)

patent lark
slate swan
#

Or Iterate thru all guilds and and use guild.member_count if you don't have member intents

patent lark
#

:)

slate swan
#

thanks for the advice btw

patent lark
#

no problem.

slate swan
#

now i will try to fork asyncpraw thank you guys :DD

patent lark
#

goodluck!

slate swan
slate swan
#

what's wrong with it? ( Also I don't understand what's written there)

boreal ravine
slate swan
#

bot.users gives a list of all users your bot can see , using len gives the number of elements in the list
Why a loop?

#

oh

#

stop

#

sorry, sorry, im sorry

#

How to get the server count?

#

bot.guilds and len

visual island
slate swan
sick birch
#

Personally, I find "extending a class" easier to understand subclassing but yes, inherit also works

#

Though I'm pretty sure java uses extends keyword to make a "subclass" and I started off with java so there's that haha

sick birch
#

Starting off with java? I digress

slate swan
#

kinda impressive

sick birch
#

Eh that's just what they teach in school, hated it personally but I'm better off now lmao

sick birch
#

Don't remember it was a longo time ago haha

#

But probably typical java stuff

slate swan
#

ah lol

#

im kinda exited for 10th grade ngl

full valley
#

Im wondering if I need to put the arguments of the event before the await like I did

try:
    member, before, after = await client.wait_for('voice_state_update', timeout=60.0, check=check)
except asyncio.TimeoutError:
slate swan
# slate swan im kinda exited for 10th grade ngl

im gonna get a course of technology idk what it teaches but i hope its software related and not hardware like what a usb is because i know about it already,would love to learn java if they show it

visual island
#

but using 1 variable is also fine, will return tuple

full valley
#

yeah alright cheers

slate swan
#

how to make my message count command count messages for each server, not all at once cuz i wonna to have it like when i type +messages on the server it count form only this when i use this on the other server it count from other server only?

#

!code

unkempt canyonBOT
#

Here's how to format Python code on Discord:

```py
print('Hello world!')
```

These are backticks, not quotes. Check this out if you can't find the backtick key.

slate swan
#

@client.event
async def on_message(ctx):
    author = str(ctx.author)
    if author in messageCount:
        messageCount[author] += 1
    else:
        messageCount[author] = 1
    
    await client.process_commands(ctx)
 
@client.command()
async def messages(ctx: commands.Context, *, user: discord.User=None):
    """To see how many messages are being sent by the user"""
    user = user or ctx.author
    msg = messageCount.get(str(user))
    if msg:
        await ctx.send(f"{user} sent about {msg} in total")
    else:
        await ctx.send(f"{user} didn't sent any message yet")``` here is code
#

for my command

quick gust
#

And it doesn't work?

slate swan
#

it works but i count messages from all server in once

slate swan
#

is my question

#

make another dict inside the dict for each guild

#

ok but how i can make it?

visual island
#
{"guild": 
    {
     "member": "number", 
     "member 2": "number"
    }, 
 "guild 2":
    {
     "member": "number", 
     "member 2": "number"
    }
}
```the dict format would be something like this
slate swan
#

oh

#

but theres any way to make this?

shadow wraith
#

i came here to see what creative ideas you guys are doing for discord bots

visual island
slate swan
slate swan
visual island
#

other way?

#

use db

shadow wraith
#

db = database

#

like sql, mongodb

slate swan
#

ok

slate swan
shadow wraith
#

aiosqlite3

slate swan
#

yes some dbs have async instances like sqlite

#

!pypi aiosqlite

unkempt canyonBOT
copper mural
#

||hi||

slate swan
#

Sqlite has like 4 async modules lol

shadow wraith
slate swan
slate swan
slate swan
slate swan
#

in raw python

slate swan
slate swan
slate swan
unkempt canyonBOT
#

@slate swan :x: Your eval job has completed with return code 1.

001 | Traceback (most recent call last):
002 |   File "<string>", line 1, in <module>
003 | ModuleNotFoundError: No module named 'sqlite'
slate swan
#

cause it's raw-man

#

mini bro

#

🚢

shadow wraith
#

we do a little bit of asking

slate swan
shadow wraith
#

we doa little trolling

slate swan
#

🚢

shadow wraith
#

jk ima be srs

slate swan
#

lol

full valley
#
lobby_channel = await guild.create_voice_channel(f"Team 1 - #{game_id - 1}",
                                                                 overwrites=overwrites,
                                                                 category=bot.get_channel(917647089016635392),
                                                                 user_limit=6)
def check(member):
    return member.id in games[game_id - 1]

try:
    member, before, after = await bot.wait_for('voice_state_update', timeout=300.00, check=check)
except asyncio.TimeoutError:
    await ctx.channel.send('Game Cancelled')
else:
    if len(lobby_channel.members) == 6:

Hi guys, this is a complete shitshow, but I'm trying to wait for a certain channel to reach 6 members in 5 minutes, and if not, game is cancelled

#

this is inside a command

shadow wraith
#

in vscode i pip installed disnake and pip uninstalled discord.py, but vscode saying disnake undefined, why?

lament mesa
shadow wraith
#

πŸ€” vscode was open before i installed disnake

#

i restarted vscode and still saying it's undefined

lament mesa
#

hmm

shadow wraith
#

actually no it's just saying module import can't be resolved πŸ’€

#

fuck

#

i am about to throw up rn

jade jolt
#

will it fix your problem?

shadow wraith
#

wdym

#

nah throwing up will not help with my problem

jade jolt
#

so dont do it

shadow wraith
#

alr

#

but why tf is it saying import "disnake" could not be resolved

#

oh yeah and i run my file and it said modulenotfound disnake doesn't exist

jade jolt
#

that might help you

slate swan
#

or use cmd if your on windows

shadow wraith
#

how else would you think id pip install without a terminal im obv not using pycharm πŸ’€

quick gust
#

I'm talking about command prompt... U just said u installed disnake in vscode right?

shadow wraith
#

ok wtf is this now ssl error:

  raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')]
#

oh wait i get why it's happening

manic wing
#

i dont think there is anything worse than an ssl error

#

i tore out some hair over the last one

#

now i look like i’m balding

slate swan
quick gust
slate swan
manic wing
# slate swan why does that happen and what is it?

ssl certificates are (despite the errors) amazingly awesome things that allow for the private encrypted transfer of data - ssl certificates verify the data from each end. they’re awesome but cancer to deal with

visual island
#

^^ ssl fix

manic wing
shadow wraith
#

nvm it was a network issue

boreal ravine
shadow wraith
#

and turns out the interpreter i had was 3.10.0 and i installed 3.10.0

#

now it works :]

manic wing
shadow wraith
#

and installed the certifi for 3.10.0

#

!d disnake.Embed

unkempt canyonBOT
#

class disnake.Embed(*, colour=Embed.Empty, color=Embed.Empty, title=Embed.Empty, type='rich', url=Embed.Empty, description=Embed.Empty, timestamp=None)```
Represents a Discord embed.

len(x) Returns the total size of the embed. Useful for checking if it’s within the 6000 character limit.

bool(b) Returns whether the embed has any data set.

New in version 2.0.

Certain properties return an `EmbedProxy`, a type that acts similar to a regular [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.10)") except using dotted access, e.g. `embed.author.icon_url`. If the attribute is invalid or empty, then a special sentinel value is returned, [`Embed.Empty`](https://docs.disnake.dev/en/latest/api.html#disnake.Embed.Empty "disnake.Embed.Empty").

For ease of use, all parameters that expect a [`str`](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.10)") are implicitly casted to [`str`](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.10)") for you.
shadow wraith
#

what does the type=... arg even do lmfao

jade jolt
#

!source

unkempt canyonBOT
jade jolt
#

it is not

manic wing
#

no i just meant the docs part

#

the !d

slate swan
#

It can do the same for nextcord too

manic wing
#

no?

#

o

jade jolt
#

hm

manic wing
#

!d disnake.Embed

unkempt canyonBOT
#

class disnake.Embed(*, colour=Embed.Empty, color=Embed.Empty, title=Embed.Empty, type='rich', url=Embed.Empty, description=Embed.Empty, timestamp=None)```
Represents a Discord embed.

len(x) Returns the total size of the embed. Useful for checking if it’s within the 6000 character limit.

bool(b) Returns whether the embed has any data set.

New in version 2.0.

Certain properties return an `EmbedProxy`, a type that acts similar to a regular [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.10)") except using dotted access, e.g. `embed.author.icon_url`. If the attribute is invalid or empty, then a special sentinel value is returned, [`Embed.Empty`](https://docs.disnake.dev/en/latest/api.html#disnake.Embed.Empty "disnake.Embed.Empty").

For ease of use, all parameters that expect a [`str`](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.10)") are implicitly casted to [`str`](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.10)") for you.
manic wing
#

!d nextcord.Embed

unkempt canyonBOT
#

class nextcord.Embed(*, colour=Embed.Empty, color=Embed.Empty, title=Embed.Empty, type='rich', url=Embed.Empty, description=Embed.Empty, timestamp=None)```
Represents a Discord embed.

len(x) Returns the total size of the embed. Useful for checking if it’s within the 6000 character limit.

bool(b) Returns whether the embed has any data set.

New in version 2.0.

Certain properties return an `EmbedProxy`, a type that acts similar to a regular [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.10)") except using dotted access, e.g. `embed.author.icon_url`. If the attribute is invalid or empty, then a special sentinel value is returned, [`Embed.Empty`](https://nextcord.readthedocs.io/en/latest/api.html#nextcord.Embed.Empty "nextcord.Embed.Empty").

For ease of use, all parameters that expect a [`str`](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.10)") are implicitly casted to [`str`](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.10)") for you.
manic wing
#

fuck

slate swan
#

it can

manic wing
#

yeah bit of an overreaction from me pithink

quick gust
#

How do I move a textchannel to another category?

muted lynx
#
@client.event
async def on_member_join(member):
    embed = discord.Embed(title='Welcome', color = discord.Color.purple())
    embed.description = f'Welcome {member.user} to {member.guild}'
    channel = client.get_channel(924522866890911774)
    await channel.send(embed=embed)

No error message and isn't working

slate swan
#

same

#

i have that problem also

#

but i do get a error message

shadow wraith
#

why doesn't this command work, apparently on the await ctx.send(embed=embed) syntax error comes:

@bot.command()
@commands.guild_only()
@commands.cooldown(1, 60, BucketType.user)
async def topic(ctx: commands.Context):
    topics = [
        "What do you want to do but can't?",
        "What do you do when you are bored",
        "If the world in Minecraft was infinite, how does the sun and moon revolve around it?",
        "What is the best way to get a job?",
        "What are you thinking about?",
        "What is your favorite food?",
        "What is your favorite color?",
        "What is your favorite animal?",
        "What is your favorite sport?",
        "What is your favorite movie?",
    ](
    embed = disnake.Embed(
        title=f"Topic: {random.choice(topics)}",
        description="Do `>topic` or `i!topic` for more topics!",
        # set the color to blurple using hexadecimal codes
        color=0x7194FF
    )
    await ctx.send(embed=embed)
slate swan
#

and purple isnt a color afaik

shadow wraith
coral harness
#

hello can i ask something

shadow wraith
#

ye what

somber tide
#

Does anyone know good hosting services for discord bots?

quick gust
#

wait the parantesis shouldnt be there

shadow wraith
#

huh nice bracket catc

coral harness
#

i want to like this

muted lynx
slate swan
quick gust
#

whys the ( there @shadow wraith

coral harness
shadow wraith
quick gust
muted lynx
slate swan
slate swan
muted lynx
somber tide
#

Does anyone know any good hosting services for discord bots?

slate swan
muted lynx
slate swan
slate swan
coral harness
slate swan
muted lynx
#
intents = discord.Intents().all()
client = commands.Bot(command_prefix=',', intents=intents)
heavy folio
#

anyone has any idea why a cog loads twice? the way i load cogs: ```py
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
extension = filename[:-3]
try:
self.load_extension(f'cogs.{extension}')
logging.info(f"Successfully loaded extension '{extension}'")
except Exception as e:
exception = f"{type(e).name}: '{e}'"
print("---------------------")
logging.warning(f"Failed to load extension '{extension}'\n-- {exception}")

terminal output:```py
INFO:root:Successfully loaded extension 'utilities'
---------------------
WARNING:root:Failed to load extension 'utilities'
-- ExtensionAlreadyLoaded: 'Extension 'cogs.utilities' is already loaded.'
slate swan
unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

001 | hello
002 | world
muted lynx
#

bro?

unkempt canyonBOT
#

Using intents in discord.py

Intents are a feature of Discord that tells the gateway exactly which events to send your bot. By default, discord.py has all intents enabled, except for the Members and Presences intents, which are needed for events such as on_member and to get members' statuses.

To enable one of these intents, you need to first go to the Discord developer portal, then to the bot page of your bot's application. Scroll down to the Privileged Gateway Intents section, then enable the intents that you need.

Next, in your bot you need to set the intents you want to connect with in the bot's constructor using the intents keyword argument, like this:

from discord import Intents
from discord.ext import commands

intents = Intents.default()
intents.members = True

bot = commands.Bot(command_prefix="!", intents=intents)

For more info about using intents, see the discord.py docs on intents, and for general information about them, see the Discord developer documentation on intents.

muted lynx
#

whats the point of that

#

its already done

slate swan
#

example

muted lynx
#

I sent my intents

coral harness
muted lynx
#

nice

slate swan
#

and you forgot intents.members = True

slate swan
muted lynx
#

it gets all intents

#

it wouldnt matter

coral harness
slate swan
muted lynx
#

yes

slate swan
muted lynx
#

all intents enabled

slate swan
#

as said purple() isnt a color

#

use a hexdecimal

muted lynx
#

it works in the rest of my commands

#

/events

slate swan
#

weird i dont remember purple() being a color at all

quick gust
heavy folio
#

!d discord.TextChannel.move

unkempt canyonBOT
#

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

A rich interface to help move a channel relative to other channels.

If exact position movement is required, `edit` should be used instead.

You must have the [`manage_channels`](https://discordpy.readthedocs.io/en/master/api.html#discord.Permissions.manage_channels "discord.Permissions.manage_channels") permission to do this.

Note

Voice channels will always be sorted below text channels. This is a Discord limitation...
heavy folio
#

hmm

muted lynx
#

its there

quick gust
#
category = ctx.guild.get_channel(867025452513230849)
muted lynx
#

thats getting a channel

#

not a category

quick gust
#

yeah how do I get a category

slate swan
quick gust
muted lynx
#

this could help maybe

slate swan
#

is embed.description even possible?

quick gust
#

I first need to get the category

shadow wraith
heavy folio
#

indents

quick gust
#

thats 5 spaces

heavy folio
#

also im pretty sure that'd return an error

quick gust
#

thats 4

quick gust
slate swan
slate swan
shadow wraith
#

πŸ•΄οΈ

slate swan
coral vessel
#

How to mention role in this code ?

heavy folio
#

!d discord.ext.commands.group

shadow wraith
#

!d discord.ext.commands.Group

unkempt canyonBOT
#

class discord.ext.commands.Group(*args, **kwargs)```
A class that implements a grouping protocol for commands to be executed as subcommands.

This class is a subclass of [`Command`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.Command "discord.ext.commands.Command") and thus all options valid in [`Command`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.Command "discord.ext.commands.Command") are valid in here as well.
slate swan
#

i seeπŸ•΄οΈ

heavy folio
unkempt canyonBOT
heavy folio
#

oh wait first you need to

#

get the role

cinder horizon
#

guild.get_role(id)

shadow wraith
slate swan
slate swan
shadow wraith
#

true

#

was gonna say that too but i felt i'd get invalidated

boreal ravine
#

should i defer my views everytime i make one?

steep estuary
#

how to remove timed out from a user?

boreal ravine
steep estuary
boreal ravine
#

huh

#

dpy doesnt have timeouts

quick gust
#

lmao

slate swan
steep estuary
#

it cannot be removed by d.py ?

boreal ravine
#

uh

boreal ravine
#

dpy doesnt have timeouts

steep estuary
#

:(

#

ok ty

boreal ravine
#

you can edit the internals though to get timeouts

brazen raft
#

It's been unmaintained for a long time

boreal ravine
steep estuary
#

ok

visual island
boreal ravine
#

thanks

shadow wraith
#

!d disnake.Member.timeout

unkempt canyonBOT
#

await timeout(*, duration=..., until=..., reason=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Times out the member from the guild; until then, the member will not be able to interact with the guild.

Exactly one of `duration` or `until` must be provided. To remove a timeout, set one of the parameters to `None`.

You must have the [`Permissions.moderate_members`](https://docs.disnake.dev/en/latest/api.html#disnake.Permissions.moderate_members "disnake.Permissions.moderate_members") permission to do this.

New in version 2.3.
steep estuary
#

should i switch ?

#

i heard that d.py is fastest

#

and best

slate swan
#

well , if you want your bot to be updated with latest discord elements
You use forks

shadow wraith
#

disnake made my aiohttp api command thing much more faster

boreal ravine
#

dpy already has the new stuff being made by the dpy people lol

shadow wraith
#

disnake has unnecessary but life-changing-and-bet-you-did-not-know-it-was preferences added

#

like for example, tired of specifying seconds. until=... fucking takes a datetime obj

slate swan
#

Sad?

shadow wraith
#

!d nextcord.Member.timeout

unkempt canyonBOT
#

property timeout: Optional[datetime.datetime]```
A datetime object that represents the time in which the member will be able to interact again.

Note

This is `None` if the user has no timeout.

New in version 2.0.
boreal ravine
slate swan
#

Oh pycord doesn't exist in the bot

shadow wraith
#

is there a disnake support server

slate swan
# unkempt canyon

Lmfao very epic
For disnake it's a method to timeout a member
For nextcord it just checks member's timeout

shadow wraith
#

can someone show me how to make a slash command in disnake (like a concept of implementation or example)

lusty ether
#

hey can anyone tell me where can i host single server bot for free?

shadow wraith
#

epikhost

#

but im too tired to tell u about it :|

lusty ether
#

hmm

#

are you sure its ligit

lusty ether
#

or heroku is good

lusty ether
heavy folio
#

what's the check for guild owner again

lusty ether
lusty ether
#
def is_guild_owner():
    def predicate(ctx):
        return ctx.guild is not None and ctx.guild.owner_id == ctx.author.id
    return commands.check(predicate)

@bot.command()
@commands.check_any(commands.is_owner(), is_guild_owner())
async def only_for_owners(ctx):
    await ctx.send('Hello mister owner!')```
jade jolt
#

mm dont spoonfeed

heavy folio
#

πŸ’€ i was asking bout using the commands decorator

#

i didnt ask you to give me the code

jade jolt
#

πŸ’€ loool

#

well you got what u wanted ig

heavy folio
#

hm

boreal ravine
heavy folio
#

kden a custom check is it

boreal ravine
#

yes

lusty ether
#

its given in docs

slate swan
#

he meant the is_guild_owner function

heavy folio
#

i was asking if there's a built in function

lusty ether
#

lol but he got what he want

lusty ether
boreal ravine
slate swan
#

Yeah that works for his purpose

slate swan
boreal ravine
#

but its more easier to do

slate swan
#

Yea ofcourse

#

the check will anyways just raise a CheckFailure

#

if it's not a guild/bot owner

lusty ether
#

which can be handled

#

and i will saying making a custom check is better practice

#

because it can be used with multiple commands at once

slate swan
#

it indeed is

coral harness
#

hi guys. i wanna ask how to make this 2 commands in one. i mean 2 in 1. as you can see, the word (C) is diffrent

boreal ravine
#

str.lower() method

coral harness
boreal ravine
coral harness
#
 if message.content.startswith("Covid stats"):
      await message.channel.send("> Daily covid cases\nhttps://www.worldometers.info/coronavirus/")
boreal ravine
#

what

#

and if you wanna make commands, use ext.commands, don't use on_message events

coral harness
quick gust
shadow wraith
#

why me getting this when making disnake slash command :[

boreal ravine
shadow wraith
#

i did

boreal ravine
shadow wraith
#

i won't tell you about it since python knowledge is required and recommended to those who want to use discord API's for python (not saying discord.py since there are multiple forks of it and they are somewhat better)

coral harness
#

okok

alpine vault
#

I have an instance of say discord.Emoji with name x.
And I am assigning it to y like
y = x

value of x will be changed in the future (after this assignment) but y should not be changed and stay as it was. How can i go about this?

sonic gale
#
async def clear(ctx, amount=11):
    if (not ctx.author.guild_permissions.manage_messages):
        embed = discord.Embed(description = 'staff command only', color=0xC8E9E9)
        await ctx.send(embed=embed)
        return
    amount = amount+1
    if amount > 101:
        embed = discord.Embed(description = 'Can not delete more than 100 messages', color=0xC8E9E9)
        await ctx.send(embed=embed)
    else:
        await ctx.channel.purge(Limit=amount)
        embed = discord.Embed(description = 'Cleared Messages', color=0xC8E9E9)
        await ctx.send(embed=embed)``` no errors bot dosent respond. .ping works
#

confused

prisma spoke
#

L will be small

full valley
#

If I have a task e.g.

#

does slow_count.start() create a task object?

lusty ether
#

yo

#

i want some cool ideas to add with my server bot

full valley
#

If I do that multiple times when other tasks are still going, how can I cancel specific tasks?

lusty ether
#

wait you can run a task once only

#

there can be one instance of task running i think

visual island
unkempt canyonBOT
sonic gale
full valley
visual island
#

will raise RuntimeError

full valley
#

hmm, thats a problem

#

ok

visual island
full valley
#

damn ok ty

sonic gale
#

when using nextcord do i unistall discord?

sonic gale
#

or will that fucks shit up

sonic gale
prisma spoke
#

import nextcord
from nextcord.ext import commands

keen talon
prisma spoke
#

basic example

sonic gale
#

oh got it

#

do i unistall both?

placid skiff
#

So, nextcord now has slash commands

sonic gale
#

how i do i uninstall nextcord

#

i dont wanna use that shit

placid skiff
#

Lol

sonic gale
#

oh got it

placid skiff
#

in your terminal pip uninstall <package-name>

keen talon
sonic gale
#

i fucked up

#

my shit

#

zzzzzzzzzzzzzzz

keen talon
#

!code

unkempt canyonBOT
#

Here's how to format Python code on Discord:

```py
print('Hello world!')
```

These are backticks, not quotes. Check this out if you can't find the backtick key.

sonic gale
#

every time i unistall next cord my shit goes like that

shadow wraith
#

go to command palette an dselect python: select interpreter

#

and change it to your highest version (install the version too)

#

then go to terminal and do pip install sqlalchemy and pip install mongoengine

sonic gale
#

HUH

#

ok

#

thank you

#

did it

#

i just uninstalled everything then downloaded latest version again

lunar quail
#

Suppose I have this code :

@bot.command()
@commands.has_permissions(manage_emojis=True)
async def delete(ctx, emoji: discord.Emoji):
    await emoji.delete()

Does emoji here apply to only the emojis that is in the guild that the command was used or does it apply to all the guilds that bot is in?

Because I think I found quite a security vulnerability here :
Suppose someone with malicious intent decides to delete emotes in a legitimate guild then they could set up a new guild with manage_emoji permission for themselves, invite the bot to the new guild and use the the delete command with the emojis from the legitimate guild. Since bot checks for the permission in current guild which evaluates to true would the bot delete the emoji from the legitimate guild assuming it has "manage emojis" permission?

cedar stream
#

I am, hbu

lunar quail
#

This is pretty interesting worrypopcorn

cedar stream
#

!d discord.Emoji

unkempt canyonBOT
#

class discord.Emoji```
Represents a custom emoji.

Depending on the way this object was created, some of the attributes can have a value of `None`...
cedar stream
#

U cant delete emojis from other guilds

slate swan
#

anyone know why this is happening

lunar quail
slate swan
#

trying to make a lottery bot

lunar quail
slate swan
lunar quail
#

And that too ^

cedar stream
slate swan
unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

1,2,3
slate swan
#

Not important

slate swan
cedar stream
slate swan
#

so im tryna import schedule but it doesnt work

cedar stream
slate swan
slate swan
#

im tryna do schedule.every(5).seconds.do(job)

cedar stream
slate swan
slate swan
#

Do it

#

alr

cedar stream
slate swan
#

last problem

#

anyone know anyhting bout this?

cedar stream
#

Try to hover over it and see what it says

#

Or if ur in pycharm use alt+enter

slate swan
#

is pycharm better?

cedar stream
#

Idk, It’ s personal preference

slate swan
#

i might try it

cedar stream
lunar quail
#

It did.

boreal ravine
cedar stream
lunar quail
boreal ravine
lunar quail
#

Else it'll obviously raise an discord.Forbidden exception

cedar stream
#

Ig u have to check if emoji is from current guild manually

lunar quail
#

Damn, that is an interesting issue. It has an easy solution tho

slate swan
#

then i closed and re opened still not fixed

slate swan
slate swan
#

install*

spring verge
#

Is there a way to use colorful code on pillow module python?

lunar quail
#

Doing emoji.guild_id == ctx.guild.id fix this issue pepenote

cedar stream
slate swan
boreal ravine
cedar stream
slate swan
#

No worries

slate swan
cedar stream
slate swan
#

Yep

boreal ravine
#

but python3.10 -m pip install ... works for me

slate swan
#

still not working for importing library controller

#

Yea , python(version) -m pip install should work

cedar stream
slate swan
#

nvm its cuz i spelt it wrong

#

LMAO

#

Lol

#

i tend to do that

#

What does the schedule library do?

cedar stream
cedar stream
#

Similar to discord.exc.tasks

#

I’ m guessing

slate swan
#

why not. Ext.task.loop?

#

Ohok

cedar stream
slate swan
#

!PyPi schedule

unkempt canyonBOT
slate swan
#

Hm seems like it makes it easier

#

But not asynchronous

velvet tinsel
#

β€œFor humans”

velvet tinsel
boreal ravine
velvet tinsel
cedar stream
velvet tinsel
#

lmaoooo

cedar stream
#

It was alias=β€œβ€ for me πŸ˜‚

velvet tinsel
cedar stream
#

And I always used to forget the ctx parameter

velvet tinsel
#

Oh I never forgot that

Ok, once maybe.

slate swan
#

I was new to classes and used ClassName.function instead of self.function for calling them

#

Though they were in the same class

#

still not working

#

so weird.

#

what's lottery?

#

lottery command

#

like lottery

#

I mean

#

Is it a folder you created , or some Library smthin

#

Lottery folder is in the same directory as bot?

#

If yes , use from .lottery.controll....

boreal ravine
#

relative imports in vsc are weird

full valley
#

with on_voice_state_update

if before channel is none, is after channel the first vc they join

harsh cradle
#

how do i make a event thats when someone send a random message the bot add automatically a reaction

muted lynx
#

you could use an on_message

#

and then add the reaction onto the message

velvet tinsel
#

and it's a .listen() if you want all your other code to work

slate swan
#

so im having a problem with it knowing settings_files is there

velvet tinsel
#

uh

#

why dont you put the import at the top?

slate swan
#

because it doesnt work that way either

maiden fable
#

@slate swan since u r using a DEBUG environmental variable, I am still sure u r using functions and classes from that file in your main code. So, if the debug variable is false, then it would result in an undefined error, no? I don't know whats your approach here so I can't really help u much

slate swan
#

yea that was confusing for me so i got rid of it but im sticking with gamble

#

class Gamble(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.command(brief="Gives a random number between 1 and 100")
    async def roll(self, ctx):
        n = random.randrange(1, 101)
        await ctx.send(n)

    @commands.command(brief="Random number between 1 and 6")
    async def dice(self, ctx):
        n = random.randrange(1, 6)
        await ctx.send(n)

    @commands.command(brief="Either Heads or Tails")
    async def coin(self, ctx):
        n = random.randint(0, 1)
        await ctx.send("Heads" if n == 1 else "Tails")


def setup(bot):
    bot.add_cog(Gamble(bot))
#

is like this but when i do the command

#

dont mind the coinflip one

boreal ravine
maiden fable
#

Yea

boreal ravine
#

or you didnt save the bot

#

and didnt load the extension

velvet tinsel
#

kayle

boreal ravine
#

or you didnt restart your bot

#

so many possibilities

velvet tinsel
#

hi kayle

#

πŸ˜„

boreal ravine
#

hi dekrile

velvet tinsel
#

dekrile?

maiden fable
#

Wait u r kayle?!? Didn't even recognize u. Thought u were a random lol

velvet tinsel
#

bro

#

you never clicked on his profile.

#

how shameful

boreal ravine
grim oar
maiden fable
slate swan
#

Andy by the way. Can I ask what client modifier you use for this codeblock design?

#
            await message.author(embed=discord.Embed(title=f"you've sent a blacklisted word in {message.guild.name}",description=f"Word : {set(blacklisted_text & set(content))}"))
``` ![PES_Think](https://cdn.discordapp.com/emojis/808622883847798804.webp?size=128 "PES_Think") why is this giving me an error

File "c:\Users\rrfda\OneDrive\Desktop\sublime pg version\commands\snipe.py", line 172, in on_message
await message.author(embed=discord.Embed(title="you've sent"))
TypeError: 'Member' object is not callable```

heavy folio
#

because message.author() isnt a thing

#

you can't call a member object

slate swan
#

oh yeah i forgot the send

#

opsy shrug

#

yeah ik no need

heavy folio
#

ok

slate swan
#

its abc.messagesendable

full valley
#

with on_voice_state_update

if before channel is none, is after channel the first vc they join

proven ore
small igloo
#

hi

how to make the bot write "25" instead "(25,)"?

grim oar
#

thats a tuple

#

you access its items with indexing

small igloo
#

gg, tysm

shadow wraith
lunar quail
#

Also, How do I get emoji limits for gifs emote and static emotes separately? Docs only show one attribute for discord.Guild for getting limits and that being discord.Guild.emoji_limit ?

#

!d discord.Guild.emoji_limit

unkempt canyonBOT
lunar quail
#

Is the only one I found

slate swan
#

Well emoji limits are static unless boosted

#

You could work it out with the server boost integer

#

!d discord.Guild.premium_tier

unkempt canyonBOT
#

The premium tier for this guild. Corresponds to β€œNitro Server” in the official UI. The number goes from 0 to 3 inclusive.

small igloo
#

what does this means?

Command raised an exception: TypeError: 'NoneType' object is not subscriptable

and the code is:

def check_coin(user):
user = str(user)
cur.execute("SELECT COIN from users_data where NAME = ?", (user,))
conn.commit()
co = cur.fetchone()
coin = co[0]
return coin

slate swan
#

And format your code

small igloo
# slate swan None of this code is related to discord.py…

k, this is the full one

@bot.command()
async def profile(ctx):
    name = ctx.author.id
    coin = database.check_coin(str(name))
    # level = database.check_level(str(name))
    name = ctx.author.name
    p = discord.Embed(title="",description="",color=ctx.author.color)
    p.set_author(name=ctx.author.name + "'s profile",
                     icon_url=ctx.author.avatar_url)
    p.set_thumbnail(url=ctx.author.avatar_url)
    p.add_field(name="Progress", value="Coin: " + str(coin) + "\n Level: ",
                    inline=False)
    await ctx.channel.send(embed=p)
def check_coin(user):
    user = str(user)
    cur.execute("SELECT COIN from users_data where NAME = ?", (user,))
    conn.commit()
    co = cur.fetchone()
    coin = co[0]
    return coin
slate swan
#

Ok

#

Also full traceback

small igloo
# slate swan Also full traceback

Ignoring exception in on_command_error
Traceback (most recent call last):
File "C:\Users\thosiba\Downloads\d-bots\lib\site-packages\discord\ext\commands\core.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "C:\Users\thosiba\PycharmProjects\main.py\main.py", line 36, in profile
coin = database.check_coin(str(name))
File "C:\Users\thosiba\PycharmProjects\main.py\database.py", line 26, in check_coin
coin = co[0]
TypeError: 'NoneType' object is not subscriptable

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "C:\Users\thosiba\Downloads\d-bots\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:\Users\thosiba\PycharmProjects\main.py\main.py", line 21, in on_command_error
raise error
File "C:\Users\thosiba\Downloads\d-bots\lib\site-packages\discord\ext\commands\bot.py", line 939, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\thosiba\Downloads\d-bots\lib\site-packages\discord\ext\commands\core.py", line 863, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\thosiba\Downloads\d-bots\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: 'NoneType' object is not subscriptable

honest vessel
#

coin = co[0]

#

coin = co

small igloo
honest vessel
#

then its empty, and returns None

#

cursor.fetchone() method returns a single record or None if no more rows are available.

small igloo
#

k it works, thanjs

honest vessel
#

i would recommend using a async database

#

aiosqlite

jagged root
#

all the time?

slate swan
#

?

jagged root
#

What does it mean too many request what i did?

slate swan
#

do you mean ratelimited?

jagged root
#

yea

slate swan
#

well maybe someone is sharing the same ip as you and is sending to many requests limiting you

#

Happened to me

jagged root
#

what should i do

slate swan
#

Wait

#

yeah happens way to often

#

That’s what fixed mine

jagged root
#

ight..

slate swan
jagged root
#

k

honest vessel
#

is it discord that blocks ur request throu repl.it?

jagged root
#

tbh idk

boreal ravine
slate swan
jagged root
#

ye

slate swan
#

Then it’s discord

honest vessel
#

then it is prob cause too many using repl.it (same ip)

slate swan
honest vessel
#

and discord blocks it

jagged root
#

oof

honest vessel
#

use your own hosting server

#

like VPS

velvet tinsel
heavy folio
#

is this somehting to do with cache?

jagged root
#

hm

heavy folio
#

for some reason when i use discord.Intents.all(), it works as it should but when i use ```py
intents = discord.Intents(
guilds=True,
members=True,
bans=True,
emojis=True,
messages=True,
reactions=True
)

visual island
boreal ravine
#

intents

visual island
#

intents

heavy folio
#

oh right

boreal ravine
#

dev portal

heavy folio
#

nah have them enabled but didnt define it

boreal ravine
#

o

velvet tinsel
#

o.o

visual island
#

presences

slate swan
#

yea sowwie

velvet tinsel
jagged root
#

@slate swan What i did was forking the repl and using the new one and worked what do you think

slate swan
#

I just think that , replit sucks

slate swan
jagged root
#

xd

slate swan
#

no offense pithink

visual island
#

pycharm 😑

slate swan
slate swan
jagged root
#

but ineed to pay?

slate swan
visual island
slate swan
jagged root
#

oh

slate swan
#

It’s free, but it’s not 24/7 like replit

jagged root
#

could you send the link please

slate swan
#

don't host the bot until it's ready , simple.

#

Unless you leave you pc on 24/7

jagged root
#

the thing is i have the "hacker" version on repl.it

#

so idk if i should move

slate swan
#

once ready , use some host or heroku to keep it online but not replit

heavy folio
jagged root
#

idk

heavy folio
#

...

slate swan
#

by "some host" I mean any host , not somehost hosting service just to avoid confusions

slate swan
jagged root
#

ight

heavy folio
#

yeah

visual island
heavy folio
#

same blobpain

slate swan
visual island
#

of course

jagged root
#

but just wanna know if im allowed to fork repls when im banned

slate swan
#

broke mfs smh

visual island
#

ikr

jagged root
#

yes

slate swan
#

I got no Moni to spend on my projects πŸƒβ€β™€οΈ

slate swan
jagged root
slate swan
potent light
#

Is there anyway I can set a default color for all of my bot's embeds?

small igloo
#

whoa sarthak_ and okimii here and icy

slate swan
slate swan
visual island
heavy folio
small igloo
slate swan
small igloo
visual island
heavy folio
#

reports

slate swan
slate swan
slate swan
potent light
visual island
heavy folio
#

so in mainpy bot.color = 0xffffff in your whatever cog```py
embed.color = self.bot.color

slate swan
slate swan
#

i already have my own credit cardpithink

potent light
potent light
heavy folio
#

not sure i'll test it

visual island
#

it will

small igloo
potent light
#

Oh I mean, I'd have to do embed.color = self.bot.color every time I create an embed.

slate swan
potent light
heavy folio
potent light
slate swan
small igloo
#

no one answer me in database lemao

visual island
slate swan
slate swan
slate swan
slate swan
potent light
small igloo
small igloo
visual island
#

guess mine

slate swan
small igloo
visual island
slate swan
visual island
small igloo
potent light
#

@visual island another way to do it is to just create self.embed = embed(color = embedColor)
then only change the description and title of the embed through the code, this way it will keep the same color in all of them.

small igloo
slate swan
slate swan
visual island
visual island
slate swan
slate swan
small igloo
boreal ravine
slate swan
visual island
slate swan
#

inner left right joins were to confusing smh😀

boreal ravine
#

like, I know the basics of SELECT, WHERE

small igloo
visual island
#

yeah thats the hardest part

slate swan
small igloo
slate swan
small igloo
slate swan
#

lol

visual island
small igloo
visual island
slate swan
slate swan
visual island
#

Ill probably do some pointless commit

slate swan
#

havent even started its my first time im just trying to push myself

visual island
slate swan
#

ill start with auth in like 8 more hourspithink

boreal ravine
#

whats auth

slate swan
slate swan
visual island
slate swan
boreal ravine
#

o

slate swan
visual island
slate swan
#

jk

slate swan
slate swan
small igloo
slate swan
#

hentai = pedo😳

visual island
slate swan
slate swan
visual island
#

anyways im innocence, idk anything about those things

slate swan
visual island
slate swan
#

u don't do it when you live with a 10yo brother

small igloo
boreal ravine
#

how do i check for a cogs name? ```py
for cog in bot.cogs:

        cog = bot.get_cog(cog)

        if cog.qualified_name == 'Jishaku':
            pass
small igloo
slate swan
boreal ravine
visual island
slate swan
boreal ravine
visual island
#

no, i mean is it Jishaku or..

small igloo
slate swan
#

kayle != mark

#

trust

small igloo
slate swan
visual island
#

btw @slate swan, do you know kylee?

small igloo
slate swan
small igloo
boreal ravine
slate swan
unkempt canyonBOT
#

kakashi/cogs/helpcmd.py lines 13 to 20

categories = self.context.bot.cogs
embed = Embed(
    color = await EmbedColor.color_for(self.context.guild),
    timestamp=datetime.now()
)
for cog in categories:
    cog : Cog = self.context.bot.get_cog(cog)
    if cog.qualified_name in ['HelpCog','Jishaku' , 'botbase']: continue```
boreal ravine
visual island
slate swan
#

im a normal american πŸ˜”

small igloo
slate swan
#

average one toπŸ˜”

slate swan