#discord-bots

1 messages · Page 777 of 1

shadow wraith
#

terms of service is how the bot is used or some shit i don't really know

#

you will need actual good english for making a privacy policy and tos

slate swan
#

which i def dont

#

02bored "a link to your privacy policy"

shadow wraith
#

"a link"

#

this is why so much bot's have ultra plus pro premium supreme package deal 1% off super-sale black saturday

slate swan
#

lmao

shadow wraith
#

probably because they lost their money for the domain

slate swan
shadow wraith
#

eh alright

slate swan
#

kermit_sed cause im not gonna learn html or smthing

slate swan
#

You can make the TOS website easily with html and bootstrap and flask

#

¯\_(ツ)_/¯

#

i can just write it easily with some basic markdown in a wiki page

cerulean quest
#
        elif user_message.lower() == "!joke":
            await message.channel.send(random.choices(jokes))
            return
```.
#

when the bot prints this

slate swan
cerulean quest
#

it has a [ ] inside the print

#

how do i remove that

slate swan
#

Print what?

#

do you have a list inside a list?

shadow wraith
#

a tuple inside of a list inside of a tuple ins- 😃

slate swan
#

go sleep , ashley

#

oh it reminds me of okimii

slate swan
#

Welp

#

oh , by your time ill assume you're somewhere from europe 😔 GMT+1

zealous dagger
#

Mien

#

Is GMT+5:30

#

@slate swan @slate swan

zealous dagger
slate swan
zealous dagger
#

Ok

#

You live in Myanmar

slate swan
#

making something funny , lets see how it goes

slate swan
zealous dagger
slate swan
#

.topic

lament depotBOT
#
**Do you think there's a way in which Discord could handle bots better?**

Suggest more topics here!

slate swan
slate swan
zealous dagger
#

@slate swan

#

@slate swan

#

you get the offer to join

maiden fable
#

Damn Dues Ex is fun

slate swan
unkempt canyonBOT
maiden fable
#

No thanks

zealous dagger
#

!ot

unkempt canyonBOT
slate swan
#

the chat looks too messy today @zealous dagger could you delete the messages?

#

💀

edgy finch
#

yo

quaint scaffold
#

Hi?

slate swan
#

how can we do dis

#

add to server

#

?

slate swan
#

oh where

#

ye?

#

I mean add to server button in profile

#

i think its in general

slate swan
slate swan
#

wut exactly

quaint scaffold
#

OAuth2 -> General -> Scroll Down

slate swan
#

oh thx

#

lol yw

manic wing
#

!pypi disnake-debug || due to the silence, i feel as if it is my moral duty to help onlookers 🙂

unkempt canyonBOT
#

A visual debugging extension for disnake discord bots including easy blacklisting, evaluation, echoing and much more!

maiden fable
#

Bruh

#

you are advertising it

slate swan
manic wing
# maiden fable *you are advertising it*

im helping younger, less experienced disnake users have a chance at succeeding in life, through the usage of the blacklist, github, view, invoke tracking and much more 🙂

manic wing
slate swan
maiden fable
#

ping

slate swan
#

pong

tender estuary
#

is DevilBro in this server?

manic wing
# tawdry perch what is this

well, im glad you asked! its an easily loaded extension with over 30 features to make your bot usage simpler, safer and super. There are some pictures on the pypi that show what it looks like 🙂

tawdry perch
#

advertisement spotted

boreal ravine
#

but ok

boreal ravine
#

yes

tawdry perch
#

May I get the link

manic wing
tawdry perch
#

noice

manic wing
boreal ravine
pine crown
#
class MyButtonLink(disnake.ui.View):
    def __init__(self):
        super().__init__()
        self.add_item(disnake.ui.Button(label='✅ Support Server', style=disnake.ButtonStyle.blurple, 
                                        url='e'))
        self.add_item(disnake.ui.Button(label='🌐d Website', style=disnake.ButtonStyle.blurple, 
                                        url='e'))

@client.slash_command(name='BotInfo',
                      description='Shows Bot Info.')
async def BotInfo(inter: AppCmdInter):
    embed=disnake.Embed(color=0x8400a8, title="PexiBot Invite Link!", description="Join Our Support server and report bugs!")
    await inter.send(embed=embed, view=MyButtonLink())
```|
why does it say application didnt respond
manic wing
#

🤦

pine crown
#

slap battles

#

🤦🏻‍♂️

tawdry perch
#

slap

rocky trench
#

dumb question, but how do I add a second name to 1 cmd?

#

so !leave and !stop is the same

tawdry perch
#

aliases

rocky trench
#

@tawdry perch py @commands.command(alias= ["stop"])I tried this, but doesnt seem to work

quick gust
#

aliases...

tawdry perch
#

aliases=['testcommand', 'testing']

quick gust
#

it's aliases not alias, since it takes a list

rocky trench
#

ah I see

slate swan
#

its plural

#

since it takes a list

#

is it possible to include a member's profile picture in an embed?

placid skiff
#

you need the member or user object of the user

slate swan
#

okay i got the member

#

how do i get their profile picture?

placid skiff
#

the member object has an avatar object as parameter which refers to the user avatar, with the avatar object you can get the avatar url which is required to send the image

slate swan
#

thanks

manic wing
#

oo i could add a bot invite generate

light violet
#

hey how to make a timeout command?

vale wing
#

What would it do

#

Ah you mean discord timeout

#

!d disnake.Member.timeout (or any other fork)

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.
light violet
#

how ot make the cmd btw

#

i ama begginer

vale wing
#

How much of beginner

#

Beginner in python overall or bots

light violet
#

bots

#

only

vale wing
light violet
#

snake*

vale wing
#

Raw request only ;)

#

Main library doesn't support it, so raw request or a fork

#

It is very similar to the main library so shouldn't cause any issues

cloud dawn
#

Or hikari

misty ridge
#

is there a way to make a bot to webscrape a website

#

?

cloud dawn
misty ridge
#

Aiohttp?

#

usually people say "try Beautifull soup" and ive tried but not good

#

soo ima try this Aiohttp

cloud dawn
#

Well beauitful soup only parses html

#

Aiohttp async requests the data from a website

misty ridge
#

ooooh okok

#

thx for the idea

cloud dawn
#

I usually use both

#

Bs4 is sync I think though

misty ridge
#

well what i tried to scrape is just a static image and a text from a <span></span>

#

so bs4 can

#

?

cloud dawn
#

Yeah def

misty ridge
#

oohh okok

#

thx for the info👍

kindred drum
#

yo this keeps happening when I try to add a field to my embed, it just makes all the fields the same I have no idea why. This is poorly explained so: https://gyazo.com/e4cf295a3467251437ae2fe558a04852 ```py
@commands.Cog.listener()
async def on_raw_reaction_add(self, payload: discord.RawReactionActionEvent):
if payload.member.bot:
return
e = 0

    casinoMessageReaction = discord.Embed(title = "SLOTS", description = "These are the current selected slots", color = discord.Color.blurple())
    casinoMessageReaction.add_field(name = "Selection", value = "Please select the slots you want to roll from (click on the emojis)", inline=False) 
    
    b = '\n'.join(map(str, Blacklisted))
    casinoMessageReaction.add_field(name = "BLACKLISTED SLOTS (These slots are not able to be rolled)", value = b, inline=False)
    embed_dict = casinoMessageReaction.to_dict()
    for field in embed_dict["fields"]:
        if field["name"] == "BLACKLISTED SLOTS":
            
            await asyncio.sleep(1)
            field["value"] += str(b)
    casinoMessageReaction.set_thumbnail(url="https://i.imgur.com/7xDaaTf.png")
    casinoMessageReaction.set_footer(text=f'Cosmic Overground',icon_url="https://i.imgur.com/7xDaaTf.png")
    casinoMessageReaction.timestamp = datetime.datetime.utcnow()
    
                    
    if payload.channel_id == 935100681629601802:
        channel = bot.get_channel(payload.channel_id) or await bot.fetch_channel(payload.channel_id)
        if str(payload.emoji) == ":zap:":
            selectedSlot.append("Gates of Olympus")
            for x in selectedSlot:
                xq = (next(item for item in slotDict if item["Slot"] == "Gates of Olympus"))
                casinoMessageReaction.add_field(name = str(xq['Slot']), value = str(xq['Symbol']), inline=True)
            await channel.purge(limit=1)
            await channel.send(embed=casinoMessageReaction)
        if str(payload.emoji) == ":four_leaf_clover:":
            selectedSlot.append("Leprechuan goes WILD")
            for x in selectedSlot:
                xq = (next(item for item in slotDict if item["Slot"] == "Leprechuan goes WILD"))
                casinoMessageReaction.add_field(name = str(xq['Slot']), value = str(xq['Symbol']), inline=True)
                
                
            await channel.purge(limit=1)
            await channel.send(embed=casinoMessageReaction)``` basic jist of the code
cloud dawn
#

Why aren't you editing the embed rather than purging

#

Or using discord menus

kindred drum
#

I think it would be the same

#

if I edited it

cloud dawn
kindred drum
#

what is the syntax

cloud dawn
#

Using message.edit

#

Can't code rn I'm on phone

slate swan
#

its just like sending a msg

#

you make an embed and you edit the msg with the new embed

kindred drum
#

also

#

I solved the issue, been stuck on this fo rso long

#
if str(payload.emoji) == ":zap:":
                selectedSlot.append("Gates of Olympus")
                for x in selectedSlot:
                    xq = (next(item for item in slotDict if item["Slot"] == "Gates of Olympus"))
                    casinoMessageReaction.add_field(name = str(xq['Slot']), value = str(xq['Symbol']), inline=True)```
just realised that this would send the new field 3 times as its set as that
#

🤦‍♂️

kindred drum
#

cause I would need to put the new updated embed in the if statements evert time

strong shale
#

Is anyone familier with sphinx-module ?

DM me, I need help with auto-documentation

misty ridge
#

guys can i send a file here

#

or is it prohibited

maiden fable
misty ridge
#

ok ima send a script

unkempt canyonBOT
misty ridge
#

welp i cant

#

this is the link to my script

#

so do you guys have any opinions how to make it "prettier" and how do i make another slashcommand do i just make another @bot.slash_command()??

safe fulcrum
#

hello is there a way to make a prefix = when mentioned ?

slate swan
unkempt canyonBOT
#

discord.ext.commands.when_mentioned(bot, msg)```
A callable that implements a command prefix equivalent to being mentioned.

These are meant to be passed into the [`Bot.command_prefix`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.Bot.command_prefix "discord.ext.commands.Bot.command_prefix") attribute.
safe fulcrum
#

ty

#

i didnt remember how to do it

tacit storm
#

can someone help me with this

#

let me grab the code rq

#

blanked out a bunch

#

but it doesn't display

#

the amount of servers

small igloo
#

aged like wine

slate swan
slate swan
safe fulcrum
#

did you add the bot to your server?

small igloo
slate swan
small igloo
quick gust
#

can you show ss of where you defined your bot?

slate swan
#

nvm, Infernum is here

small igloo
slate swan
small igloo
small igloo
slate swan
nimble plume
#

How to disconnect a user from vc

#

@slate swan

nimble plume
slate swan
#

¯_(ツ)_/¯

#

proceeds to nuke servers

nimble plume
#

No..

nimble plume
slate swan
unkempt canyonBOT
#

await edit(*, nick=..., mute=..., deafen=..., suppress=..., roles=..., voice_channel=..., reason=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Edits the member’s data.

Depending on the parameter passed, this requires different permissions listed below...
nimble plume
#

..

slate swan
#

use the voice parameter and set it to None to kick them from voice

nimble plume
#

Ok

slate swan
#

yeah, ping if you need any help

nimble plume
#

Sure

misty ridge
nimble plume
#

..

quick gust
slate swan
nimble plume
slate swan
nimble plume
#

Nuke*

slate swan
#

Ink4fun

#

cuz why not

nimble plume
#

Help me

quick gust
nimble plume
#

Help me

#

edit not defined

slate swan
nimble plume
quick gust
#

lmao

nimble plume
#

its showing yellow line down

slate swan
#

grab the member object and use the edit method on it ;-;

nimble plume
quick gust
#

it's a method for an object

#

a message object*

nimble plume
#

await user.edit sorry lol

slate swan
#

its also for users

quick gust
#

Oh user, then do that

nimble plume
#

Lol

#

Sorry

slate swan
#

yep, dsc from a vc channel

slate swan
nimble plume
#

Ur time waste

quick gust
#

took like 15 seconds, don't worry

nimble plume
#

Time is money

slate swan
nimble plume
#

Ok

#

Lol

slate swan
#

so its completely fine, we help with dumb probelms too

nimble plume
#

My bot is slow

slate swan
nimble plume
#

Is heroku good

#

I want a free good bot hosting

#

Nvmd

nimble plume
slate swan
#

if your pc is slow , reduce the numbers of task

nimble plume
#

Vs code and google only working

#

..

slate swan
#

Also , I'd never host my bot at a development stage
Just saying

nimble plume
#

Ill also host after fully completed

slate swan
#

in that case , check pins

nimble plume
#

Ok

slate swan
#

the 4 message from newer

nimble plume
#

So much pins eh

pine crown
#
embed=disnake.Embed(color=0x8400a8, title="Bot Stats", description="This bot is currently on " +str(len(client.guilds)) " servers.")

Why at the firt breacket it says that it is not closed

#

e

#

e

#

e

pine crown
pine crown
#

nvm

heavy folio
#

and also uh

#

!e ```py
text = "is"
print("This " + text "a string")

unkempt canyonBOT
#

@heavy folio :x: Your eval job has completed with return code 1.

001 |   File "<string>", line 2
002 |     print("This " + text "a string")
003 |           ^^^^^^^^^^^^^^^^^^^^^^^^^
004 | SyntaxError: invalid syntax. Perhaps you forgot a comma?
heavy folio
#

see that? you missed a + but anyways use f strings

maiden fable
slate swan
pine crown
#

ok

slate swan
slate swan
maiden fable
#

Not a problem from my side

slate swan
slate swan
maiden fable
#

It's my friend's VPS

slate swan
maiden fable
#

I don't really flex but okay

slate swan
#

cof cof cap

maiden fable
#

Someone just ask where I host the bot and I tell them the truth

#

I don't see hows that flex ¯_(ツ)_/¯

slate swan
pine crown
maiden fable
pine crown
#

bulldog

maiden fable
#

Bruh

pine crown
maiden fable
#

She didn't bully you...?

slate swan
#

this channel today is too boring and ot tbh

maiden fable
#

Yea

pine crown
#

can any of u guys make me code for zoom cuz i wanna recreate zoom just dm me if u done with it

maiden fable
#

Also I'm getting -ve vibes from this channel for some reason

pine crown
tawdry perch
#

Wut

maiden fable
#

what do you even mean

pine crown
#

code for me a program

#

like zoom

slate swan
#

zoom , as in the zoom app?

pine crown
#

yes

slate swan
#

💀

pine crown
#

just send me when u done

maiden fable
#

And?

tawdry perch
#

I can make one but I'll keep it myself

pine crown
#

and i will put your name on the botom of program

#

and mine on top

maiden fable
slate swan
pine crown
slate swan
#

stop pls

pine crown
#

stap what

maiden fable
#

@pine crown stop before I ping the mods, thanks

#

U r the one here who's trolling

pine crown
#

what did i do blobconcerned

slate swan
maiden fable
#

You know it very well

pine crown
#

n

slate swan
#

cof cof

#

im out , bye

pine crown
pine crown
#

thx

#

jk

slate swan
#

stop it please , its getting annoying 🙏

#

and i wont step back pinging a mod or blocking you

maiden fable
#

Dude

pine crown
#

what?

maiden fable
#

Stop now, I'm being serious. I won't hesitate to ping the mods now

pine crown
#

i already stopped

fervent shard
#

why wouldn't this work???

@bot.command()
@commands.has_permissions(manage_messages=True)
async def dm(ctx, member : discord.Member,*,reason=None):
 if member == ctx.author:
    em2 = discord.Embed(description=f"**you** cannot send a `dm` to yourself", colour=discord.Colour.red())
    await ctx.send(embed=em2)

 else:
    em2 = discord.Embed(description=f"the `dm` has been **sent** to {member.mention}", colour=discord.Colour.green())
    em1 = discord.Embed(description=f"{member.author} has **sent** a `dm` to you through the bot", colour=0)
    em3 = discord.Embed(description=f"{reason}", colour=0)
    await ctx.send(embed=em2)
    await member.send(embed=em1)
    await member.send(embed=em3)```
pine crown
#

hm

maiden fable
#

What's the error

fervent shard
pine crown
#

hm

maiden fable
#

U got an error handler?

fervent shard
maiden fable
#

An on_command_error event

fervent shard
maiden fable
#

Hmm

#

How r u using the command?

fervent shard
slate swan
#

so the embed3 fails

maiden fable
pine crown
#

what does it say when u do the command

fervent shard
maiden fable
#

!e print(f'{None}')

unkempt canyonBOT
#

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

None
slate swan
#

no ig

maiden fable
#

I think the color kwarg is the issue

#

Try removing it

#

Tho it shouldn't be one

slate swan
#

it would be same as 0x00000 which is black

fervent shard
maiden fable
#

Hmm

#

Never knew ngl

slate swan
#

!e print(0x00000)

maiden fable
#

print

slate swan
#

im not gonna edit it now

nimble plume
#

!purge

maiden fable
#

Then resend it

nimble plume
#

..

unkempt canyonBOT
#

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

0
maiden fable
#

Hmm

nimble plume
#

!purge

#

Purge help

maiden fable
#

Wrong chat bruv

slate swan
#

why do you think this will work?

pine crown
#

!e printz9

nimble plume
#

I want purge docs

#

!e purge

unkempt canyonBOT
#

@nimble plume :x: Your eval job has completed with return code 1.

001 | Traceback (most recent call last):
002 |   File "<string>", line 1, in <module>
003 | NameError: name 'purge' is not defined
slate swan
unkempt canyonBOT
#

await purge(*, limit=100, check=..., before=None, after=None, around=None, oldest_first=False, bulk=True)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Purges a list of messages that meet the criteria given by the predicate `check`. If a `check` is not provided then all messages are deleted without discrimination.

You must have the [`manage_messages`](https://discordpy.readthedocs.io/en/master/api.html#discord.Permissions.manage_messages "discord.Permissions.manage_messages") permission to delete messages even if they are your own. The [`read_message_history`](https://discordpy.readthedocs.io/en/master/api.html#discord.Permissions.read_message_history "discord.Permissions.read_message_history") permission is also needed to retrieve message history.

Examples

Deleting bot’s messages...
rocky trench
#
    @commands.command()
    async def userid(self,ctx, id : int = None):
        if id is None:
            return
        date_format = "%a, %d %b %Y %I:%M %p"
        user = self.bot.get_user(id) or await self.bot.fetch_user(id)
        embed = discord.Embed(color=0x3498db, description=user.name)
        embed.set_author(name=str(user), icon_url=user.avatar.url)
        embed.add_field(name="Registered", value=user.created_at.strftime(date_format))
        await ctx.send(embed=embed)```
#

no errors, just doesnt work

maiden fable
#

Rip

nimble plume
#

how to get text channel in cyx

slate swan
pine crown
#

why does everyone say this even i said it b4 lol

nimble plume
#

Ctx*

rocky trench
fervent shard
slate swan
nimble plume
maiden fable
#

I'll just go and grab something to eat, best of luck helping them, Sarthak

slate swan
pine crown
#

lol

fervent shard
rocky trench
#
    @commands.command()
    async def userid(self,ctx, id : int = None):
        if id is None:
            return
        date_format = "%a, %d %b %Y %I:%M %p"
        user = self.bot.get_user(id) or await self.bot.fetch_user(id)
        embed = discord.Embed(color=0x3498db, description=user.name)
        embed.set_author(name=str(user), icon_url=user.avatar.url)
        embed.add_field(name="Registered", value=user.created_at.strftime(date_format))
        await ctx.send(embed=embed)```
no errors, just doesnt work
slate swan
slate swan
rocky trench
slate swan
#

and why use ids when you can just use discord.User typehint

#

it accepts id too

rocky trench
#

thats easier

slate swan
#

no?

rocky trench
#

I mean the thing you sent*

slate swan
#

yea

rocky trench
#

still not working, no errors

fervent shard
nimble plume
#

Help purge not working

slate swan
fervent shard
slate swan
#

also , do other commands work?

nimble plume
#

await ctx.channel.purge(limit=1)

fervent shard
rocky trench
#

lemme test

fervent shard
rocky trench
#

they dont work either

pine crown
#

or maybe u can put a print() at the end of the command to check if the code even goes thru

nimble plume
#

Help

rocky trench
#
for extension in initial_extensions:
    bot.load_extension(extension)
    print(f'loaded {extension}')```
slate swan
#

it isnt getting loaded properly

pine crown
slate swan
#

¯_(ツ)_/¯

slate swan
rocky trench
#
def setup(bot):
    bot.add_cog(warns(bot))```
rocky trench
slate swan
#

are other cogs and commands working?

pine crown
rocky trench
#

yeah i got an on message

slate swan
#

if none of them work , read the on_message faq

rocky trench
#

tried making mod mail

fervent shard
final iron
pine crown
pine crown
nimble plume
# fervent shard ur whole command, not one line
@commands.guild_only()
@bot.command(name="clear")
async def clear(ctx, * , int1):
     if int1 is None:
      s = discord.Embed(title="Pls specify a integer",color=red)
      await ctx.send(embed=s)

     # elif type(int1) is not int:
     #  s = discord.Embed(title="Pls specify a integersss",color=red)
     #  await ctx.send(embed=s)
     
     else:
           try:
                 await ctx.channel.purge(limit=int1)
                 s = discord.Embed(title=f"Deleted {int1} Messages",color=green)
                 await ctx.send(embed=s)
           except:      
                 s = discord.Embed(title="Cannot delete msg",color=red)
                 await ctx.send(embed=s)
final iron
slate swan
#

¯_(ツ)_/¯

pine crown
#

well i just finished a bot without cogs-

fervent shard
slate swan
pine crown
#

doesnt have alot of command tho

rocky trench
#

alright, got an error now

final iron
slate swan
#

welcome to the gang , hope you wont be rewriting the bot 4th time

rocky trench
#

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In user_id: Value "Necro" is not snowflake. the user id's name was necro

pine crown
fervent shard
rocky trench
slate swan
slate swan
rocky trench
pine crown
slate swan
rocky trench
#
    @commands.command()
    async def userid(self,ctx, user : discord.User = None):
        if user is None:
            return
        date_format = "%a, %d %b %Y %I:%M %p"
        user = self.bot.get_user(user) or await self.bot.fetch_user(user)
        embed = discord.Embed(color=0x3498db, description=user.name)
        embed.set_author(name=str(user), icon_url=user.avatar.url)
        embed.add_field(name="Registered", value=user.created_at.strftime(date_format))
        await ctx.send(embed=embed)```
final iron
# fervent shard no?

Yes. Your code is going to be incredibly unorganized and your help command is going to be shit

slate swan
#

whats the issue ¯_(ツ)_/¯

slate swan
slate swan
#

just use the user

rocky trench
fervent shard
slate swan
rocky trench
#

alr my bad, couldve known that since I use a lot of discord.object

fervent shard
nimble plume
slate swan
final iron
nimble plume
fervent shard
nimble plume
#

Administration

fervent shard
slate swan
slate swan
pine crown
#

wat is a modmail

nimble plume
slate swan
#

lol

pine crown
pine crown
slate swan
#

uh

pine crown
#

i do that if i accidently type w to hide it

fervent shard
slate swan
slate swan
maiden fable
slate swan
#

sorry for the ping whoever it was lol

#

lol

pine crown
#

lol

slim ibex
#

A name 💀

maiden fable
slate swan
pine crown
#

xd

final iron
maiden fable
pine crown
slate swan
pine crown
slate swan
#

beautiful

nimble plume
#

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: '>' not supported between instances of 'str' and 'int'
Ignoring exception

maiden fable
slate swan
nimble plume
#

Okk..

pine crown
slate swan
#

cof cof can we not fight?

#

Exit well , am gonna study now
so bbye

slate swan
maiden fable
fervent shard
slate swan
maiden fable
pine crown
maiden fable
maiden fable
slate swan
#

guys guys

#

!ot

unkempt canyonBOT
slate swan
#

thank me later

maiden fable
#

yea yea

pine crown
#

whats a hemlock

fervent shard
maiden fable
#

He's a mod...

pine crown
#

ohh

fervent shard
#

oh

slim ibex
#

it’s from apex legends

pine crown
#

what

slate swan
slim ibex
#

^

slate swan
#

who even listens to me after all ¯_(ツ)_/¯

slim ibex
#

da fuck

pine crown
#

me

#

totally

fervent shard
pine crown
#

client.warnings = {}

#

oops

#

wrong chat

maiden fable
pine crown
#

!ot

unkempt canyonBOT
slate swan
quaint scaffold
#

too uwu?

maiden fable
slate swan
slate swan
quaint scaffold
#

sure

maiden fable
cobalt jacinth
#

can i do such that only admin and role abc can run a command

slim ibex
#

ytes

#

!d discord.ext.commands.has_role

unkempt canyonBOT
#

@discord.ext.commands.has_role(item)```
A [`check()`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.check "discord.ext.commands.check") that is added that checks if the member invoking the command has the role specified via the name or ID specified.

If a string is specified, you must give the exact name of the role, including caps and spelling.

If an integer is specified, you must give the exact snowflake ID of the role.

If the message is invoked in a private message context then the check will return `False`.

This check raises one of two special exceptions, [`MissingRole`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.MissingRole "discord.ext.commands.MissingRole") if the user is missing a role, or [`NoPrivateMessage`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.NoPrivateMessage "discord.ext.commands.NoPrivateMessage") if it is used in a private message. Both inherit from [`CheckFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckFailure "discord.ext.commands.CheckFailure").

Changed in version 1.1: Raise [`MissingRole`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.MissingRole "discord.ext.commands.MissingRole") or [`NoPrivateMessage`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.NoPrivateMessage "discord.ext.commands.NoPrivateMessage") instead of generic [`CheckFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckFailure "discord.ext.commands.CheckFailure")
slim ibex
#

!d discord.ext.commands.bot_has_any_role

unkempt canyonBOT
#

@discord.ext.commands.bot_has_any_role(*items)```
Similar to [`has_any_role()`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.has_any_role "discord.ext.commands.has_any_role") except checks if the bot itself has any of the roles listed.

This check raises one of two special exceptions, [`BotMissingAnyRole`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.BotMissingAnyRole "discord.ext.commands.BotMissingAnyRole") if the bot is missing all roles, or [`NoPrivateMessage`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.NoPrivateMessage "discord.ext.commands.NoPrivateMessage") if it is used in a private message. Both inherit from [`CheckFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckFailure "discord.ext.commands.CheckFailure").

Changed in version 1.1: Raise [`BotMissingAnyRole`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.BotMissingAnyRole "discord.ext.commands.BotMissingAnyRole") or [`NoPrivateMessage`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.NoPrivateMessage "discord.ext.commands.NoPrivateMessage") instead of generic checkfailure
slim ibex
#

has_role*

cobalt jacinth
#

ahhh i give mutiple roles

slim ibex
#

use has any role

#

because it cna take in X number of arguments as args

#

!d discord.ext.commands.has_any_role

unkempt canyonBOT
#

@discord.ext.commands.has_any_role(*items)```
A [`check()`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.check "discord.ext.commands.check") that is added that checks if the member invoking the command has **any** of the roles specified. This means that if they have one out of the three roles specified, then this check will return True.

Similar to [`has_role()`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.has_role "discord.ext.commands.has_role"), the names or IDs passed in must be exact.

This check raises one of two special exceptions, [`MissingAnyRole`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.MissingAnyRole "discord.ext.commands.MissingAnyRole") if the user is missing all roles, or [`NoPrivateMessage`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.NoPrivateMessage "discord.ext.commands.NoPrivateMessage") if it is used in a private message. Both inherit from [`CheckFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckFailure "discord.ext.commands.CheckFailure").

Changed in version 1.1: Raise [`MissingAnyRole`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.MissingAnyRole "discord.ext.commands.MissingAnyRole") or [`NoPrivateMessage`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.NoPrivateMessage "discord.ext.commands.NoPrivateMessage") instead of generic [`CheckFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckFailure "discord.ext.commands.CheckFailure")
cobalt jacinth
#

@commands.has_permissions(administrator=True)
or
@commands.has_role('abc')

#

can i do like this

slim ibex
#

either is fine

cobalt jacinth
#

i wanna do like admin can use this command or if the guy has this specific role...i dont know if the server has admin role available

slim ibex
#

administrator is a permission

cobalt jacinth
#

but i can also be a role right ?

#

@commands.has_role('admin') does that work if there is no role named admin

slim ibex
#

no

cobalt jacinth
#

so how can i do like the user has admin permission or has abc role

slim ibex
#

the check will fail if there is no admin role

#
@commands.has_permissions(administrator=True)
@commands.has_role('abc')
#

you can also put the ID of roles in has_role

cobalt jacinth
slim ibex
#

has permissions checks the permissions of the channel the command is being executed in

#

has role checks to see if the user has that role

cobalt jacinth
#

thats means user needs both admin permission and the role abc right ?

slim ibex
#

ye

cobalt jacinth
#

how can do i do either or

slim ibex
#

you can do one or the other or both

#

I’d prolly just do permissions

slate swan
#

!d discord.ext.commands.check_any

unkempt canyonBOT
#

@discord.ext.commands.check_any(*checks)```
A [`check()`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.check "discord.ext.commands.check") that is added that checks if any of the checks passed will pass, i.e. using logical OR.

If all checks fail then [`CheckAnyFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckAnyFailure "discord.ext.commands.CheckAnyFailure") is raised to signal the failure. It inherits from [`CheckFailure`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.CheckFailure "discord.ext.commands.CheckFailure").

Note

The `predicate` attribute for this function **is** a coroutine.

New in version 1.3.
slim ibex
#

Since not every guild will have the abc role

slate swan
#

use this to check any of case

slim ibex
cobalt jacinth
#

kk so i can pass a function in it and in that function my either or statement

slate swan
#
@check_any(has_role(), has_permissions())
main current
#

hey

#

why does "on_message" doesn't work ?

slate swan
#

Your code, and the issue you face

#

It's oudated code

main current
#

oh ok

#

(I can't print message.content or anything else)

slate swan
#

Arey you watching some tutorial?

main current
#

nah

#

I was writting bot in 2019/2020

slate swan
#

Ah

main current
#

that's maybe the reason

slim ibex
#

yeah a lot has changed

slate swan
#

well then you should check out the new changes

#

!d discord

unkempt canyonBOT
#

In order to work with the library and the Discord API in general, we must first create a Discord Bot account.

Creating a Bot account is a pretty straightforward process.

potent spear
#

actually

spring flax
#

is there any good module for translating text into languages? Like any language that is detected the message is in it will translate to english

main current
slate swan
#

hey guys, i am thinking of making an ai chatbot but i am concerned whether should i use the on_message event for it or something else(sorry for bad english)

slate swan
main current
slate swan
slate swan
main current
#

ok wait

slate swan
#

And i don't see print(message.content) there

slate swan
main current
#

just some modification (already tried to print message.content and it doesn't print anything)

slim ibex
#

wild card import oh no

slate swan
main current
cobalt jacinth
spring flax
slate swan
slate swan
main current
spring flax
#

also, to process commands you need await client.process_commands(message) underneath (given you don't want to put @bot.listen()

slate swan
spring flax
#

look at what I just showed

main current
full lily
#

The order of these matters

slate swan
#

thank you very much for your help, i'd love to ask hunter about it

spring flax
main current
#

it works

#

can I handle private messages ?

spring flax
#

of course

main current
#

thanks

final iron
lament mesa
potent spear
slate swan
#

yes sir im thinking of using a db as well

potent spear
#

that's your most efficient option

slate swan
#

but for replies & message content fetching, i can't decide whether should i use on_message or other function

spring flax
#

what other function would you use?

slate swan
#

but i am concerned with the speed

spring flax
#

there aren't any others

final iron
spring flax
#

that I know, at least

slate swan
final iron
#

If you're looking for speed, python is not what you're looking for

slate swan
#

i know that sir, but currently python is the only language i know and i am more concerned about the load other than the speed itself

#

imagine running a bot on only one function

slim ibex
#

if you want a faster language learn like rust or cpp

slate swan
#

if you use node it will be faster and lighter. And that's not something too hard to learn

potent spear
slim ibex
#

^

potent spear
#

it wouldn't exist if it couldn't handle that

slim ibex
#

I mean it’s needed for things like leveling

#

Which most bots have

potent spear
#

yup, and you bet your ass leveling is more called than commands

slim ibex
#

^

slate swan
#

i mean , the commands run on on_message events itself.

#

*On_message

slate swan
potent spear
#

whenever word X/sentence that looks like Y is said, respond, that's on_message stuff, yes

slate swan
#

yeah that could be a problem

potent spear
#

not at all

#

those are all simple DB queries

slate swan
#

and all other people who helped as well

#

have a very very good day!

slim ibex
#

👍

brave flint
#

why this error shown?:
TypeError: string indices must be integers

maiden fable
#

Can you print wallet?

#

Seems like it's a list of strings

brave flint
#

yes

maiden fable
#

Then u can't do result["wallet"]

#

Since it's the same as doing "Some String"["wallet"]

brave flint
maiden fable
#

Hmm it's an int

#

Wait it works now?

#

Weirddd

brave flint
#

well the amount is 100%int

#

not str

brave flint
#

that why u see 2 output printed

maiden fable
brave flint
#

well wait

#

if i get the db it will give {'_id': 838640428060246046, 'bank': 0, 'wallet': 1204}

#

i only want the 1204 as int

maiden fable
#

Hmm

#

Try print in result

brave flint
maiden fable
#

Hmm so it's a dict

#

Then result["wallet"] Should work

brave flint
maiden fable
#

???

brave flint
meager creek
#

👀

#

help

#

how to make the bot put reactions to all messages in a separate text channel

potent spear
slate swan
#

Currently, which is the best library to make Discord bots?

slim ibex
#

id use nextcord or disnake

#

But there are other libs like Hikari and Pincer that are in alpha

#

They have tons more features

slate swan
slim ibex
#

No

#

only nextcord and disnake are dpy forks

slate swan
#

Thanks for the info!

slim ibex
#

np

cobalt jacinth
#
def checkfor(ctx):
    allow = False
    for i in ctx.author.roles:
        try:
            i = i.lower()
        except:
            pass
        if "support" == i:
            allow = True
    if ctx.author.guild_permissions.administrator or allow:
        return True
    return False

@bot.command(name='test')
async def hahaha(ctx):
    if checkfor(ctx):
        await ctx.send("yeahhhh")
#

any fault ?

potent spear
#

just use a custom check

cobalt jacinth
#

whats that

potent spear
#

read the whole function pls, there are multiple examples

cobalt jacinth
#
def checkfor(ctx):
    allow = False
    for i in ctx.author.roles:
        try:
            i = i.lower()
        except:
            pass
        if "support" == i:
            allow = True
    if ctx.author.guild_permissions.administrator or allow:
        return True
    return False

@commands.check(checkfor)
@bot.command(name='test')
async def hahaha(ctx):
    await ctx.send("yeahhhh")
#

like this ?

boreal ravine
#

i.lower() would make perfect sense won't it

cobalt jacinth
#

yeah i did that ..i added try incase any role has a number in it

spring flax
#

If you want it to make the name lowercase, do

for i in ctx.author.roles:
  var = i.name.lower()
final iron
#

Or does it not matter

slate swan
#

how can I compare the emoji of a reaction to a custom emoji of a server?

cobalt jacinth
slate swan
#

hey, how can i retrive info from my bot in a cog file?

#

like - bot.members

quick gust
#

self.bot.members

slate swan
#

oh, thanks

quick gust
#

^

spring flax
slate swan
#

is that a thing?

#

oh nevermind , they asked it

quick gust
#

yeah

#

idek if it is

spring flax
#

it's not from what I know, but they probably made a bot variable for it

#

there's bot.users though

cobalt jacinth
honest shoal
#

anyone know how to loa jishaku in disnake

slate swan
unkempt canyonBOT
quaint epoch
#

if i want to check when a message is deleted, should i use on_message_delete or on_raw_message_delete

final iron
#

Check the docs

manic wing
#

imagine using jishaku

final iron
#

It's broken af

slate swan
slate swan
finite cobalt
#

Can i Voice channel get an other id. When something is changed?

slate swan
honest vessel
#

just use decoration with has_role()

#

@cobalt jacinth

honest vessel
finite cobalt
#

Sometimes my bot won't do his command. I dont know why

cerulean quest
#

How to make a discord bot send a specific image on command?

pallid mango
#

so we are trying to use a ship command for our fun configs but, we can restart the bot and the command only works once

#

File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 542, in transform we keep getting errors like this

finite cobalt
cerulean quest
#

?

finite cobalt
unkempt canyonBOT
#

class discord.File(fp, filename=None, *, spoiler=False)```
A parameter object used for [`abc.Messageable.send()`](https://discordpy.readthedocs.io/en/master/api.html#discord.abc.Messageable.send "discord.abc.Messageable.send") for sending file objects.

Note

File objects are single use and are not meant to be reused in multiple [`abc.Messageable.send()`](https://discordpy.readthedocs.io/en/master/api.html#discord.abc.Messageable.send "discord.abc.Messageable.send")s.
slate swan
#

.send() takes a file kwarg

#

use a discord.File object there . with the path to the file

maiden fable
#

Hmm

#

Idk

#

I don't use DBs, I use discdb

#

Depends on the size of the bot

remote furnace
#

is python bot ezz to do?

#

or javascript is easy

sage otter
#

It’s all preference

#

Use whatever you’re comfortable in.

remote furnace
#

emagine u dont know any of codes

#

witch language did u choose?

sage otter
#

Python

slate swan
#

ill choose to learn code first 🙋‍♂️

sage otter
#

in which language

remote furnace
#

:DDD u re right

#

how did i learn code?

sage otter
#

You don’t learn how to code without learning a coding/programming language

slate swan
#

!resources

unkempt canyonBOT
#
Resources

The Resources page on our website contains a list of hand-selected learning resources that we regularly recommend to both beginners and experts.

slate swan
#

for py

remote furnace
#

i wanna create game like minecraft and like fortnite

#

c++ and java helps?

sage otter
#

Unreal engine

slate swan
#

yep

remote furnace
sage otter
#

idk

#

I’m not experienced in game development

#

But unity is c#

remote furnace
#

oh

#

i know small codes in python and javascript

#

in python using pygamei created 2 games like ping pong and snake game

#

and i create 2 type of calculator

maiden fable
#

I just like how there are talks about every topic here except python discord bots

remote furnace
#

and in javascript i create discord bot, which can mute member, kick and ban member, embeds

sage otter
#

It do tend to be that way. Learn the ways of this channel.

maiden fable
remote furnace
#

wrong chat

maiden fable
#

Just a general talk, wasn't targeted towards you

#

No hate

remote furnace
#

where is general

sage otter
#

I still took it personal. I hate you Hunter <\3

remote furnace
#

i cant find it

sage otter
remote furnace
#

there is too many channels

#

k ty

maiden fable
#

He gonna make you uwu me

sage otter
maiden fable
#

Ik its annoying sigh

tidal hawk
#

What's most used method for creating Discord reminders

maiden fable
#

Events

#

If that is for the whole server

tidal hawk
#

After restarting the bot, it resets those events.. right?

maiden fable
#

No

#

This event lol

tidal hawk
#

A lol

#

I mean creating events with bot

maiden fable
#

Mhm

#

Bruh rip

slate swan
slate swan
maiden fable
tidal hawk
#

User created reminders example: .remind 25/1/2022 blabla

low pollen
#

how to add multiple lines in 1 string like

await ctx.send("...
...")
slate swan
slate swan
#

and then use a task.loop which runs each day

slate swan
#

if the datetime is same as current datetime , send the message

edgy lion
#
    @commands.Cog.listener()
    async def on_guild_channel_update(self, before, after):
        async with aiohttp.ClientSession() as session:
            async with self.db.execute(
                    f"SELECT webhook, guild_id from 'logging' where guild_id = {before.guild.id}",
            ) as cursor:
                config = await cursor.fetchone()

            if config is not None:
                webhook = Webhook.from_url(config[0], adapter=AsyncWebhookAdapter(session))
                if before.guild.id == int(config[1]):
                    async for entry in before.guild.audit_logs(action=discord.AuditLogAction.channel_update,
                                                               oldest_first=False):
                        embed = discord.Embed(
                            description=f'Channel was updated ({after.mention})',
                            color=discord.Color.dark_theme()
                        )
                        embed.set_author(name=entry.user, icon_url=entry.user.avatar_url)
                        embed.timestamp = datetime.datetime.utcnow()
                        embed.set_footer(text=f'{self.bot.user}', icon_url=self.bot.user.avatar_url)
                        embed.add_field(name='Creation date', value=f'<t:{round(before.created_at.timestamp())}:D>',
                                        inline=False)

                         if before.overwrites != after.overwrites:
                            if before.overwrites > after.overwrites:
                                        before_overwrites = [i for i in before.overwrites]
                                        after_overwrites = [i for i in after.overwrites]
                                        for after_overwrites in after_overwrites:
                                            if not after_overwrites in before_overwrites:
                                                new_overwrites = after_overwrites
                                        embed.add_field(
                                            name="overwrites",
                                            value=f"+ {new_overwrites}",
                                            inline=True
                                        )
                             else:
                                        before_overwrites = [i for i in before.overwrites]
                                        after_overwrites = [i for i in after.overwrites]
                                        for before_overwrites in before_overwrites:
                                            if not before_overwrites in after_overwrites:
                                                new_overwrites = before_overwrites
                                        embed.add_field(
                                            name="overwrites",
                                            value=f"- {new_overwrites}",
                                            inline=True
                                        )
                        await webhook.send(embed=embed)```does anyone know why the field is not added, although I add a permission to a channel
tidal hawk
#

Well i want to add minutes & hours aswell

#

it's gonna get more difficult

slate swan
#

!pypi time-str

unkempt canyonBOT
tidal hawk
#

thought of using some sort of sched python pagage

tidal hawk
#

But how do I make code execute it precisely on time? @tasks.loop(seconds=1) xd

slate swan
#

you can compare datetime objects

#

and see if the difference between those datetime is not more than 1

tidal hawk
#

hm

safe fulcrum
#

Hello, I'm not able to import discord.ui

#

Solutions?

#

!discord.ui

#

!pypi discord.ui

unkempt canyonBOT
slate swan
#

thats not how imports in python work

low pollen
safe fulcrum
#

@slate swan

slate swan
slate swan
safe fulcrum
slate swan
#

you used the commands in dms

glass tundra
safe fulcrum
low pollen
slate swan
slate swan
low pollen
glass tundra
slate swan
#

oh wait , what's id there?

glass tundra
#

I'm lost again, lol

safe fulcrum
#

discord==1.0.1
discord-components==2.1.2
discord-py-slash-command==3.0.3
discord-ui==5.1.6
discord.py==1.7.2

slate swan
unkempt canyonBOT
#

class discord.ui.Button(*, style=<ButtonStyle.secondary: 2>, label=None, disabled=False, custom_id=None, url=None, emoji=None, row=None)```
Represents a UI button.

New in version 2.0.
slate swan
glass tundra
#

oooh, make sense

slate swan
#

the id is either wrong , or you used string form of the id?

slate swan
#

why dont u just ctx.guild?

#

and you have a guild argument already there? , just provide the id while using the command

slate swan
#

id is a function name in python! dont use it as a variable

restive needle
#

I think he meant like "id" is a function and you should change the "id" to a var

#

because from his sentence i think he meant like you are using the "id" function of original python

#

i think you need to make like guild.id or sum

edgy lion
#
    @commands.Cog.listener()
    async def on_guild_channel_update(self, before, after):
        async with aiohttp.ClientSession() as session:
            async with self.db.execute(
                    f"SELECT webhook, guild_id from 'logging' where guild_id = {before.guild.id}",
            ) as cursor:
                config = await cursor.fetchone()

            if config is not None:
                webhook = Webhook.from_url(config[0], adapter=AsyncWebhookAdapter(session))
                if before.guild.id == int(config[1]):
                    async for entry in before.guild.audit_logs(action=discord.AuditLogAction.channel_update,
                                                               oldest_first=False):
                        embed = discord.Embed(
                            description=f'Channel was updated ({after.mention})',
                            color=discord.Color.dark_theme()
                        )
                        embed.set_author(name=entry.user, icon_url=entry.user.avatar_url)
                        embed.timestamp = datetime.datetime.utcnow()
                        embed.set_footer(text=f'{self.bot.user}', icon_url=self.bot.user.avatar_url)
                        embed.add_field(name='Creation date', value=f'<t:{round(before.created_at.timestamp())}:D>',
                                        inline=False)

                         if before.overwrites != after.overwrites:
                            if before.overwrites > after.overwrites:
                                        before_overwrites = [i for i in before.overwrites]
                                        after_overwrites = [i for i in after.overwrites]
                                        for after_overwrites in after_overwrites:
                                            if not after_overwrites in before_overwrites:
                                                new_overwrites = after_overwrites
                                        embed.add_field(
                                            name="overwrites",
                                            value=f"+ {new_overwrites}",
                                            inline=True
                                        )
                             else:
                                        before_overwrites = [i for i in before.overwrites]
                                        after_overwrites = [i for i in after.overwrites]
                                        for before_overwrites in before_overwrites:
                                            if not before_overwrites in after_overwrites:
                                                new_overwrites = before_overwrites
                                        embed.add_field(
                                            name="overwrites",
                                            value=f"- {new_overwrites}",
                                            inline=True
                                        )
                        await webhook.send(embed=embed)```does anyone know why the field is not added, although I add a permission to a channel
restive needle
#

No problem haha

#

No

#

The guild works like It checks

#

In what servers the bot is and then makes the move like if you want to get a guild id from a server you are in but the bot is not in it won't work

manic wing
manic wing
#

noone actually fixes bots

tidal hawk
slate swan
#

None

#

use a fork.

tidal hawk
#

wdym

#

nextcord?

final iron
manic wing
tidal hawk
#

hey don't judge me

manic wing
#

use disnake and disnake-debug while you're at it pithink

tidal hawk
#

what are the advantages of disnake over nextcord?

manic wing
#

everything.

#

you get access to disnake-debug and disnake-jishaku

#

better maintainers, collaborators and docs

tidal hawk
#

okay

manic wing
#

slash command support with good examples

#

superior

tidal hawk
#

alright man xd

#

thanks

cold sonnet
#

how did I start making a discord bot and my token's getting glitched

#

just how

#

oh well I found it and we ain't gonna talk about it

maiden fable
#

Talk about it

tender estuary
#

I guess I won't regret it?

cold sonnet
#

well yes I will

#

it was cuz of the new looking dev portal

#

it confused me

potent spear
#

probably a user bot, dev portal is still the same

cold sonnet
#

no cuz oauth2 has a new tab

#

it was taken into two tabs

#

it's enough to confuse me

elfin flint
#

any pycord users here?

slate swan
elfin flint
slate swan
rocky trench
#

is there a way to check for users in the voice channel the bot is in? (so if the bot is the last person in a voice channel)

final iron
elfin flint
final iron
elfin flint
#

ic

slate swan
#

lets not start again

elfin flint
final iron
#

Even Danny has said he doesn't like pycord

elfin flint
#

it just adds slash commands and a few other things

slate swan
#

That's the only part that' sucks.

elfin flint
fresh orchid
#

how to get in a json file like this a thing that just prints the messages but not the ids

{"695229645021015040": {"messages": 17639}, "618741491932266506": {"messages": 318}, "884492383923339295": {"messages": 1334}