#discord-bots

1 messages · Page 635 of 1

velvet tinsel
#

Thank you

upbeat otter
#

you've passed only 2 parameters, there need to be 3

radiant horizon
#

so it must have made ctx into a value

velvet tinsel
#

Pass message

slate swan
#

help pls

velvet tinsel
radiant horizon
#

so what should ctx be

velvet tinsel
#

Bruh

quick gust
radiant horizon
#

as i put 2 values

slate swan
quick gust
#

You're not in a cog

slate swan
#

oh

radiant horizon
#

and there is ctx

quick gust
#

@bot.command()

slate swan
#

thx

upbeat otter
quick gust
#

and other places too

velvet tinsel
upbeat otter
radiant horizon
velvet tinsel
#

Show what you did

tough lance
#

@radiant horizon why don't you just do

user = bot.get_user(id)
await user.send(message)
velvet tinsel
#

The most traumatising time was when I was helping a hysterical person

radiant horizon
#

wait

velvet tinsel
#

He went crazy and started screaming at me

slate swan
radiant horizon
velvet tinsel
#

And said NO LINE 27!!!!!!!!!1!1!1!1!1!!1!!

velvet tinsel
quick gust
radiant horizon
#

oh ok

velvet tinsel
#

Another person

quick gust
slate swan
# quick gust show your whole code.
class HelpDropdown(nextcord.ui.Select):
    def __init__(self,bot,ctx):
        self.ctx=ctx
        self.bot=bot
        options = [
            nextcord.SelectOption(label=f"", description="Chose to see General Help", emoji=self.bot.get_emoji(889924503528943717)),
            nextcord.SelectOption(label=f"", description="Chose to see Moderation Help", emoji=self.bot.get_emoji(889924486391029811)),
            nextcord.SelectOption(label=f"", description="Chose to see Entertainment Help", emoji=self.bot.get_emoji(889931893708054600)),
            nextcord.SelectOption(label=f"", description="Chose to see Music Help", emoji=self.bot.get_emoji(889923020313997344)),
        ]
        super().__init__(placeholder='Select section', min_values=1, max_values=1, options=options)


    async def callback(self, interaction: nextcord.Interaction):
        eGeneral = nextcord.Embed()
        eModer= nextcord.Embed()
        eFun = nextcord.Embed()
        eMusic = nextcord.Embed()

        if self.values[0]=='General Help':
            await interaction.response.send_message(embed=eGeneral,ephemeral=True)
        elif self.values[0]=='Moderation Help':
            await interaction.response.send_message(embed=eModer,ephemeral=True)
        elif self.values[0]=='Entertainment Help':
            await interaction.response.send_message(embed=eFun,ephemeral=True)
        elif self.values[0]=='Music Help':
            await interaction.response.send_message(embed=eMusic,ephemeral=True)



class HelpDropdownView(nextcord.ui.View):
    def __init__(self,bot,ctx):
        super().__init__()
        self.add_item(HelpDropdown(bot,ctx))

@bot.command()
async def помощь(ctx):
    await ctx.send(view=HelpDropdownView(ctx))
velvet tinsel
#

Ohhh nextcord

slate swan
#

ye

velvet tinsel
#

I prefer dpy

tough lance
#

I prefer disnake

velvet tinsel
#

Do you like ducks?

slate swan
velvet tinsel
#

Mean

tough lance
#

They're tasty

velvet tinsel
#

Python is my favourite

tough lance
#

Nice

velvet tinsel
#

You don’t get my joke, do you?

tough lance
#

Ye

velvet tinsel
#

I never really understood humour anyways

tough lance
#

My humour is cracked

tough lance
radiant horizon
velvet tinsel
#

show code

cedar stream
velvet tinsel
#

or maybe you didnt pass all the arguments

radiant horizon
tough lance
radiant horizon
#

ok

tough lance
#

Convert to int

radiant horizon
#

ok

velvet tinsel
#

well that was quick

tough lance
#

bot.get_user(int(id))

velvet tinsel
#

I have a lesson in a few

rare saddle
slate swan
#

how to fix this

velvet tinsel
#

never had that error before

#

oh...replit...

slate swan
#

actually i am making help cmd

velvet tinsel
cedar stream
velvet tinsel
#

the most used word for helpers: "try", "show full code", "show error message", "learn simple python"

radiant horizon
#

still getting an error

#

thats the code

tough lance
#

@radiant horizon

radiant horizon
#

yes?

tough lance
#

I was testing the id

slate swan
radiant horizon
rare saddle
shadow wraith
#

guys

#

how do you list all members with a specific role

#

hello?

opal skiff
#

how can i add multiple buttons with nextcord?

tidal hawk
unkempt canyonBOT
#

class discord.Role```
Represents a Discord role in a [`Guild`](https://discordpy.readthedocs.io/en/master/api.html#discord.Guild "discord.Guild")...
shadow wraith
#

could you show me an example

supple thorn
#

Regenerate it and delete that message

radiant horizon
#

people can still see

compact harbor
#

Anyone can help how to get invite link of the my discord bot?

radiant horizon
tidal hawk
upbeat otter
radiant horizon
compact harbor
#

Oauth UI has been changed

slate swan
shadow wraith
#

so im making a staff list

upbeat otter
radiant horizon
#

bad

shadow wraith
#

basically i want it to update each time someone new becomes staff

slate swan
shadow wraith
#

because rn i had to use ids to list

radiant horizon
#

ok

slate swan
#

@radiant horizon can you help me?

shadow wraith
#

and it's kinda painful so is there any way

velvet tinsel
#

🙂

slate swan
#

@velvet tinsel lul

upbeat otter
radiant horizon
slate swan
#

@radiant horizon this code

radiant horizon
slate swan
#

I am sending help cmd with buttons but buttons are not there @radiant horizon

shadow wraith
#

it's official.

slate swan
shadow wraith
#

check discord.py github then go to examples then views

#

then there's example of dropdowns and buttons

shadow wraith
#

btw you prob have to git clone

#

because the version is on like 2.0.0a

slate swan
#

How to fix this

shadow wraith
#

don't know but i can def say git clone official repo of discord.py

#

and get the latest version

slate swan
shadow wraith
#

actually you don't need to reinstall dpy

slate swan
#

Oh

#

pip install -U git+https://github.com/Rapptz/discord.py

#

Two guys joined my replit who are they

#

must have git installed on your device

slate swan
cedar stream
#

Also yes u put the token in main file, u should probably regenerate it

velvet tinsel
#

thanks for the bot btw

slate swan
#

Np

cedar stream
#

Well, id still regenerate it

cedar stream
velvet tinsel
cedar stream
#

Lmao u can make it say “im watching you” on random times

slate swan
#

Token regen

velvet tinsel
#

ok

slate swan
#

Now tell me someone help me?

cedar stream
rare saddle
#

Checking on button click does not work, person is blacklisted but can still create tickets

rare saddle
opal skiff
#

how do i edit buttons with nextcord?

rare saddle
cedar stream
rare saddle
#

When you click on @ on_click.matching_id ('1_button') you need to check if there is a person in the blacklist

cedar stream
#

Like label

opal skiff
#

change style disabled state and other stuff of button

cedar stream
opal skiff
rare saddle
cedar stream
#

and ui.Button

cedar stream
rare saddle
#

What - ui.Button?

cedar stream
#

Is dislash a fork?

slate swan
cedar stream
rare saddle
slate swan
#

Ignoring exception in command warn:
Traceback (most recent call last):
File "C:\Users\PC\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "C:\Users\PC\Desktop\Dadudeł Bot\Dadudeł Bot.py", line 270, in warn
await member.warn(reason=reason)
AttributeError: 'Member' object has no attribute 'warn'

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

Traceback (most recent call last):
File "C:\Users\PC\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 939, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\PC\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 863, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\PC\AppData\Local\Programs\Python\Python39\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: AttributeError: 'Member' object has no attribute 'warn'

cedar stream
slate swan
slate swan
cedar stream
#

I think

rare saddle
cedar stream
slate swan
cedar stream
#

It should return a list of ints

slate swan
#

!e py if 12 in 12 : pass

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 | TypeError: argument of type 'int' is not iterable
slate swan
cedar stream
slate swan
#

ok

rare saddle
quick gust
unkempt canyonBOT
#

Pasting large amounts of code

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

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

slate swan
#

member id and the data you compare are both ints , in can be used with iterables

cedar stream
quick gust
#

oh you're on phone

cedar stream
#

Yes

slate swan
#

this is ss of my warn command

cedar stream
slate swan
cedar stream
#

!d discord.Member

unkempt canyonBOT
#

class discord.Member```
Represents a Discord member to a [`Guild`](https://discordpy.readthedocs.io/en/master/api.html#discord.Guild "discord.Guild").

This implements a lot of the functionality of [`User`](https://discordpy.readthedocs.io/en/master/api.html#discord.User "discord.User").

x == y Checks if two members are equal. Note that this works with [`User`](https://discordpy.readthedocs.io/en/master/api.html#discord.User "discord.User") instances too.

x != y Checks if two members are not equal. Note that this works with [`User`](https://discordpy.readthedocs.io/en/master/api.html#discord.User "discord.User") instances too.

hash(x) Returns the member’s hash.

str(x) Returns the member’s name with the discriminator.
slate swan
cedar stream
rare saddle
cedar stream
#

@slate swan It’ s their ss from b4

tawdry perch
slate swan
#

so what should i do

slate swan
cedar stream
slate swan
tiny ibex
tawdry perch
#

warnings are nothin inbuild to discord, they are just features of bot @slate swan

slate swan
rare saddle
cedar stream
#

It will send them a dm

tawdry perch
tiny ibex
#

Prolly that's what you want to do

slate swan
velvet tinsel
#

member: discord.Member

cedar stream
slate swan
tawdry perch
#

what then?

cedar stream
rare saddle
# rare saddle

And if there are several people on the blacklist, then what?

slate swan
#

on the channel where i use the command

slate swan
# rare saddle

sorry i read blackl as black1 . just replace 1 with l lol

cedar stream
tiny ibex
slate swan
tawdry perch
rare saddle
slate swan
tiny ibex
cedar stream
tiny ibex
#

¯\_(ツ)_/¯

tiny ibex
cedar stream
slate swan
tiny ibex
#

Cuz they used discord.warn

cedar stream
cedar stream
tiny ibex
slate swan
#

Does anyone know how to get a users local time as a timestamp in an embed?

slate swan
tawdry perch
tiny ibex
unkempt canyonBOT
#

The timestamp of the embed content. This is an aware datetime. If a naive datetime is passed, it is converted to an aware datetime with the local timezone.

tawdry perch
#

oh

rare saddle
slate swan
#

i want it to be a users timestamp

#

not like specifically utc

tawdry perch
#

I don't think you can get a specific member datetime

slate swan
#

something that'll convert to the users local time?

tiny ibex
#

It's not of utc

cedar stream
tiny ibex
#

Try it then speak

tawdry perch
#

really?

slate swan
tawdry perch
#

Ignore me in that case*

tiny ibex
tawdry perch
#

yep, I will!

cedar stream
slate swan
slate swan
cedar stream
#

That is it

slate swan
#

but with changeble resson

cedar stream
tawdry perch
tiny ibex
#

@slate swan and @tawdry perch

slate swan
#

i mean if admin use +warn @slate swan can use resson like bad words or something else and the bot in the messages send a resson

cedar stream
slate swan
#

oh

cedar stream
#

If you have reason argument just put that in

slate swan
#

@bot.command(aliases=['Warn'])
@commands.has_permissions(kick_members=True)
async def warn(ctx, member: discord.Member, *, reason=None):
await member.warn(reason=reason)
await ctx.send(f'''"{member}" *został ostrzeżony "{ctx.author}" *powód ostrzeżennia "{reason}"''') so what i need to change here? cuz i dont wonna make stupid mistakes

slate swan
cedar stream
slate swan
#

oh

#

@bot.command(aliases=['Warn'])
@commands.has_permissions(kick_members=True)
async def warn(ctx, member: discord.Member, *, reason=None):
await ctx.send(f'''"{member}" *został ostrzeżony "{ctx.author}" *powód ostrzeżennia "{reason}"''') like this?

cedar stream
#

Run it

slate swan
#

okay

slate swan
dry pelican
#

@commands.has_permissions comes above @bot.command

cedar stream
slate swan
#

i did that.. i put utcnow()

slate swan
#

it came as utc time

#

which i don't want..

cedar stream
slate swan
#

it works

cedar stream
#

Nice

slate swan
cedar stream
slate swan
cedar stream
#

U use it with datetime

rare saddle
lament mesa
rare saddle
#

A ticket is created when my id is blacklisted

cedar stream
rare saddle
cedar stream
#

Send code where u check if member is blacklisted

rare saddle
cedar stream
#

Yes

#

Put [member] outside ()

rare saddle
cedar stream
#

Yes, try that

tawdry perch
#

what new features should I make? (yes asking it again)

rare saddle
cedar stream
maiden fable
cedar stream
tawdry perch
rare saddle
tawdry perch
cedar stream
maiden fable
#

Either my jokes are becoming lamer or people are becoming more serious nowadays ;-;

rare saddle
cedar stream
#

Rn It’ s wrong

rare saddle
velvet tinsel
#

hai

mellow barn
velvet tinsel
cedar stream
velvet tinsel
#

!d datetime

unkempt canyonBOT
#

Source code: Lib/datetime.py

The datetime module supplies classes for manipulating dates and times.

While date and time arithmetic is supported, the focus of the implementation is on efficient attribute extraction for output formatting and manipulation.

tawdry perch
#

I'm becoming more serious on these questions I guess ¯_(ツ)_/¯

mellow barn
rare saddle
tawdry perch
#

why can't I reply to messages ;-;

cedar stream
cedar stream
#

member.created_at.day

#

Etc

#

It’ s how u do it

#

Read the docs of datetime

#

U can parse numbers to months

slate swan
#

may i know what is wrong in here?, i don't really understand that much
here's my full code : https://www.codepile.net/pile/qGVAngXb
and here's the error

Traceback (most recent call last):
  File "C:\Users\gcpla\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 606, in _load_from_module_spec
    spec.loader.exec_module(lib)
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "E:\Codes\Discord-Karaoke-Handler\cogs\karaoke.py", line 7, in <module>
    class Karaoke(commands.Cog):
  File "E:\Codes\Discord-Karaoke-Handler\cogs\karaoke.py", line 265, in Karaoke
    async def _lock(self, ctx):
  File "C:\Users\gcpla\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 1432, in decorator
    raise TypeError('Callback is already a command.')
TypeError: Callback is already a command.

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

Traceback (most recent call last):
  File "E:\Codes\Discord-Karaoke-Handler\bot.py", line 63, in <module>
    bot = init()
  File "E:\Codes\Discord-Karaoke-Handler\bot.py", line 25, in init
    bot.load_extension(f'cogs.{extension}')
  File "C:\Users\gcpla\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 678, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\gcpla\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 609, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.karaoke' raised an error: TypeError: Callback is already a command.
maiden fable
slate swan
#

aight thanks

slate swan
tawdry perch
#

would it be somehow easy to implement Modmail bot?

#

I have made a attempt of doing one but it fked up a bit

velvet tinsel
#

I forgor

slate swan
#

is it possible to multiply the argument to add data in database?
i am trying to make a coinflip command
so if the user uses like
!coinflip 100
and use

c.execute(f'UPDATE data SET balanec =balance 2x{argument}```
#

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

Traceback (most recent call last):
  File "C:\haramware\linkvertise bypasser\bypasses\2.py", line 23, in <module>
    bot.run('my token')
  File "C:\Users\mal\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 631, in run
    return future.result()
  File "C:\Users\mal\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 610, in runner
    await self.start(*args, **kwargs)
  File "C:\Users\mal\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 573, in start
    await self.login(*args)
  File "C:\Users\mal\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 424, in login
    await self.http.static_login(token.strip())
  File "C:\Users\mal\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\http.py", line 353, in static_login
    raise LoginFailure('Improper token has been passed.') from exc
#

this is the full code

@bot.command(invoke_without_command=True)
async def coinflip(ctx,*,argument: str):
    await ctx.send('bet ammount?')
    conn = sqlite3.connect('test.sql')
    c = conn.cursor()
    ip = random.randint(0, 1)
    if ip == 0:
        player = ctx.author
        c.execute(f'UPDATE data SET balance = balance+{argument}+{argument} WHERE ID = {player.id}')
        print('it was heads')
    elif ip == 1:
       player = ctx.author
       c.execute(f"UPDATE data SET balance = balance+{argument}+{argument} WHERE ID - {player.id}")
    print('it was tails')
    await ctx.send(f'you fliped a coin and won {argument}')```
i am trying to add 2x in the balance as well as in the ctx.send
#

my token was replaced with my bot token

#

i tried regenerating but it still doesn't work

velvet tinsel
#

Ok

slate swan
#

i don't

velvet tinsel
#

Get it from bot

slate swan
#

i have

velvet tinsel
#

You probably used the secret number thing

slate swan
#

and see if its under ''

velvet tinsel
#

Is it a string?

slate swan
velvet tinsel
slate swan
# velvet tinsel ?

i am trying to make a coinflip command
and want to make a function which ads 2x the bet amount a.k.a argument can you please tell me how can I do that?

velvet tinsel
#

Here?

slate swan
#

i did bot.run() but i defined bot: bot = commands.Bot(command_prefix='-')

slate swan
#

i pressed copy

velvet tinsel
slate swan
#

no but i did it after copyying

velvet tinsel
slate swan
velvet tinsel
#

*bet

velvet tinsel
slate swan
slate swan
velvet tinsel
velvet tinsel
slate swan
velvet tinsel
slate swan
slate swan
#

i copied it and used the token that i copied

velvet tinsel
slate swan
#

go on discord bot developer click regenrate and then copy

velvet tinsel
#

I don’t know if you’re messing or what

velvet tinsel
#

🤷‍♂️

hollow mortar
#

hey i have problem

velvet tinsel
#

Obviously

slate swan
#

its alr ya aint alone

hollow mortar
#

i know lmao

slate swan
hollow mortar
#

i downloaded postdl its a spotify packge

slate swan
hollow mortar
#

and when i try to type spotdl -h in cmd nothing show

hollow mortar
maiden fable
slate swan
hollow mortar
#

python app

slate swan
hollow mortar
#

and i will turn it to android when i finish it and check that works in pc

slate swan
#

this channel is only for helps related to discord.py library or discord bot making

hollow mortar
#

yeah i know but i said maybe some ppl here that have msuic bots can help with spotify dl

slate swan
#

i have 0 knowledge in that good luck

hollow mortar
#

kk

#

ty

velvet tinsel
#

I’m here

velvet tinsel
hollow mortar
#

spotdll -h will show you all the help you need

#

and you can do spotdl -link [your song link]

#

and it will download it but nothing work of this

tawdry perch
maiden fable
#

Cool

velvet tinsel
#

Ok

velvet tinsel
hollow mortar
#

i did and it says installed

velvet tinsel
#

Ok

#

Import it

hollow mortar
#

no im trying to check it from cmd it doesnt need to be imported

velvet tinsel
#

You have to import it

#

Or it won’t work in python

#

Are you using an ide?

velvet tinsel
velvet tinsel
slate swan
#

Whats the problem jam_cavedude

slate swan
hollow mortar
velvet tinsel
#

Just install it in your

velvet tinsel
#

IDE

#

This is not a python related problem I think

#

Sometimes module commands won’t work in terminal

hollow mortar
#

kk

tawdry perch
#

Hmm. it seems to be quite easy to copy modmail

#

But implementation to make it work inside my own bot without the need of too hard work

hazy agate
#

is someone here

slate swan
#

No

hazy agate
#

like can somebody help me with that help with ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.

tidal hawk
#

install ffprobe and ffmpeg, it can't find it

velvet tinsel
#
{"863091076617601085": {"wallet": 889900, "bank": 50000, "bag": [{"item": "watch", "amount": 0}, {"item": "phone", "amount": 1}, {"item": "laptop", "amount": 1}]}

if I have a json like that ^, how would I find the "amount"?

#

For like laptop

#

pls

#

😭

tawdry perch
velvet tinsel
#

err

#

yes

tawdry perch
#

what is the name of main dict?

velvet tinsel
#

"mainbank.json"

#

there is a function for retrieving it tho

sage otter
#

that’s the file.

velvet tinsel
#

uh

#

I'm using json as a db

tawdry perch
sage otter
tawdry perch
#

or just that

velvet tinsel
velvet tinsel
#

I found the code for an index

#
        for thing in users[str(user.id)]["bag"]:
            n = thing["item"]
            if n == item_name:

i guess this would work

#
index = 0
t = None
#

and just loop through

sage otter
#

no you’d just index it like you with any other iterable ever

#

You almost had it the first time

#

[][][]

velvet tinsel
#

[][][]?

velvet tinsel
#

and why won't it work?

dire folio
#

so for an embed im using the Hex 880000 which is a dark red colour but when in discord it shows up as a cyan colour

sage otter
#

Looks fine to me.

outer parcel
#

Hi everyone

#

@client.command()
async def rob(message, member: discord.Member):
member_data = load_member_data(message.author.id)
User_data = load_member_data(member.id)

#

This is my script but how do i retrieve the other user id

sage otter
velvet tinsel
#

I would help you tylerr but unfortunately I am very busy

#

sorry

outer parcel
#

I alr did that

#

3rd line

dire folio
#

i just forgot to put 0x before

sage otter
outer parcel
#

yes

sage otter
#

?

outer parcel
#

i need id to acces the other players bank value

sage otter
#

yea then member.id

spring kettle
#

Help to create a bot

outer parcel
#

the problem is as soon as i type this command the database crashes

#

idek why

#

my database script

sage otter
#

Do you receive any errors when the db crashes?

#

Or at all during this command.

outer parcel
#

yes

#

should i send ?

brisk helm
sage otter
#

yes

outer parcel
#

im using pickle

sage otter
#

Well show both

outer parcel
#

What do you mean show both

sage otter
#

Show the exception under thag.

tawdry perch
#

seems like a normal decorator wont work with dpy commands, how am I supposed to make a custom decorator?

outer parcel
sage otter
#

very descriptive error

outer parcel
#

ik

#

Should i change database or something

brave vessel
#

What is data equal to

lament mesa
#

!d discord.abc.Messageable.history

unkempt canyonBOT
#

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)```
Returns an [`AsyncIterator`](https://discordpy.readthedocs.io/en/master/api.html#discord.AsyncIterator "discord.AsyncIterator") that enables receiving the destination’s message history.

You must have [`read_message_history`](https://discordpy.readthedocs.io/en/master/api.html#discord.Permissions.read_message_history "discord.Permissions.read_message_history") permissions to use this.

Examples

Usage...
tawdry perch
outer parcel
lament mesa
# unkempt canyon

You will have to serialize each message to JSON using your own method

brave vessel
tawdry perch
#

It is just this so far, ```py
def restrict_to_user(f):
@wraps(f)
async def inner(*args, **kwargs):
print(args)
print(kwargs)
return await f(*args, **kwargs)
return inner

outer parcel
#

data is equal to this class

lament mesa
outer parcel
lament mesa
#

!customcheck

unkempt canyonBOT
#

Custom Command Checks in discord.py

Often you may find the need to use checks that don't exist by default in discord.py. Fortunately, discord.py provides discord.ext.commands.check which allows you to create you own checks like this:

from discord.ext.commands import check, Context

def in_any_channel(*channels):
  async def predicate(ctx: Context):
    return ctx.channel.id in channels
  return check(predicate)

This check is to check whether the invoked command is in a given set of channels. The inner function, named predicate here, is used to perform the actual check on the command, and check logic should go in this function. It must be an async function, and always provides a single commands.Context argument which you can use to create check logic. This check function should return a boolean value indicating whether the check passed (return True) or failed (return False).

The check can now be used like any other commands check as a decorator of a command, such as this:

@bot.command(name="ping")
@in_any_channel(728343273562701984)
async def ping(ctx: Context):
  ...

This would lock the ping command to only be used in the channel 728343273562701984. If this check function fails it will raise a CheckFailure exception, which can be handled in your error handler.

slate swan
tawdry perch
#

so it's basically a decorator but a check that returns a True/False?

lament mesa
#

Yes

velvet tinsel
#
async def check_this(user, item_name):
    users = await get_bank_data()
    item_name = item_name.lower()
    index = 0
    t = None
    for thing in users[str(user.id)]["bag"]:
        n = thing["item"]
        if n == item_name:
            amount = thing["amount"]
            if amount == 0:
                return [False, 2]
            users[str(user.id)]["bag"][index]["amount"] = amount
            t = 1
            break
        index += 1
    if t == None:
        return [False, 3]

i use this to check my json, and I made a variable res = await check_this(ctx.author, "laptop"), and I made sure my "laptop" amount was 1. I made an if/else statement to check if it returns 2, and if it did, to say "you dont own this item". But when I ran the code, it said "you dont own this item" when I the amount of laptop is 1. what is the problem?

tawdry perch
#

ah, that is exactly what I'm looking for! Thank you 😄

velvet tinsel
#

wait no it's not

lament mesa
tawdry perch
#

good to know

brave vessel
outer parcel
#

what do you mean

velvet tinsel
#

this is the first time I asked a question in 2 weeks

tawdry perch
#

!d discord.ext.commands.check

velvet tinsel
#

wait no

#

it isn't

grim topaz
#

i have problem with this how i fix this?

maiden fable
velvet tinsel
#

in 2 days

#

🙂

maiden fable
#

@velvet tinsel what about this 🤨

brave vessel
# outer parcel what do you mean

to be able to deserialize/serialize a custom class with pickle, there are two "magic methods" you need to implement.

Magic methods are things that start with __ and end with __ usually, and you can see how __init__ is an example of a magic method which initializes an object.

In this case you would implement __getstate__ and __setstate__

velvet tinsel
velvet tinsel
maiden fable
velvet tinsel
#

do you know the reason to my problem? Or should I claim a help channel

#

at least it's doing something

#

it used to just be like "no"

maiden fable
#

What happened?

outer parcel
#

I understand the deserializing and serializing

velvet tinsel
brave vessel
#

you would define the __getstate__ and __setstate__ functions which take the instance itself (self) and another argument maybe that I forget

#

but I'm actually not sure about the reason why it's complaining about a weakref

grim topaz
#

ok thx

outer parcel
#

Will i create these functions in class Data

shut axle
#
@client.command()
async def java(ctx):
  embed = discord.Embed(
    description = "Click on the button and get the Java role.",
    color = 0x8FFFFF
  )
  msg = await ctx.send(
    embed=embed,
    components = [
      Button(style=ButtonStyle.green, label="Java", emoji="✅")
    ],
  )
  def check(res):
    return ctx.author == res.user and res.channel == ctx.channel
  try:
    res = await client.wait_for("button_click", check=check, timeout=15)
  except asyncio.exceptions.TimeoutError:
    tembed = discord.Embed(title="Timeout!", color=discord.Color.red())
    await msg.edit(
      embed=tembed,
      components = [
        Button(style=ButtonStyle.red, label="Timeout!", disabled=True)
      ],
    )
    await asyncio.sleep(5)
    await msg.delete()
    return
  if res.component.label == "Java":
    member = ctx.author
    mrole = discord.utils.find(
      lambda r: r.name == "Java", ctx.message.guild.roles
    )
    role = get(member.guild.roles, name="Java")
    if mrole in member.roles:
      await res.respond(content="You already have that role!")
      await asyncio.sleep(0.5)
      await msg.delete()
      return
    else:
      await member.add_roles(role)
      await res.respond(content=f"I gave you the `{role}` role!")
      await asyncio.sleep(0.5)
      await msg.delete()
      return
  else:
    return

This interaction failed! why it is like that when I click on the button?

tawdry perch
#

Where am I passing a value to inner? I don't think I'm doing that, right? https://paste.pythondiscord.com/ruwogimoso.sql

def restrict_to_user(user: int):
    async def inner():
        async def predicate(ctx: Context):
            return ctx.author.id == user
        return check(predicate)
    return inner
velvet tinsel
#

this is weird

outer parcel
brave vessel
outer parcel
#

oh ok

#

ty and these functions will be the loading and saving

slate nymph
#

can u pass lists in @ornate cliffissions.is_user?

brave vessel
#

yep

slate nymph
#

bruh

outer parcel
#

getstate = loading
setstate = save

velvet tinsel
outer parcel
#

ty ill do that and come back

outer parcel
velvet tinsel
#

my code is messy af I know

brave vessel
#

let me check

#

!d object.getstate

unkempt canyonBOT
#

object.__getstate__()```
Classes can further influence how their instances are pickled; if the class defines the method [`__getstate__()`](https://docs.python.org/3/library/pickle.html#object.__getstate__ "object.__getstate__"), it is called and the returned object is pickled as the contents for the instance, instead of the contents of the instance’s dictionary. If the [`__getstate__()`](https://docs.python.org/3/library/pickle.html#object.__getstate__ "object.__getstate__") method is absent, the instance’s [`__dict__`](https://docs.python.org/3/library/stdtypes.html#object.__dict__ "object.__dict__") is pickled as usual.
brave vessel
#

Oh

tawdry perch
brave vessel
#

Wait, you don't need getstate

#

sorry for the goose chase

outer parcel
#

do i leave like this then

tawdry perch
#

I got it working!

maiden fable
#

Cool

brave vessel
outer parcel
#

Do i put this in class Data ?

#

or leave it under a client command

brave vessel
#

But I think the reason why it's failing is because since you're pickling the class itself there are some things that can't be pickled in the instance

brave vessel
outer parcel
#

Ok ill retest ?

#

Oh there is a huge error now

velvet tinsel
#

I'll claim a help channel

brave vessel
velvet tinsel
brave vessel
#

Could you screenshot it since you mentioned it's a big error?

outer parcel
#

I dmed it to you

tawdry perch
#

!paste works as well for large amount of stuff

unkempt canyonBOT
#

Pasting large amounts of code

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

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

brave vessel
unkempt canyonBOT
#

Hey @outer parcel!

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

outer parcel
#

Oh

spring flax
#

disnake is the preferred lib now?

slate swan
spring flax
#

and what about edpy?

#

is that not good?

slate swan
#

Never heard of it

tawdry perch
#

I have heard disnake is a better choice

brave vessel
#

ty

brave vessel
outer parcel
#

So what should i change

velvet tinsel
#

Damn

slate swan
brave vessel
#

I'm not sure about your entire code but usually you get ratelimited if you made too many requests (like calling functions too fast if theyre dpy functions)

outer parcel
#

What is a method of fixing this

sage otter
#

Waiting. And fixing whatever is causing you to get ratelimited.

slate swan
outer parcel
#

Im using repl here so can i boost my repl

slate swan
pliant gulch
#

I would also recommend not using repl.it to host your bot. As they share IP addresses with other machines and since API bans are based on IP you can see how that is bad

sage otter
#

Fits this description just perfectly

slate swan
#

In replit you share ips withother users which if the ip gets banned you will be banned too

pliant gulch
# outer parcel No one can see my IP

Discord obviously can as that's how they API ban. And repl.it shares IPs with its other machines meaning if someone got API banned on discord and you are using the shared machine you also get API Banned

velvet tinsel
#

😭

#

My code brok

#

People bully me

outer parcel
velvet tinsel
#

You should use

outer parcel
#

i paid for replit upgrade features :/

velvet tinsel
#

PyCharm

#

VS Code

outer parcel
#

Atom?

velvet tinsel
#

Uhh

sage otter
#

Atom is good too

#

Very well built text editor.

outer parcel
velvet tinsel
#

Tyler knows the solution to my problem

#

But I don’t

#

I mean the code works

#

But like there’s a weird error with my if else statement

#

It’s saying that I didn’t do something when I entered the correct thing

#

😭🤷‍♂️ well

sage otter
#

I don’t actually. that’s why I haven’t said anything. Me no like to read big code on mobile

sage otter
#

all I got to say is. Make sure you're indexing what you want properly.

velvet tinsel
#

I did

#

It works

#

But

#

The big if statement brokken

#

The one that checks if I said laptop

#

Okimii don’t bully

#

Pls

shut axle
#
@client.command()
async def java(ctx):
  embed = discord.Embed(
    description = "Click on the button and get the Java role.",
    color = 0x8FFFFF
  )
  msg = await ctx.send(
    embed=embed,
    components = [
      Button(style=ButtonStyle.green, label="Java", emoji="✅")
    ],
  )
  def check(res):
    return ctx.author == res.user and res.channel == ctx.channel
  try:
    res = await client.wait_for("button_click", check=check, timeout=15)
  except asyncio.exceptions.TimeoutError:
    tembed = discord.Embed(title="Timeout!", color=discord.Color.red())
    await msg.edit(
      embed=tembed,
      components = [
        Button(style=ButtonStyle.red, label="Timeout!", disabled=True)
      ],
    )
    await asyncio.sleep(5)
    await msg.delete()
    return
  if res.component.label == "Java":
    member = ctx.author
    mrole = discord.utils.find(
      lambda r: r.name == "Java", ctx.message.guild.roles
    )
    role = get(member.guild.roles, name="Java")
    if mrole in member.roles:
      await res.respond(content="You already have that role!")
      await asyncio.sleep(0.5)
      await msg.delete()
      return
    else:
      await member.add_roles(role)
      await res.respond(content=f"I gave you the `{role}` role!")
      await asyncio.sleep(0.5)
      await msg.delete()
      return
  else:
    return

This interaction failed! why it is like that when I click on the button?

slate swan
slate swan
slate swan
maiden fable
#

Seems like a nextcord bug ngl

#

Did u ask them?

slate swan
#

Yes and still no one replied

#

Is there a way I can check how many ppl joined in the last 24 hours?

maiden fable
#

!d discord.Member.joined_at

unkempt canyonBOT
#

An aware datetime object that specifies the date and time in UTC that the member joined the guild. If the member left and rejoined the guild, this will be the latest date. In certain cases, this can be None.

slate swan
#

Should I just do an event like this?

user_count = 0
channel = #blablabla

@bot.event
async def on_member_join():

  user_count += 1

async def daily_task():
    await channel.send(user_count)
    await asyncio.sleep(24*60*60)
    user_count = 0```
maiden fable
#

......?

slate swan
maiden fable
#

Yea ig

opal skiff
#

how do i set a custom activity?

brittle ingot
#

!d discord.Client.change_presence

unkempt canyonBOT
#

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

Changes the client’s presence.

Example

```py
game = discord.Game("with the API")
await client.change_presence(status=discord.Status.idle, activity=game)
```   Changed in version 2.0: Removed the `afk` keyword-only parameter.
opal skiff
#

ty

lapis mountain
#

Hi,

I'm trying to make a discord bot , i already connect it to discord and it work but i want to hide the token of the bot so i made a file named "config" and i made my code , but it's don't work and i have this message error , and if i start a debug it's work perfectly

Someone can help me pls ?

brittle ingot
lapis mountain
#

i tried with a .txt and it's exactly the same error

brittle ingot
#

.env file should contain:

TOKEN=yourTOKENhere
```your code should look something like: 
```py
import os, discord, dotenv
from discord.ext import commands
from dotenv import load_dotenv

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

load_dotenv()
bot.run(os.getenv("TOKEN"))
lapis mountain
#

okay 'im going to try

brittle ingot
#

also make sure you have the correct dotenv installed with pip.
the install command should look like:

python3 -m pip install python-dotenv
wild oak
#

oHHH

#

Im so stupid i used a config.json file not a .env 😂

#

cuz i dont put the actuall token to the public

brittle ingot
#

you can, most people opt for that. I think the .env is preferred with python but im sure there are multiple ways.

wild oak
#

my setup is so bad to host a bot

brittle ingot
#

i at first used a .txt file

wild oak
#

REALLY?

brittle ingot
#

is it your first bot?

wild oak
#

Nope

brittle ingot
#

oof 😂

wild oak
#

Had a few others BUT

#

BUT!

#

i used discord.js

brittle ingot
wild oak
#

its great

#

but

#

python can do everything

#

but poorly

brittle ingot
#

I think my only python project atm is a API wrapper

wild oak
#

ahh

brittle ingot
dire folio
#

how would i execute code when the bot is stopped?

wild oak
#

turn it back on

dire folio
#

nvm i didn't explain that properly

wild oak
#

lmao

brittle ingot
#

you could place something under the bot.run so when the bot stops running it executes the code. If its a status message to discord you will most likely need to make a request using aiohttp or probably requests since its not directly in the bots code.

hollow mortar
#

hey i have stupid question

#

i have this in a code

brittle ingot
#

not sure if that would work really, but just a thought

hollow mortar
#
def user_playlist_tracks()
wild oak
#

doesnt this look cool im so proud of myself @brittle ingot

hollow mortar
#

how can i call python to run the user_playlist_tracks ?

brittle ingot
#

is it inside a class?

hollow mortar
#

nope

wild oak
#

i did it without any py import

brittle ingot
#

i mean i can't specifically say because you only provide the functions constructor.

lapis mountain
#

it dosen't work

wild oak
#

things

hollow mortar
#

this is the full code

wild oak
#

@brittle ingot this is how i made this

hollow mortar
#
results = sp.user_playlist_tracks(username,playlist_id=playlist)
tracks = results['items']
while results['next']:
    results = sp.next(results)
    tracks.extend(results['items'])
print(tracks)



def user_playlist_tracks(self, user, playlist_id = None,   fields=None,
    limit=100, offset=0):
    ''' Get full details of the tracks of a playlist owned by a user.

        Parameters:
            - user - the id of the user
            - playlist_id - the id of the playlist
            - fields - which fields to return
            - limit - the maximum number of tracks to return
            - offset - the index of the first track to return
    '''
    plid = self._get_id('playlist', playlist_id)
    return self._get("users/%s/playlists/%s/tracks" % (user, plid),
                limit=limit, offset=offset, fields=fields)```
wild oak
clear rapids
#

does anyone know how can I edit a embed in an ephemeral message?

brittle ingot
wild oak
#

OHHH

#

Yo i actually need help

wild oak
#

1 sec

brittle ingot
hollow mortar
#

i mean like when i run the code everything work but the function doesnt work idk why

wild oak
#
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="Christmas Movies!"))
    await bot.change_presence(status=discord.Status.dnd)``` this doesnt work
#

the dnd thing does

#

but not watching

brittle ingot
#

you call it by literally typing user_playlist_tracks() and fill in the parameters

sage otter
# wild oak

That looks nice but does your logging look like this tho.

hollow mortar
wild oak
#

hold on

clear rapids
# brittle ingot you cant edit ephemeral messages i don't believe.

py msg = await ctx.send(embed = embed ,components= [row_of_buttons , columns_of_buttons] , ephemeral=True) here is the embed , when I try to edit this like this ```py
await msg.edit(embed = emb_add_req , components = [row_of_buttons , columns_of_buttons,
SelectMenu(
custom_id="add_req_menue",
placeholder="Select a requirement type",
max_values=1,
options=[
SelectOption("Account Older",'1', "Must be a certain amount of days old"),
SelectOption("Member Older", "2" , "Must be a member for a certain amount of days"),
SelectOption("Role", "3" , "Member must have the specified role"),
SelectOption("Not Role" ,"4","Member must not have the specific role"),
SelectOption("Messages" , "5" , "Must have sent the specified amount of messages"),
SelectOption("Badge" , "6" , "Member must have the specified badge"),
SelectOption("Tag" , "7" , "Member must have the specified operator"),
SelectOption("Voice Duration" , "8" , "Have been in VC for a certain amount of minutes"),
SelectOption("Status" , "9", "Member must have the specific status(es)"),
SelectOption("Bio" , "10" , "Member must have this in their custom status"),
SelectOption("Name" , "11" , "Member must have this in their name"),
SelectOption("Activity" , "12" , "Member must meet a specified activity threshold")])])````

sage otter
#

I mean who doesn’t have command logging

wild oak
#

might wanna fix that

wild oak
#

LMAO

clear rapids
#

that message not found

sage otter
brittle ingot
clear rapids
brittle ingot
#

response = foo()
is you calling the function

wild oak
#

It only shows the loaded things if i tell it too lmao

sage otter
#

No need for a var assignment

shut axle
#
@client.command()
async def java(ctx):
  embed = discord.Embed(
    description = "Click on the button and get the Java role.",
    color = 0x8FFFFF
  )
  msg = await ctx.send(
    embed=embed,
    components = [
      Button(style=ButtonStyle.green, label="Java", emoji="✅")
    ],
  )
  def check(res):
    return ctx.author == res.user and res.channel == ctx.channel
  try:
    res = await client.wait_for("button_click", check=check, timeout=15)
  except asyncio.exceptions.TimeoutError:
    tembed = discord.Embed(title="Timeout!", color=discord.Color.red())
    await msg.edit(
      embed=tembed,
      components = [
        Button(style=ButtonStyle.red, label="Timeout!", disabled=True)
      ],
    )
    await asyncio.sleep(5)
    await msg.delete()
    return
  if res.component.label == "Java":
    member = ctx.author
    mrole = discord.utils.find(
      lambda r: r.name == "Java", ctx.message.guild.roles
    )
    role = get(member.guild.roles, name="Java")
    if mrole in member.roles:
      await res.respond(content="You already have that role!")
      await asyncio.sleep(0.5)
      await msg.delete()
      return
    else:
      await member.add_roles(role)
      await res.respond(content=f"I gave you the `{role}` role!")
      await asyncio.sleep(0.5)
      await msg.delete()
      return
  else:
    return

This interaction failed! why it is like that when I click on the button?

wild oak
#
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="Christmas Movies!"))
    await bot.change_presence(status=discord.Status.dnd)``` the only thing that works is the dnd thing
#

my bots christmas themed btw :)

shut axle
#

What should i do?

clear rapids
wild oak
#

why would you have pass

clear rapids
wild oak
#

doesnt that ignore stuff

#

OHHHH

clear rapids
wild oak
#

NEVERMIND

quick gust
#

no it just passes

wild oak
#

yo

#

@clear rapids do you know how to fix it

clear rapids
#

yup

wild oak
brittle ingot
#

You usually want to raise the error in except or handle it some way

wild oak
#
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="Christmas Movies!"))
    await bot.change_presence(status=discord.Status.dnd)```
clear rapids
wild oak
#

the do not disturb thing is the only thing that works

#

i want it to say watching christmas movies

clear rapids
#
try:
      await interaction.respond()
    except:
      pass```
#

you can also use something like this

wild oak
#

you did it wrong

#

press enter after ```py

clear rapids
wild oak
#

lmao

#

sorry

clear rapids
#

done

wild oak
#

@brittle ingot LMAO

#

Not at my house!

cloud dawn
wild oak
#

bro im so slow

clear rapids
wild oak
#

i have 2 change prescences

#

i cant spell omg

brittle ingot
#

where do you change the presence?

wild oak
#

uhh

brittle ingot
#

on_ready or in your bots constructor?

wild oak
#

on ready

#

the do not disturb works

#

not the watching

brittle ingot
#

come on bruhh 😂

wild oak
#

bro

#

chill

#

lmao

brittle ingot
#

you know the bot constructor has activity and status kwargs

clear rapids
#

yoo

#

anyone know how to edit a ephemeral message???

wild oak
#

doesnt it work either way

clear rapids
wild oak
#

cmonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

cloud dawn
clear rapids
#

it doesnt

wild oak
brittle ingot
#

The issue with on_ready is discord is usually sending update requests with guild information and chunking to your bot on_ready and changing presence interrupts that process which discord hates. Essentially in retaliation they may disconnect

wild oak
#

you want me to put it up here

clear rapids
wild oak
#

what

brittle ingot
#

yeah either in the () of your bot constructor or by simply putting:

bot.activity = ...whatever
bot.status = ...whatever
quick gust
wild oak
#

i want to change the status 😂

vale wing
#

Is there a way to implement overloads for commands?
Like will this work

@bot.command(name='xd')
@overload
async def somecmd(ctx, user: discord.User): pass

@overload
async def somecmd(ctx, channel: discord.TextChannel): pass```
wild oak
cloud dawn
quick gust
wild oak
#

looks great man

quick gust
#

thanks though I just pasted a background and a text box with a nice font lol

wild oak
#

@brittle ingot THIS?

quick gust
#

yes that's your bot constructor

wild oak
#

just put

#

bot.activity

brittle ingot
#

yes or put right under it:

bot.activity = ...whatever activity
bot.status = ... whatever status
wild oak
#

kk wait

#

am i missing a ( or a )

#

wait i think i am

brittle ingot
#

yes a )

wild oak
#

Ok its at the end

brittle ingot
#

status and activity are two seperate kwargs

wild oak
#

what

brittle ingot
#

you are including status in your activityType

wild oak
#

did i do wrong this time

#

im guessing it wont work ._.

#

now the dnd is gone 😂

cloud dawn
wild oak
#

@brittle ingot

hollow mortar
#

any one can help me with spotipy here ?

wild oak
#

whats spotipy

cloud dawn
wild oak
#

ik what u mean

cloud dawn
#

Spotipy is for getting song info from spotify.

#

Used it a while back.

wild oak
#

OH

#

SPOTI

#

PY I GET IT LMAO

#

@brittle ingot yo

#

now it wont work

#

idk what to change

gaunt ice
# wild oak

bot.change_presence(status=discord.Status.idle,activity=discord.Activity(type=discord.ActivityType.watching, name="something VICIOUS."))

wild oak
#

im doing it up here

gaunt ice
#

u can change activity to whatever u want

#

and name too

wild oak
gaunt ice
#

ye

reef shell
#

he is trying to set presence in bot constructor

gaunt ice
#

ic

cloud dawn
#

I just changed the presence inside an wait_until_ready

#

!d discord.ext.commands.Bot.wait_until_ready

unkempt canyonBOT
#

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

Waits until the client’s internal cache is all ready.
brittle ingot
#

just do:

bot.status = discord.Status.dnd
bot.activity = discord.Activity(name="Your Status", type=discord.watching)
#

or something

wild oak
#

brb

slate swan
#

uhh please helpp i ve alreadyy pip installed discord

cloud dawn
#

isn't setting presence a coro?

reef shell
#

Yes

gaunt ice
gaunt ice
cloud dawn
wild oak
#

ooo purple vscode

#

lmao

#

visual studio

slate swan
shut axle
#

@clear rapids No module named 'MessageInteraction'

reef shell
wild oak
#

no wait whats the purple one called

wild oak
#

i forget what its called

clear rapids
wild oak
#

the purple vscode

slate swan
cloud dawn
brittle ingot
shut axle
slate swan
gaunt ice
wild oak
#

urs is purple

reef shell
#

change_presence is a coro catyes

cloud dawn
wild oak
#

bro whats the purple vscode called

shut axle
wild oak
#

OK

wild oak
#

OHGGG

gaunt ice
#

XD

wild oak
#

why not use the blue?

gaunt ice
#

ikr y naut blue

fervent fulcrum
#

only the true og used visual studio..

gaunt ice
#

oof

brittle ingot
wild oak
#

isnt it more usefull that using visual studio

clear rapids
# shut axle ?

you have to use the interaction based on the library you are using , I'm using dislash.py . for example if you are using discord.py just read about interaction events in its docs and apply that

cloud dawn
wild oak
#

literally so cool

gaunt ice
#

lul

#

pretty dope

clear rapids
wild oak
#

a few days ago i was going to literally go without a help commad cuz i tried making a weird cog by myself becuase the cog wasnt getting recognized

#

or yesterday

cloud dawn
reef shell
#

help on what...

slate swan
wild oak
#

@reef shellclever nickname

reef shell
slate swan
#

lol

cloud dawn
slate swan
#

i have already pip installed it

wild oak
#

no s @reef shell 🤪

reef shell
#

bruhkitty.

wild oak
#

cant say certain words in here cuz i almost got banned once

cloud dawn
reef shell
#

You can use slangs/ swear ig PepeHmmmm
unless you use them to insult someone

wild oak
#

OH

slate swan
cloud dawn
slate swan